Hatena::ブログ(Diary)

nigredoな日々 〜 arcanum.jpの出張所 〜 このページをアンテナに追加

訪問、ありがとうございます。こちらは古いブログで、2011/01以降は下記のブログが新しいURLになります。
http://d.hatena.ne.jp/arcanum_jp
 

2011-01-16

引っ越します(id:arcanum_jpになります)

 ブログのIDを変えました。今後ともよろしくお願いします。


新しいブログのURL http://d.hatena.ne.jp/arcanum_jp
ツイッター arcanum_jp
サイト http://arcanum.jp

2011-01-09

Twitter botが作りたい。

 コミッターのサイトに載っていたので、広まるようにメモ

 Twitterj4を使っていて、ダイレクトメッセージを流すところでこんなエラー

Exception in thread "Twitter Stream consumer-1[Receiving stream]" java.lang.NumberFormatException: For input string: "2156851464"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
	at java.lang.Integer.parseInt(Integer.java:459)
	at java.lang.Integer.valueOf(Integer.java:553)
	at twitter4j.internal.util.ParseUtil.getInt(ParseUtil.java:120)
	at twitter4j.DirectMessageJSONImpl.init(DirectMessageJSONImpl.java:63)
	at twitter4j.DirectMessageJSONImpl.<init>(DirectMessageJSONImpl.java:60)
	at twitter4j.AbstractStreamImplementation.asDirectMessage(AbstractStreamImplementation.java:194)
	at twitter4j.UserStreamImpl.onDirectMessage(UserStreamImpl.java:88)
	at twitter4j.AbstractStreamImplementation.handleNextElement(AbstractStreamImplementation.java:89)
	at twitter4j.UserStreamImpl.next(UserStreamImpl.java:63)
	at twitter4j.TwitterStream$TwitterStreamConsumer.run(TwitterStream.java:621)

 後で探していたら下記のページで見つけました。知らないにも程がありますが、このページが作者のページだったんですね。今度チェックしてみます。あと、メーリングに入りましょう!

特に事前に騒がれてはいなかったのですが今日TwitterのダイレクトメッセージのIDが

符号付き32bitの最大値(=2147483647、約21億)を超えました。もう一つのTwitpocalypseですね。

http://samuraism.jp/diary/2011/01/06/1294312500000.html

 僕の使っていたTwitter4jは2.1.8、氏によると対応した最新版である2.1.10を使うといいそうです。しかし、21億って・・・ダイレクトメッセージなんてあんまり使わないと思っていたけど、凄いですね。2010年9月時点で世界でTwitterのユーザー数1億4000万以を超えているってのを見れば、一人20回ぐらいダイレクトメッセージでつぶやけば簡単に21億いっちゃいますね。(アクティブユーザーはもっと少ないんだろうけど)


ツイッターは140文字制限を特徴とするマイクロブログサービスだが、

このサービスを利用する1億4500万人(もしくは少なくとも1億4500万個のアカウント)の

ユーザーは、このサービスだけでは満足することが出来ず、・・・

http://jp.blogherald.com/2010/09/06/twitter-reaches-125-million-users-300-thousand-apps/

メーリング http://twitter4j.org/ja/index.html#mailingList

2011-01-03

ポチ袋を作ってみた

 正月って言うと、僕達の払う税金・・・いや、お年玉が待っていますが、そのお金を入れる袋に何か工夫してみたいと思い、こちらのサイトを参考にポチ袋を作ってみました。

A4用紙で作ることができる「祝ひ袋」や「ぽち袋」などのA4折形の作品です。

紙を折り重ねることで奥行きを表し、季節や情景を表す “かさね色” や “文様” をあしらい、心遣いに季節感や縁起を添えます。

http://www.a4orikata.jp/

 結果としては、姪や甥はサッパリ気付いてくれなくて、orz...で、苦労した割には気付いてくれないし、カミさんは文句垂れるしと散々でしたが、その気付かれないところに意識するのが江戸っ子の粋ってもんでしょう。


 結構面白いです。コツとしては、サイトでダウンロードできるpdfを印刷して線通りにカッチリ折ってもうまく折れません。はじめ、線に沿って爪で慣らすように折っていて、なんできれいに折れないんだろうと思っていましたが、最期にはお金が入るので、線あたりでふわっと折って、紙をしっかける(引っ掛ける)ように折ると結構うまくいきます。下の写真は、シロートが作ったものなので、ちょっとずれているのはご勘弁ですが、紙の厚みを意識してふんわりと仕上げるのがいいです。

f:id:nigredo:20101230123019j:image

f:id:nigredo:20101230123032j:image

f:id:nigredo:20101230123040j:image

f:id:nigredo:20101230123103j:image

f:id:nigredo:20101230123114j:image

f:id:nigredo:20101230123121j:image

2011-01-02

2011年、今年の抱負

あけましておめでとうございます。

去年言ったことはこんなこと。

  • なにかアイデアサイトを作る。
  • できれば、本格的なサイトを1つ作れればなぁ。

 で、去年公開したサイトは、以下の通り。

成長する○×ゲーム

http://marubatu.arcanum.jp/

強くなる!かもしれないオセロ

http://othello.arcanum.jp/

ペーパー・アドベンチャー・コーナー

http://paperad.arcanum.jp/

上桜木応援隊

http://kamisakuragi.info/

 上二つは作ったけどもう手をかける時間がないので、消すしかないかな。でも下2つはコンテンツを増やすだけなので、いまから色々とやっていけそう。去年の抱負のサイトを育てるってのは殆どできなかったけど、下2つを今年いっぱいかけて育てるつもり。どうも僕は、作ってコンテンツを増やすってタイプのサイトに向いているみたいな感じがする。

「トロン レガシー」を見た

http://www.disney.co.jp/tron/

 見た見た。40歳ぐらいのオヤジには面白かったです。先日、前作を見ていたので本作の話にすんなり入ることができました。前作の世界観を知らないと、この映画は辛いかもしんない。でも今の人達にあの前作のチープなCGの映像を見て勉強しろって言っても・・・難しいかな。ゲームのシーンは、昔のカクカクした感覚はなく、曲線、立体をフルに活用しており、臨場感バッチリです。


 オリビア・ワイルド演じるクオラがマジかわいいです。この映画、ジェフ・ブリッジス演じるケビン・フリンと、このオリビア・ワイルド演じるクオラがいるから持っている感じがした。20年に及ぶフリンとクオラの生活に主人公のサムが割り込んだ感じ。そして最期の逃避行。


 最期はあぁなるのは必然でしょう。今思うと、プログラムを擬人化して、修正できないものは壊していくってのはどうも、「自分が仕事で作ったもの」が壊されていく感覚があり、なんとも気の毒な感じがした。世界観に没頭できたからでしょうか。

ネタバレとか、いろいろ

 一応、下は白くしてます。

 パグ犬でバグ?とか(バグじゃないけどね)を表しているんだろうか。

 前作のオマージュと思われる部分があったり、あの壮大な空間も、メモリのムーアの法則で知られるように、「あんな小さな小さなところに収まるんだ」って感覚とか、クルーの出何処がそこならエンドはそうだよね、あのシーンの心の乱れは、そのコンプレックスからかとか、その後は、「アキラ」のラストを思わせる部分と結局トロンはああなったので元の鞘におさまったんだねぇとか、昔広げられた風呂敷を収められた感じです。

 ・・・とここまでネタバレ

 この映画も3Dでしたが、今まで見た3Dよかはマシでした。3Dをそんなに前面に押し出していないって言うか・・・正直、3Dだけで400円増しの今の価格は高いと思いうけどね。3Dが出始めだから3Dにすりゃ人が来るかなとか、値段高くてもいいかなって感じる人がいるからみたいな、3D特需。3Dにするという売り、画面の奥行き感だけじゃなく、3Dという必然性が観客に提示できなければ、普通に2Dでも良いかなと思う。映画が始まって10分もすりゃ3Dに成れてしまうんだから。

2010-12-16

Twitter botが作りたい。

Twitter4jから出力されるエラーメッセージの日本語部分がユニコード変換されてくるのでとりあえずメモ。

ダイレクトメッセージは同一ユーザーに同じメッセージを行ってはいけないらしい。

 これは、BOTだけじゃなく、普通にTwitter上から同じダイレクトメッセージをしようとすると「何か問題が発生しました。しばらく待ってから、再度、メッセージを送信してください。」と言われる。


403:The request is understood, but it has been refused.  An accompanying error message will explain why.
{"error":"There was an error sending your message: Whoops! You already said that.","request":"\/1\/direct_messages\/new.json"}
TwitterException{exceptionCode=[1e0fc430-9cb39bf7], statusCode=403, retryAfter=0, rateLimitStatus=null, version=2.1.8}
	at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:310)
	at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:72)
	at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:103)
	at twitter4j.Twitter.sendDirectMessage(Twitter.java:1035)
	at jp.arcanum.textrpg.twitter.TwitterStreamManager.onStatus(TwitterStreamManager.java:124)
	at twitter4j.UserStreamImpl.onText(UserStreamImpl.java:82)
	at twitter4j.AbstractStreamImplementation.handleNextElement(AbstractStreamImplementation.java:87)
	at twitter4j.UserStreamImpl.next(UserStreamImpl.java:63)
	at twitter4j.TwitterStream$TwitterStreamConsumer.run(TwitterStream.java:621)

フォローしていないユーザーにダイレクトメッセージは送れない

 まぁ、当たり前って言えば当たり前ですが。

403:The request is understood, but it has been refused.  An accompanying error message will explain why.
{"error":"\u3042\u306a\u305f\u3092\u30d5\u30a9\u30ed\u30fc\u3057\u3066\u3044\u306a\u3044\u30e6\u30fc\u30b6\u30fc\u306b\u30c0\u30a4\u30ec\u30af\u30c8\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002","request":"\/1\/direct_messages\/new.json"}
TwitterException{exceptionCode=[1e0fc430-9cb39bf7], statusCode=403, retryAfter=0, rateLimitStatus=null, version=2.1.8}
	at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:310)
	at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:72)
	at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:103)
	at twitter4j.Twitter.sendDirectMessage(Twitter.java:1035)
	at jp.arcanum.textrpg.twitter.TwitterStreamManager.process(TwitterStreamManager.java:155)
	at jp.arcanum.textrpg.twitter.TwitterStreamManager.onStatus(TwitterStreamManager.java:112)
	at twitter4j.UserStreamImpl.onText(UserStreamImpl.java:82)
	at twitter4j.AbstractStreamImplementation.handleNextElement(AbstractStreamImplementation.java:87)
	at twitter4j.UserStreamImpl.next(UserStreamImpl.java:63)
	at twitter4j.TwitterStream$TwitterStreamConsumer.run(TwitterStream.java:621)

 上の、変換された日本語は、「あなたをフォローしていないユーザーにダイレクトメッセージを送ることができません。」


既にフォローしたユーザーを再度フォローしようとすると怒られる
403:The request is understood, but it has been refused.  An accompanying error message will explain why.
{"error":"Could not follow user: ****\u306f\u65e2\u306b\u3042\u306a\u305f\u306e\u30ea\u30b9\u30c8\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u307e\u3059\u3002","request":"\/1\/friendships\/create.json?include_entities=true&screen_name=****"}
TwitterException{exceptionCode=[ed901634-ca27228b], statusCode=403, retryAfter=0, rateLimitStatus=null, version=2.1.8}
	at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:310)
	at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:72)
	at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:119)
	at twitter4j.Twitter.createFriendship(Twitter.java:1056)
	at jp.arcanum.textrpg.twitter.TwitterStreamManager.onFollow(TwitterStreamManager.java:175)
	at twitter4j.UserStreamImpl.onFollow(UserStreamImpl.java:132)
	at twitter4j.AbstractStreamImplementation.handleNextElement(AbstractStreamImplementation.java:112)
	at twitter4j.UserStreamImpl.next(UserStreamImpl.java:63)
	at twitter4j.TwitterStream$TwitterStreamConsumer.run(TwitterStream.java:621)

上の日本語部分は「は既にあなたのリストに登録されています。」


自分自身をフォローしようとすると怒られる

 しかも'!'付きで大変怒ってらっしゃる。(笑)

403:The request is understood, but it has been refused.  An accompanying error message will explain why.
{"error":"Could not follow user: \u3042\u306a\u305f\u81ea\u8eab\u3092\u30d5\u30a9\u30ed\u30fc\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\uff01","request":"\/1\/friendships\/create.json?include_entities=true&screen_name=rpgcommand"}
TwitterException{exceptionCode=[ed901634-ca27228b], statusCode=403, retryAfter=0, rateLimitStatus=null, version=2.1.8}
	at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:310)
	at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:72)
	at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:119)
	at twitter4j.Twitter.createFriendship(Twitter.java:1056)
	at jp.arcanum.textrpg.twitter.TwitterStreamManager.onFollow(TwitterStreamManager.java:186)
	at twitter4j.UserStreamImpl.onFollow(UserStreamImpl.java:132)
	at twitter4j.AbstractStreamImplementation.handleNextElement(AbstractStreamImplementation.java:112)
	at twitter4j.UserStreamImpl.next(UserStreamImpl.java:63)
	at twitter4j.TwitterStream$TwitterStreamConsumer.run(TwitterStream.java:621)

上の日本語部分は「あなた自身をフォローすることはできません!」