タグ「twitter」が付けられているエントリー

PHPでTwitterのプロフィール検索してリストを作る方法(OAuth対応版)

| PHPでTwitterのプロフィール検索してリストを作る方法(OAuth対応版)

Twitterのリスト機能って便利ですよね.例えば,イベントなどでその関係者のつぶやきを一覧したい,でもフォローするのはアレだしって時に使えます.同様に,ある共通の趣味を持っている人を集めるとか,ある特定の病気と闘っている人を集めるとか,色々と応用ができます.そんなこんなで,最近はリストを作って喜んでます.

そんなこんなで,今日はTwitter標準のAPIではできないことをサードパーティ製APIで実現しまくる方法を紹介します!具体的には,プロフィールに特定のキーワードが含まれているユーザを抽出して,リストを作る方法です.実装はいつも通りにPHPでOAuth対応です.書き忘れていますが,ソースは当然の如くUTF-8で保存してくださいね.

tps.lefthandle.netのAPIを用いる場合
Twitterのプロフィール検索を提供しているサードパーティは,ざっくり調べた感じでは2カ所あります.そのうちの1カ所がtps.lefthandle.netです.主な仕様としては,GETリクエストに対してJSONで返事します.結果は最大100件で,ユーザー登録順,follower数順,最近のつぶやき順が選べます.というかドキュメント読んで下さい

このAPIを使ってプロフィール検索をして,引っかかった人をリストに追加するコードはこんな感じです.

<?php
$ids = 'yourscreenname';
$listname = 'listname';
$url = "http://api.twitter.com/1/$ids/$listname/members.json";
$q = urlencode('キーワード');
$sortmode = 'recent';//
register, follower
//search APIのURL
$c = curl_init("http://tps.lefthandle.net/rest/?s=$q&sort=$sortmode");
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($c);
curl_close($c);
$json = json_decode($response);
//リストに追加する
foreach ($json as $u) {
$param = array('id' => $u->screen_name);
$res = twitter_api($url, OAUTH_HTTP_METHOD_POST, $param);
}

//twitter api
function twitter_api($url, $method=OAUTH_HTTP_METHOD_GET, $param=null) {
$consumerKey = '
consumerKey';
$consumerSecret = '
consumerSecret';
$oauthToken = '
oauthToken';
$oauthTokenSecret = '
oauthTokenSecret';

try {
$oauth = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauthToken, $oauthTokenSecret);
$oauth->fetch($url, $param, $method);
$response = $oauth->getLastResponse();
return $response;
} catch (OAuthException $e) {
return $e;
}
}
?>

ベリーイージーね.前提として,リストは作っておいて下さい.空でも空じゃなくても構いません.もちろん,エラー処理がいい加減なんで,適当に修正して下さい.OAuthのトークンは適当な方法で取得して下さい.この方法だと,検索に引っかかった人を無差別に登録するので,既登録の人を再度登録しようとしたりして無駄が多いので,既登録者リストとの差分を取るとかの工夫をしたら良いんじゃないかと思います.

twpro.jpのAPIを用いる場合
もいっこの方がtwpro.jpです.主な仕様としては,GETリクエストにJSONで返事します.IPアドレス毎に1000回/時のAPIコールが可能です.また,検索結果が最大300件となっています.また,JSONPのコールバックが使えます.使わないけど.まぁ,ドキュメント読んでね.

このAPIを使ってプロフィール検索をして,引っかかった人をリストに追加するコードはこんな感じです.

<?php
$ids = 'yourscreenname';
$listname = 'listname';
$url = "http://api.twitter.com/1/$ids/$listname/members.xml";
$q = urlencode('キーワード');

//search APIのURL
$c = curl_init("http://api.twpro.jp/1/search?q=$q&num=300");
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($c);
curl_close($c);
$json = json_decode($response);
//リストに追加する
foreach ($json->users as $u) {
$param = array('id' => $u->screen_name);
$res = twitter_api($url, OAUTH_HTTP_METHOD_POST, $param);
}

//twitter api
function twitter_api($url, $method=OAUTH_HTTP_METHOD_GET, $param=null) {
$consumerKey = 'consumerKey';
$consumerSecret = '
consumerSecret';
$oauthToken = '
oauthToken';
$oauthTokenSecret = '
oauthTokenSecret';

try {
$oauth = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauthToken, $oauthTokenSecret);
$oauth->fetch($url, $param, $method);
$response = $oauth->getLastResponse();
return $response;
} catch (OAuthException $e) {
return $e;
}
}
?>

こんな感じかな?いいんじゃないかな?どっちのAPIも良くできているよ.

別になんら難しいことはないんだけど,TwitterのBOTを作って自動フォローやリムーブをしたくなることってあるじゃないですか?特に,人気BOTになってくると,いちいちフォローされましたメールからフォローするなんて,面倒くさいじゃないですか?そうなると,自動でやりたいですよね.ということで,自動フォロー/リムーブするPHPなプログラムを書いたよ.もちろんOAuth対応版だよ.

<?php
$ids = 'yourscreenname';

$friends = array();
$followers = array();
$list_follow = array();
$list_remove = array();

//APIからfriends取得
$url = "http://api.twitter.com/1/friends/ids/$ids.json?cursor=-1";
$res = twitter_api($url);
$json = json_decode($res);
//ユーザIDを抽出して配列に
foreach ($json->ids as $u) {
$friends[] = $u;
}

//APIからfollowers取得
$url = "http://api.twitter.com/1/followers/ids/$ids.json?cursor=-1";
$res = twitter_api($url);
$json = json_decode($res);
//ユーザIDを抽出して配列に
foreach ($json->ids as $u) {
$followers[] = $u;
}

//followするリスト作成
$list_follow = array_diff($followers, $friends);
//removeするリスト作成
$list_remove = array_diff($friends, $followers);

//followする
foreach($list_follow as $f) {
$url = "http://api.twitter.com/1/friendships/create/$f.json";
$res = twitter_api($url, OAUTH_HTTP_METHOD_POST);
}

//removeする
foreach($list_remove as $f) {
$url = "http://api.twitter.com/1/friendships/destroy/$f.json";
$res = twitter_api($url, OAUTH_HTTP_METHOD_POST);
}


//twitter api
function twitter_api($url, $method=OAUTH_HTTP_METHOD_GET, $param=null) {
$consumerKey = 'consumerKey';
$consumerSecret = 'consumerSecret';
$oauthToken = 'oauthToken';
$oauthTokenSecret = 'oauthTokenSecret';

try {
$oauth = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauthToken, $oauthTokenSecret);
$oauth->fetch($url, $param, $method);
$response = $oauth->getLastResponse();
return $response;
} catch (OAuthException $e) {
return $e;
}
}
?>

トークンは自分のものに置き換えてね!どうせBOTだろうからdevelopersあたりから取れるよね.作り方が雑なんで,適当に改変して利用するといいんじゃないかな.

TwitterのBASIC認証が2010年6月末で終わり,OAuth/xAuthでの認証が必要になります.以前,xAuthに対応する話を書きましたが,最近になって,botの場合はxAuth申請をする必要がなくなったようです.手順は以下の通り.

まずは,アプリケーションの登録をします.アプリケーションの登録が完了すると,OAuthのConsumer keyとConsumer secretが手に入ります.

100505_twitter01.jpg

この2つの値をコピーしておきます.続いて,右のメニューからMy Access Tokenを選びます.

100505_twitter02.jpg

表示されるAccess TokenとAccess Token Secretをコピーします.準備完了です.あとは,PHPでテストコードを書いてみます.参考コードはウノウラボから.PECL::oauthを前提にしています.


<?php
$consumerKey = '
Consumer key';
$consumerSecret = '
Consumer secret';
$oauthToken = 'OAuth token';
$oauthTokenSecret = 'OAuth token secret';
$oAuthStatusesUpdateUrl = 'http://api.twitter.com/1/statuses/update.xml';

$response = '';
$parameters = array(
'status' => 'OAuthから投稿テスト♪',
);

try {
$oauth = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauthToken, $oauthTokenSecret);
$oauth->fetch($oAuthStatusesUpdateUrl, $parameters, OAUTH_HTTP_METHOD_POST);
$response = $oauth->getLastResponse();
} catch (OAuthException $e) {
var_dump($e);
exit;
}
var_dump($response);
?>

上記コードの4カ所に先ほどコピーした各値をセットすればokです.簡単ねっ!

関連:
TwitterでxAuthを使う試み - 4403 is written

猫も杓子もドラマもTwitterですが,これからTwitterをはじめようとする方にオススメ情報です.特に,Gmailべったり派の皆様に朗報です.GmailにTwitterのガジェットを入れることができるようです!

Gmailをほぼフル機能のtwitterクライアントにしてしまう方法をご紹介します。

普段使っているGmailを簡単にフル機能のtwitterクライアントにしてしまう方法 | ついーたーTweeter.jp

そしてこれを導入した我が環境はこんな感じ.

100420_twitter01.jpg

性能的に専用クライアントと遜色ないです.カスタマイズの自由度が足りないですが・・・.FirefoxではEchofon,chromeではChromed Birdとクライアントの使い分けが必要だった,あなた!これならブラウザが替わっても大丈夫です!結構使いやすいよ?

3月8日から12日まで,東京大学本郷キャンパスで行われた情報処理学会創立50周年記念全国大会に参加してきた.

P1050986.JPG

今まで過去最高の参加者数を記録してた第70回大会を大幅に超える6202名の参加者を記録した今大会は,情報処理学会創立50周年を記念するに相応しい大会となった.このエントリでは参加したイベント等の話を書きます.

まず,IPSJ72本体初日の9日に行われた,大会挨拶・表彰式・認証式から.今回IPSJ72に足を運んだ主な理由として,この認証式を見に行くことにありました.もちろん,私が認証されるわけでも,表彰されるわけでもないので,私ではない誰かのためにです.今回,予想に反して,お目当ての方以外にも多数のCSEC関係者が受賞をされていましたので,ご紹介いたします.

まず,山下記念研究賞をKDDI研究所の竹森さんが受賞されました.学会活動貢献賞を日立の寺田さん,静岡大学の西垣先生が受賞されました.また,東京工科大学の宇田先生に感謝状が贈呈されました.

そしてお目当てはフェロー認証です.CSEC主査である東海大学の菊池先生がフェローを認証されました.

IMG_1314.JPG

「ブログに書くんでしょ~」とか言われながら撮影した襟章です.ブログに書いてます!おめでとうございます!どんどん偉くなってしまって,遠い存在になってしまいます><.

以上の通り,多数のCSEC関係者が受賞しました.みなさま,おめでとうございます!

翌日,午前は第15イベント会場のGoogle日本語入力を支える情報処理技術を聴講してきました.定員96名の部屋に対して,事前聴講希望者は580名を超えていたので,席を確保するべく9時半頃に行ったところ,人が全然いませんでした.ということで,余裕で席がゲットできたので,tsudaりやすい席を確保して,S8とドッチーカを使ってtsudaりました.使ったTwitterクライアントはTwjournalを用いました.ログはまとめていませんが,この辺りをご参照下さい

ためになったのは,実装に対する考え方.IMEはシステムに近い部分で使われていて,落ちると困るものである.そのため,クリティカルな状況にならないように作る必要がある.というのが一般的な考え方です.Google日本語入力の考え方はその逆で,クリティカルな状況になっても大丈夫なように設計したという話でした.それはセキュリティについても同じで,脆弱性を潰すのではなく,脆弱性を突かれても影響がシステムに及ばないようにSandboxの中に閉じ込めているらしい.なるほど.これを示すデモを発表中に行っていました.内容としては4秒ごとにかな漢字変換プロセスを殺すという非常識きわまりないものw.4秒ごとにプロセスが死んでも,問題なくかな漢字変換が継続できることを示すデモだったのですが,そんな状況に陥ったことがある人はいるはずもなく,どういう挙動が正しいのかを理解できなかったようで,会場との温度差がすごかったです.ボクはわかってましたよ!tsudaりが忙しくてリアクションできませんでしたが・・・.

さて,午後のイベントまでだいぶ時間が空いているので,食事をしたり学内をうろうろしたり.10日は東大の合格発表日らしく,掲示板前はものすごい人だかりでした・・・.そんな中,@iku_bloomさんがフリペを配っているらしい情報をキャッチしたので,探してみました.

IMG_1307.JPG

華麗にゲット!女子にしかフリペを配っていないのに,声をかける怪しい男.通報されなくて良かったです♪

さて,本日のメインイベント,第5イベント会場での情報システム論文執筆ワークショップです.中の人として,事務的な仕事と受付番をしました.

IMG_1288.JPG

配付資料100部(1800枚のA4用紙)を持って,会場入りです.めちゃめちゃ重いです・・・.

P1060030.JPG

この時間帯は裏番組に初音ミクがいたり,情報処理の「夢」があったりと,超強力ラインナップだったにもかかわらず,持参した配付資料100部はなくなりました!満員御礼です!多数のご参加を頂き,誠にありがとうございます!

IMG_1311.JPG

夜はひょうんなことから懇親会に出席することに・・・.各賞を受賞された方々もいらっしゃっていました.なお,@ipsj72の中の人にもお会いしました.なるほどねぇという方でした.

まとめ:
来年のIPSJ73は東工大大岡山キャンパスです.近いから,来年も参加できるかな?

なにやら2010年6月頃に従来使われていたBASIC認証でのAPIコールができなくなるらしく,OAuthまたはxAuthへの対応が必要となっております.ぶっちゃけ,作っているのはbotなので,OAuthのような仰々しい実装(ぇ)は必要ないので,簡易的なxAuthを用いようと考えました.なお,OAuth対応を行うと60分に350回(将来的には1500回)のAPIコールができるようになるらしい.これはかなり自由度が増します.というわけで,今回はxAuthに対応する話を書いておきます.例によって,実装はPHPです.

参考にしたのはこちら.というか,そのまんまです.OAuth/xAuthを使うには準備が必要です.手順は以下の通り.

準備: アプリケーションを Twitter に登録し、consumer key と consumer secret を取得する
      http://twitter.com/oauth_clients/new にアクセスし、登録する

・Webアプリケーションの場合
  (1) consumer key と consumer secret を使って、リクエストトークン(token と token secret)を取得する
  (2) リクエストトークンのうち、token を使って、ユーザにアクセス許可を求めるための URL を生成し、その URL にリダイレクトする(Web ブラウザに表示させる)
  (3) ブラウザに表示された「許可(allow)」ボタンをユーザが押すと、(アプリケーション登録時に申請した)コールバック URL にリダイレクトされる
  (4) コールバック URL へのアクセスを検知したら、その URL 中に含まれる oauth_verifier パラメータを取り出す
  (5) consumer key, consumer secret, token, token secret, oauth_verifier を使って、アクセストークン(token2 と token2 secret)を取得する
  (6) 以後、consumer key, consumer secret, token2, token2 secret を使って、API を実行する

Twitter API 仕様書 日本語訳 第四十八版 (2010年3月2日版)

簡単ですね.え?まぁまぁ.まずは,http://twitter.com/oauth_clients/newにアクセスして,OAuthを使うアプリケーションを登録します.登録が完了すると以下のような画面が出ます.

100304_xauth01.png

Consumer keyとConsumer secretが表示されるので記録します.で,ウノウラボを参考に以下のようなコードを実行して,アクセストークンを取得してみます.


<?php
$consumerKey = 'Consumer key';
$consumerSecret = 'Consumer secret';
$username = "username";
$password = "password";
$xAuthAccessTokenUrl = 'https://api.twitter.com/oauth/access_token';

$response = '';
$parameters = array(
'x_auth_mode' => 'client_auth',
'x_auth_username' => $username,
'x_auth_password' => $password,
);

try {
$oauth = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->fetch($xAuthAccessTokenUrl, $parameters, OAUTH_HTTP_METHOD_POST);
$response = $oauth->getLastResponse();
} catch (OAuthException $e) {
var_dump($e);
exit;
}
parse_str($response, $accessTokenInfo);
var_dump($accessTokenInfo);
?>

ウノウラボ Unoh Labs: PECL::oauthでxAuthを参考に一部改変

これを実行すればアクセストークンが取得できるはずです.結果を以下に一部抜粋.


object(OAuthException)#2 (7) {
["message:protected"]=>
string(73) "Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a redirect)"
(中略)
["lastResponse"]=>
(中略)
<error>Client application is not permitted to use xAuth.</error>
}

おやおや?芳しくないですね.401エラーでxAuthの許可がないと言われています.うーん.ドキュメントを読んでみると,こう書いてあります.

In order to get access to this method, you must apply by sending an email to api@twitter.com -- all other applications will receive a HTTP 401 error.

Twitter API Wiki / Twitter REST API Method: oauth access_token for xAuth

よく読めという話である.つまりは,xAuthを行うにはOAuthのアプリケーション登録をするだけではダメで,メールでの申請がさらに必要とのこと.なるなる.なので,早速メールで申請を行います.・・・って,Twitterって日本語が通じないような気がしますよね?というわけで,どのような文面を書けばよいか.以下をパクりました.

Hello.

I'm a developer of '[Your application]', the twitter client application for windows.
My account is @[Your twitter account].
Please apply this app to use xAuth.

Application: [Your application]

Best regards.
-----------------------------------------------
@[Your twitter account]
[some urls]

xauth request - 3d7b1

簡単ね!これに対するお返事が2日後に来ました.結果は許可ならず.要約すると「おまえbotだろ?なんでxAuthつかうん?もっと説明せーや!」とのこと.ううう・・・.アプリ名を「factoring_bot」にしたのがいかんかったか・・・.確かに,OAuthでやれと言われれば,グーの音もでない.「xAuthを使ってみたいんだよ!」って本音を書きたくなったけど,そこはグッとこらえて,高度な言い訳を.そして更に2日後に「プラットフォームはなに?Windowsでいいのけ?」ってお返事が.ここはクールに「あぁ,最初はWindowsだ.その次はLinux対応だね」って送り返しました.マルチプラットフォームでプログラムを書ける好青年を演じておきました.で,最終的には,コンタクトを始めてから1週間後に以下のメールが来ました.

Your application now has the ability to use XAuth,

おお!!やっと許可されました.粘り強く交渉してみるもんだ.では,先ほど401エラーが返されたプログラムを実行してみましょう.


array(5) {
["oauth_token"]=>
string(50) "oauth_token"
["oauth_token_secret"]=>
string(41) "oauth_token_secret"
["user_id"]=>
string(9) "101753216"
["screen_name"]=>
string(13) "factoring_bot"
["x_auth_expires"]=>
string(1) "0"
}

完璧です.実際にはoauth_tokenとoauth_token_secretには何やらの値が格納されています.ここで見せちゃうとダメだからね^^.ではでは,xAuthを利用してつぶやきをポストしてみましょう.以下のコードを走らせてみます.もちろん,参考コードはウノウラボから.


<?php
$consumerKey = '
Consumer key';
$consumerSecret = '
Consumer secret';
$oauthToken = 'OAuth token';
$oauthTokenSecret = 'OAuth token secret';
$oAuthStatusesUpdateUrl = 'http://api.twitter.com/1/statuses/update.xml';

$response = '';
$parameters = array(
'status' => 'xAuthから投稿テスト♪',
);

try {
$oauth = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauthToken, $oauthTokenSecret);
$oauth->fetch($oAuthStatusesUpdateUrl, $parameters, OAUTH_HTTP_METHOD_POST);
$response = $oauth->getLastResponse();
} catch (OAuthException $e) {
var_dump($e);
exit;
}
var_dump($response);
?>

で.結果がこちら.

Twitter / 素因数分解ボット「ふぁくたん」: xAuthから投稿テスト♪

アプリ名としてfactoring_botって表示されるのがかっこいい!クール!クール!!クール!!!

まとめ:
TwitterのxAuthはOAuthのライブラリを使って実装可能.xAuthはOAuthのアプリ登録をするだけではダメで,xAuth利用申請をメールで送る必要がある.その際,アプリ名にbotが含まれていると疑われる.というか,最初から自分のアプリを詳細に説明しておけば良いんだと思う.実装のプラットフォームも尋ねられたので,書いておくと良いと思う.実装言語は訊かれなかったけど,アグレッシブに主張した.

OAuth/xAuth採用によって,API制限が少し緩和されるはず.いや,まだfactoring_botにこのテストコードを移植してないけどさ. そのうちにやります.そのうちに・・・.

scis2010.png

SCISは宮崎からの参加で,今年は3年目になります.CSS×2.0デビューはしていますが,SCISナイトセッションにはデビューしていませんでした.今回,ひょうんなことから「理論と実装のギャップ(仮)」というタイトルで発表の機会を与えられましたので,全力で挑んできました.

SCIS2010ナイトセッション「理論と実装のギャップ(仮)」

発表資料は公開します.ナイトセッションで使わなかったスライドには右上に赤丸が表示されています.基本的には変更していませんが,一部を修正しています.なお,プログラムソースが見えると思いますが,見ないで下さい.

ナイトセッションでは研究速報枠を3分ほどいただきました.どの辺が研究速報なのかは不明ですが・・・.真面目な内容にもかかわらず,やや受けをいただいて,嬉しい限りです.みんなやさしい!

なお,この発表の様子はyoutubeで公開されています.別ソースもあるのですが,公開していいのかどうか・・・.

関連:
素因数分解twitterボットfactoring_botを作りました - 4403 is written
SCIS2009ナイトセッションの資料 - 4403 is written
CSS×2.0 in CSS2008 - 4403 is written
CSS×2.0 in CSS2009 - 4403 is written

素因数分解botとか面白そうかなと思ってみる。だけど僕には<del>ピアノがない、君に聴かせる</del>腕もないのでとりあえず人力で、189 = 3 * 3 * 3 * 7、1007 = 19 * 53 RT @xagawa [博論] 189pages. 1007kB也

Twitter / MarriageTheorem: 素因数分解botとか面白そうかなと思ってみる。だけど ...

手動で素因数分解を啓蒙されている方が,botを所望しておられました.

Botは書けるけど素因数分解ができないw RT @shokohitsuji: 誰か作ってあげてー。 RT: @MarriageTheorem: 素因数分解botとか面白そうかなと思ってみる。だけど僕には<del>ピアノがない、君に聴かせる</del>腕もないのでとりあえず人力で

Twitter / 4403: Botは書けるけど素因数分解ができないw RT @s ...

そして紆余曲折合って作ることになりました.専用アカウントはfactoring_botです.実装はPHPで,ものすごくナイーブな方法です.実装スピード最優先で.

仕様

  • factorial_botのfriends_timelineから3~10桁の数字を見つけ出し素因数分解の結果をRTする
  • 素因数分解の対象は1発言内で最初に見つかったもののみ
  • replyなどで@を含むメッセージには無反応
  • 素因数分解結果を合わせた発言文字数が140文字を超えた場合はポストしない
  • 5分毎に動作

今のところの不具合のようなもの

  • 手動リフォロー
  • 先頭が0で始まっていても認識する
  • 8桁以上あっても先頭8桁を認識する
  • 既知の素数で順番に割っていくだけの簡単なお仕事です

素因数分解は専門外で全然わからないのですが,素数を探しましょうではなく,ある数字を素因数分解しましょうというときに,最適なアプローチはどんな方法なんでしょうか?既知の素数表を配列で持っておいて,順番で割っていくというのは悪くなさそうな気がしますが・・・.識者の方からのアドバイスを期待します.

今後やろうとしていること

  • 文頭に@factoring_botがある場合(つまりmention)は反応しようかと思う
  • フォロワ以外からのmentionにも反応しようかと思う
  • PublicTLから直近50件を抽出して素因数分解させてRTして知名度を上げる
  • Phytonで書き直し,GAEに移す
  • 自動リフォローを実装する
  • ポスト予定の発言が140文字を超えたら上手いこと切り詰める
  • より桁数の多い数字に対応する

201001261440追記:
ヴァァァーーーーとなったら,10桁の素因数分解ができるようになりました.factoring_botのuser_timelineに流れているmentionには反応します.ただし,文頭に@factoring_botがある場合に限る.相変わらずRTのメッセージが140文字を超えた場合は何もつぶやけない.

201002221703追記:
ハッシュタグに含まれる数字は素因数分解しないようにしました.例えば,以下の文字列は素因数分解の対象外となります.「#2929」「#scis2010」「#2929dan」.なお,これらのハッシュタグを含んでいたとしても,他に素因数分解の対象となる文字列があれば,素因数分解します.

201003022303追記:
RTが140文字を超えるとつぶやけない問題に対応しました.まず,in_reply_to_status_idパラメータに対応しました.これにより,素因数分解対象の元つぶやきを指すことができるようになりました.この効果で,RTメッセージが140文字を超える場合は,元メッセージをバッサリと削除してつぶやくように変更しました.つぶやき例としてはこのような感じです

201003152311追記:
factoring_botをxAuth対応させました.アプリケーション名にfactoring_botと表示されると思います.かっこいい!あと,今更ですが,mentionに対応しています.文頭に「@factoring_bot」を含んでいることを条件に,つぶやきを素因数分解します.あとは,今日の日付が素数だったら,お知らせします.

201006072305追記:
2010と2011は素因数分解しないようにブラックリスト化しました.

201006172202追記:
最近の度重なるクジラ病によって,度々発言を失敗するようになりました.従来仕様ではつぶやきに失敗したものはリトライせずに破棄していました.しかしながら,それを克服するべく,本日の改修でメッセージキューイング方式に変更しました.これにより,エラーが発生する場合は可能な限りリトライします.現在の設定では1分毎のデキューイングで最大60分間ねばります.十分なテストが出来ていないので,問題が発生する可能性があります.その際はお知らせ頂ければ幸いです.

100617_factoring_bot01.png
091208_twitter01.jpg

Twitter研究会だか,ウェブ学会だか忘れたけど,Twitterをモチーフにしたスライドを使っていたので,インスパイアされてみた.

PowerPoint向けTwitterテンプレートをお持ち帰り(2007/2003/XP/2008 for Mac対応)

細かい微調整は各自でどうぞ.

200912081301追記:
PowerPoint2008 for Macでも問題ナシンコだそうです.

12月7日に東大安田講堂で第1回ウェブ学会シンポジウムが開催されたので,行ってない(ぇ.行く気はあったのだが,申し込めなかった.仕方がないので,ustで参加した.ダダ漏れしてくださった@ksoranoさんに感謝です.なお,twitterのハッシュタグまとめはこちら

はっきしいって,ちょー楽しかった.あっという間の1日だった.第1回ということもあるだろうが,実に豪華な顔ぶれで贅沢きわまりない.しかもピーク時はustとニコ生で合わせて5000人が見ていたらしい.すごいぞ!

特に印象深かったのは,サルガッソーの鈴木さん,京大の中村先生,東大の豊田先生かな.豊田先生の可視化技術は圧倒的なスケールで,ただただ圧倒されるばかり.ものすごい情報量です.なんつっても見せ方がいちいちかっこいい.ああいう本質的じゃないところに力を入れているのが余裕の表れというか,こだわりというか,全体のエクセレントさを高くしているんだろうなぁ・・・.見せ方ってすごく大事.それから,空中戦と揶揄されたディスカッション.本当に空中戦で,名言が飛び出しまくりの怒濤の展開だった.ルソーとキャラクラシーしか記憶にないけど.ああいうすっ飛んだレベルの議論が行えるってのはすごいと思う.とても楽しい.

今ひとつ理解できないのは,質問をtwitter経由でのみ受け付けていた点.会場は電源がなかったようで,モバイル環境に優しくなかったものと思われるが・・・.しかも,会場まで足を運んで眺めるものはtwitterなのだろうか?生の議論を見るためにいるのに,議論はウェブで,というのはなんだかしっくりこない.ustにtwitterがある現状で,現場に足を運ぶ理由ってなんだろう?会場の聴衆が置き去りにされていなければいいのだが・・・.

いや,twitterで質問を受け付けること自体はいいと思う.先日のtwitter研究会の#sfcnoteにそのような話があったかと思う.限られた時間ですべての質問に答えることができないから,その質問をtwitterに投げておくというのは,答えが返ってくるかどうかは別として,目にさらす意味ではいいと思う.でも,twitterからしか質問を受け付けませんというのはちょっと・・・.完全にディジタルディバイドだと思います

ハッシュタグまとめからつぶやきを探すのが面倒なので引用しないが,twitter上で「他の学会もtwitterやustを使えばいいのに」的なつぶやきがあった.それは間違いだ.多くの学会はtwitterを導入しても利用者がいない.もしくはいても情報のディスクロージャーに積極的ではない.CSS2009がそうだったし.それを世の皆様は閉鎖的だという.仮にustでダダ漏れしたとしても,今回のウェブ学会のようなおもしろさは微塵もないと思う.堅苦しいというか,プレゼンが乏しいというか・・・.魅せることの重要性をわかっている人たちがプレゼンするから,あれだけ楽しいわけで,普通の学会をustしても興ざめだと思う.学会って,つまらなそうに発表しても中身がすごければ良い風なところがある.だから,ボクのようなバカチンは発表を聞いていても興味をそそられないので良く理解できないことが多い.それを「オレがバカだから」の一言で片付けるのは簡単なので,そういうことにしておきたい.1つ言いたいのは,皆さんが最近目にしているような開かれた勉強会や学会が,他の学会でも繰り広げられていると思ったら大間違いですよっと.

ところで,ウェブ学会は学会を名乗るのに,入会方法が無いわけだが・・・.これを閉鎖的と言わずに,どの学会が閉鎖的だろうか.

関連:
ケツダンポトフ - 「第1回ウェブ学会シンポジウム~ウェブ研究・ウェブビジネスの新たな融合~」をダダ漏れしました
ハッシュタグクラウド - ログ 12月7日 ウェブ学会 #webgakkai
Togetter(トゥギャッター) - まとめ「ウェブと政治 - ディスカッション - 第1回ウェブ学会シンポジウム」
ウェブ学会シンポジウム:「日本の著作物、世界から無視される恐れも」 長尾館長、Googleブック検索「対象外」に懸念 - ITmedia News
ウェブ学会シンポジウム:「初音ミク出馬」も? ネットが導く「民主主義2.0」 - ITmedia News
第1回ウェブ学会シンポジウムの後に考えた集合知の行方 - YAMDAS現更新履歴
Twitterつながりで「ウェブ学会シンポジウム」に参加してきました:ノンポリでいこう!:ITmedia オルタナティブ・ブログ
d d l a b s - 第1回ウェブ学会シンポジウム:いろいろデータまとめ
第一回ウェブ学会 - 2009/12/7(月)に東大安田講堂で開催された第一回ウェブ学会まとめWikiページ(暫定版)
ウェブ学会と今後のウェブ研究 - 生駒日記

ORF2009

| ORF2009
IMG_0697.JPG

11月23日~24日に六本木アカデミーヒルズ40で開催されている慶應義塾大学SFCのORF2009にちょろっと潜入してきた.ぶっちゃけ.起きるのが遅かったので,午前はリアルタイム中継の映像を見ていた.これがかなり高品質で嫉妬.シスコの製品を使っているらしい.うーん.サクサク.

写真は全然撮ってないです.写真を撮ってもモザイク処理等をすると最早何を撮ったのかわからなくなると思ったから.いや,そのくらいに人が多かったです.休日だからですかね?兎にも角にも,大入りでした.会場内は所狭しと展示やパネルがでており,最早カオス.しかも,SFCの各研究室などが出展しているわけで,バイオもあるしメディアもあるし福祉もあるしネットワークもあるし.こういういろいろな分野の発表があると,大変にエキサイティングです.

どんな展示があるのかなーって会場内をのんびりとうろうろしていたところ,うっかり#B02の出展者さんにキャッチされました.うーん.#B02をみたいオーラがにじみ出ていたんだろうか・・・.SSHのブルートフォースアタックやマルウェアの説明をしていただきました.後に,@m_mizutaniさんとお話しできました.リアル初遭遇!でも,ブログ名刺を持って行き忘れた件orz.マルウェアについてより詳しく説明をしていただきました.

その後はプレミアムセッションで「地域から社会を活性化する」ことの可能性を聴講しました.要するには,第六次産業なので,地方に行ってトリックスターになりましょうという話(だいぶ偏ってるなぁ).このセッションはパネルとしてとても面白かった.しかも,パネラの1名は遠隔テレビ会議で参加というハイテクさ加減.

IMG_0698.JPG

やっぱりこれからは農業だよなぁ.自給自足の生活ってすごく贅沢な生き方だと思う.ロハス的な意味で.っていう話を東南アジアの人にすると,大変に不思議がられる.満たされ過ぎなのだろうか.

さて,今日もiPhoneでTwitterしながら移動していたわけですが,どうやら#C05がかなり大変なことになっていたらしい.内容は肉食系女子が童貞を判定する研究らしい.何を言っているかわからねーと思うがオレもわからねー(AAry.他にもHTML5の中の人がいるらしかったり,学習パターンの冊子が秀逸だったりするらしい.大変に見逃しておるぞ.明日,飲み会の前に立ち寄るべきだろうか・・・.悩むぜ.

今朝,とくダネに蓮舫議員が出ていた.もちろん話題は事業仕分けについてだ.主にWG3,さらに言えば13日の金曜日についてだ.

仕分け人という立場もあり全ての方々に返信を出来ませんが、#shiwake3への声を読んでいます。多くの方々のご意見を真摯に受け止めます。

Twitter / 蓮舫: 仕分け人という立場もあり全ての方々に返信を出来ません ...

このように述べていたのだが,番組を見る限り,まさにその通りで,#shiwake3の議論はかなり読まれていたようで,わかりやすい説明を行っていた.事業仕分けの際もこのような説明を加えてくれていれば,#shiwake3の議論ももう少し違う方向を向いたのではないかと思う.いや,そもそも論だが,やはり説明者のプレゼン力が低すぎて困る.夢じゃ金は取れないのですよ.

それはそれとして,番組では文科省が事業仕分けへの意見を求めている件にも触れていたのだが,番組のはせなんとかっていうアナが「文科省の抵抗」などとマスゴミ発言を行い,蓮舫議員がキッパリと否定するというやりとりがあった.

文科省の意見応募HPを指して、キャスター「これは必死の抵抗がはじまって・・・」 蓮舫議員「いえ、これは大臣の要望で、国民が予算に参加できるんです!決して官僚の抵抗ではない」  #shiwake3

Twitter / T. Ni: 文科省の意見応募HPを指して、キャスター「これは必死 ...

その後のテレ朝では泣いていたらしい.

テレ朝ワイドスクランブルで蓮舫議員泣いてたな。他のは見てないけど連日いじめられてるのか? #shiwake3

Twitter / Papas: テレ朝ワイドスクランブルで蓮舫議員泣いてたな。他のは ...

これもパフォーマンスの一種なのかもしれないが,単純に#shiwake3を追っているようだし,態度は真摯なものであると感じました.オレの中での蓮舫株は急上昇なんだが,皆様はいかがだろうか.

ところで,その文科省の意見公募ですが,どうやら11月19日までに出さないといけないようです.

文科省の事業仕分け意見募集の締切は12月15日と書かれております。しかしながら、実質は11月19日に開催される行政刷新本会議までに提出する必要があり、極めて火急な案件となっています。みなさまそれまでにどうぞ意見提案を!

Twitter / アートNPOリンク(仮): 文科省の事業仕分け意見募集の締切は12月15日と書か ...

とりあえず,若手に関してはすでに送ったので,良いかと思っている.後は先端研究とスパコンと未来科学館について出そうと思っていますが,どれもこれも議論の進め方のまずさに関する指摘なので,急ぐ必要はないかと.締切に間に合うように送ろうかと思います.皆様におかれましては,可及的速やかに必要最小限かつ最大限十分な意見をお送りになることを期待いたします.

昨年,最高の参加者数を記録したCSS2008@沖縄.今年のCSS2009@富山はそれを超えて,新記録更新です.すばらしいです!これも幹事企業であるNTTさまだからこそでしょう.会期前からスタッフブログをはじめ,会期中はしおりにクイズと盛りだくさんでした.CSS×2.0の軽食(!?)も懇親会も豪華で,大満足でした.ちなみに,MWSスタッフブログは誰が書かれていたのかわかっていませんorz.

CSS×2.0では実行委員を仰せつかっていたので,後ろの方でティガー役をこなしながら試飲を行っていました.装備はティガー耳,出羽桜(山形!!)の前掛け,お借りした富美菊のはっぴ(えんじ色),しかもはっぴの下にはCRYPTO2008Tシャツでした.かなり目立つ装備ですが,業者と見分けが付かないという欠点が・・・.発表はほとんど聞けませんでした.後ほど,Twitterで雰囲気を楽しみました.うぅぅ.聞きたかった発表がいくつも・・・.

CSS×2.0内で行われた学生実行委員企画のCSS×3.0は,日頃多くの人が感じているであろうことをかなりの規模で調査したという,ある意味では画期的なものでした.アンケートにご協力いただけた研究室は,博士問題を真摯に考える研究室だと思います.研究をするだけが研究室の役目じゃないです.しゃべりも面白く,堂々とした発表ですばらしいです.

CSS2009ではCSS×2.0に限らず,Twitter上で#css2009ハッシュタグを用いた活発なやりとりが行われました.始まる前は関係者しかつぶやかないのではないかと思っていましたが,開けてみれば多くの人につぶやいていただき,Twitter経由で多くの方とお知り合いになれました.これについては@akirakanaokaさんがこう述べています.

CSS2009ではTwitterを通じていろいろな方と知り合うことができ、またそこからさらに多くの人と知り合うことができました。@expl01tさんと@k4403さんがおられなければ得られないものでした。本当にありがとうございました。お疲れ様でした。 #css2009

Twitter / Akira Kanaoka: CSS2009ではTwitterを通じていろいろな方 ...

印象的です.TwitterもmixiもWaveも,それがリアルの何かを置き換えるものではなく,単なるツールですが,そのツールによって,多くの人と知り合う機会を与えられていることはとても貴重です.特に,ボクのようなシャイな人間にとっては,「後ろにトラの人がいる」なんていうおいしいネタ振りをされて,ホクホクです.

忘れてはいけないのは,本発表です.本発表では今年もまたもやちょっと毛色が違うセッションで話をしました.しかしながら,3件ほど質問を頂き,とても良かったです.発表後は複数の方から声をかけていただき,名刺を交換させていただきました.また,資料が欲しいとのお申し出を受けて,うれしかったです!夜の懇親会では発表に来れなかった@akirakanaokaさんとお話しして,またまた多くの方とお話ができて,ちょーうれしいです!いろいろな人と議論したいです!1人で考えててもよくわからないです!

基調講演はCSSで2件,IWSECで2件の全4件とも聞いてきました.竹内先生とProf. Preneelが興味深かったです.NOTABLE!

富山の夜は早かったですが,それでも夜な夜な27時頃まで懇親させていただきました.主にはジャッキーで.懇親会後は団体で店を貸し切りつつの2次会も大変楽しかったです.

まとめ:
1年分の生きる気力を充電して来られたと思います.今回も多くの方々とお知り合いになれました.名刺は結構持って行ったつもりだったんですが,最終日まで持ちませんでした.今度はもっと持って行きます!次は高松で

CSS2009

200911041948追記:
書き忘れた.#css2009がバズらなかったのが,残念でならない.#scis2010はバズらせるのがオレの目標.

関連:
CSS2009 御礼 - CSS2009スタッフブログ
Fatal: CSS2009
後ろでお酒サービス - southsaboten-man's posterous
CSS2009速報:ログ情報のセキュア利用という市場:渡辺聡・情報化社会の航海図 - CNET Japan
荒町日記:全品
[CSS2009] MWS Cup はじまりました!:exploit&ac:So-net blog
Juitter for CSS×2.0 in CSS2009を作りました - 4403 is written
CSS2009~コンビニ情報 - 4403 is written
CSS×2.0 in CSS2009 - 4403 is written
富山の夜はジャッキーで更けていく - 4403 is written
CSS2009で新たに捕捉したネット上の方々 - 4403 is written

今年はすごかった.昨年はブログつながりで多くの方とお話しさせていただきましたが,今年はTwitterがらみで多くの方と繋がることができました!ありがとうございます.CSS×2.0でTLを流すやつを作りましたが,当初は関係者しかつぶやかないんじゃないかと思っていましたが,実に多くの方々につぶやいていただきまして,本当にありがとうございました!

@swmemoさんには(昼間の)発表終了後に,名刺をいただいて,「発表資料を欲しい!」とお声がけいただいたので,差し上げました.なるほど,この方か.ずいぶん前からブログは見ていただいているような気がします.気のせいかもしれませんが.属性情報の管理・利用については,検討すべき課題ですよね.IS的な意味で.

ごめんなさい!特定できてないです!@Rruroさんとは話が合いそうな予感がする.SCISよりもCSSの方に楽しさを感じているあたりで意気投合できそう.てか,行動パターンから見て,かなりの時間を同じ場所で共有していたようですが・・・.もしかして,ボクが認識できてないだけで,ご挨拶しました??

ごめんなさい!ご挨拶できてないです!@yoppy3さんもかなり近いところに居られたような気がしますが,特定できてないです.最終日まで名刺が保たないというダメっぷりを発揮してしまったので,名刺を差し上げれなかったです.残念です.是非とも次の機会に.

@imiaqさんはトラの人(ティガーですよ?)がいるとつぶやいていたので,この時点でRTしていればリアル遭遇可能だったものと思われるのが,悔やまれます.会場の1番後ろに座っていた3人組の1人だと思われますが・・・.27日午後1の発表で,MWSがらみだから,特定余裕でしたが,お話しできなかったのが残念orz.ちなみに,MWSCup中はCSS×2.0の準備で聴講できなかったのですが,tsudaって下さっていたので,会場の様子はだいたい把握できて良かったです.システムのテストも兼ねれたし♪

@tama_naraさんもご挨拶できませんでした!申し訳ありません.@yoppy3さんの先生で,CSS×2.0で御登壇された方ですね.そこまではわかっていますが,その時は後ろでティガーしていたので見れませんでした.残念でなりません.

@tohkiさんともお会いできませんでした.というか,全く誰だかわかってません.申し訳ないです.でもいいんです.@tohkiさんは@tohkiさんです!

@aho1goさんとは懇親会でお会いできました.今後,右斜め後方45度から遭遇すれば,見間違えることはないでしょう.またお会いできることを楽しみにしています.その時はDQ9で?

@guririさんは鹿の人.でも,特定できてない.委員の方のようですが・・・.F1とDPZは共通点なので,いろいろとお話しできそうです.是非ともリアル遭遇を.いや,遭遇しているけど,把握していないだけかと・・・.

@k_oiさんもご挨拶できてないです.SCISでお会いできそうな気がします.今度は発表を見に行って,特定して名刺を押しつける!(ぇ.

って,あれ?ほとんどの人とお会いできていないぞ??折角ブログ名刺を持っていったのに・・・.あまり配れずに帰ってきたオレ.負け組orz.SCIS2010でも多くの方にお会いできるのを楽しみにしています!

200911022238追記:
@Rruroさんは特定できました!結構話した気がする.でも,ブログ名刺を渡した記憶がないorz.

ある日,@expl01tの中のacさんから,こんな依頼を受けました.

@k4403 [ac] 今から依頼したいお仕事の内容をつぶやいてみるテスト.4403さんを「CSS2.0つぶやきプロジェクト」隊長に任命します.2.0の会場でつぶやいたら,表示するようにしたいです.

Twitter / exploit: @k4403 [ac] 今から依頼したいお仕事の内容 ...

ふむ.という漠然とした依頼を受けたので,お互いのイメージを確認してから,作れそうな予感を感じたので,プロトタイプを作成してみた.ご存じの通り,自分で書くコード量は最小にしたいので,作成に当たっては,まず使えるライブラリが無いかどうかを確認しました.結果としては,JuitterというjQueryを使ったライブラリがものごっつ目的のものそのままだったので,活用させていただきました.

というわけで,わずか一晩でプロトタイプは完成し,細かいところを修正・変更しながら,数日で完成しました.簡単でよかった~♪完成品はこちら.

Juitter for CSS×2.0 in CSS2009

jQueryバリバリで書いてます.Fx3.5とChrome4とIE8で動作確認してます.たぶん,モダンブラウザであれば,どれでも動きます.そのため,ぶっちゃけると,HTML+JavaScript+CSSで動いているので,全体を丸々保存すれば,ローカルからでも実行できます.

CSS×2.0当日はこれと同じものを出すかどうか分かりませんが,おおよそこのようなものが展開されていると思います.ご活用いただいて,皆様に楽しんでいただけたら,うれしいですっ!

ちなみに,どうでもいい開発こぼれ話をすると,当初はAIRを使おうかと思っていました.しかしながら,AIRは書いたことがないのでやだなーと思っていた次第です.JSは書いたことがあるので,まだ良かったです.

関連:
CSS×2.0ではTwitterでつぶやいて下さい:exploit&ac:So-net blog

昨晩はWBSでTwitterが取り上げられたので,一時的に祭状態でちょっと楽しかったです.それにしても,iPhoneユーザ多すぎだろJK.iPhoneじゃない人を探す方が大変・・・っていうか見あたらなかったような?

それはそれとして,TweeっていうTwitterでの戦闘力を測る(?)サイトがあります.なので,オレっちも測ってみた.

@k4403 みんなでTwee [ダダ洩れ開発版]

Twitterはついこの前に始めたように見せかけていますが,アカウント開設から760日も経っているように見えます.ハッキングです.「みりょく」が足りないようなので,がんばります!

Twitterを復帰したんです.それまではあまり積極的に使っていなかったので,Webからpostすることが多かったんです.そのため,4403という名前を使っていても良いかなって思ってました.だって,オレ,4403だし.4423でも5234でもないし.

で,そんなこんなで,4403とTwitterで名乗っていたところ,TwitterFonとTwitKitで,4403=Bill Meis事件が発生しました.ノー!オレ4403だよ.というわけで,その原因を突き止めるべく調査してみた.実は4403と名乗っているだけで,中の人はBill Meisかもしれないし.TwitterFonで調べるのは困難なので,TwitKitがどういうリクエストをしているのかを調べてみた.こういう時,WebAPIって便利!システムフックとか書けなくても,HTTPを監視すれば良いんですもの.

原因判明.Bill MeisさんのユーザIDが4403っぽいのだ.これは,Twitter API仕様書で確認した.

  friends
     自分の friend の一覧を(各 friend の最新ステータス付きで)取得する
     引数 id を指定すれば、その id のユーザの friend の一覧を取得できる
     ただし、この API で取得できるデータは最大100件(100人分)である

     URL: http://twitter.com/statuses/friends.format
       (format は xml, json のうちのいずれかを指定)

     引数:
        id=ユーザID または id=スクリーン名  (オプション)
           指定した ID またはスクリーン名のユーザの friend のステータスを取得する (この引数を指定しない場合は、自分の friend のステータスを取得する)

           例:
             http://twitter.com/statuses/friends/12345.json
                 ユーザID 12345 の friend の一覧を JSON 形式で取得する

             http://twitter.com/statuses/friends/bob.xml
                 スクリーン名 bob の friend の一覧を XML 形式で取得する

Twitter API 仕様書

原因はこれで,TwitKitはhttp://twitter.com/statuses/friends/4403.jsonをリクエストしていた.この4403はユーザIDか?スクリーン名か?どうやら,APIはこれをユーザIDと識別するらしい.数字だけだからだろう,きっと.数字だけのユーザIDってどうやって知るのか知らないけど,TwitKitはスクリーン名でリクエストしているようだから,http://twitter.com/statuses/friends.xml?screen_name=10101を使って欲しい.おそらく,TwitterFonの方も同じ理由だろう.

というわけで,Twitter API界隈において,数字だけのスクリーン名をつける輩はマイノリティーだということが分かった.今まで長いこと使われてきたであろうソフトウェアなのに,誰もレポートしていないということは,数字だけのスクリーン名はマイノリティーというか,Twitter業界ではタブーなのだろう.ふーんだふーんだ.いいもんいいもん!新参者でギョーカイの仕組みを理解してないもん!

というわけで,スクリーン名をk4403にしましたので,その辺,よろしく.

関連:
twitterに復帰しました - 4403 is written

なんで突然に流行り始めたのかよくわからんのですが,ヒウィッヒヒーで有名なtwitterに復帰してみました.実に半年ぶりくらい.しかも,それは第2回SBM研究会の時に使っただけ.それ以外では2007年以来.おー正に久しぶりの復帰.

4403 (4403) on Twitter

あんまり書かないと思いますけどね.twitterに書いちゃうと,本体のここに書くことがなくなっちゃうかもしれないし,twitterで発散しちゃうと,本体のここに書く気がおきなくなっちゃうかもしれないし.主にはtsudaる用です.今まであまりtsudaられてこなかったであろう,学会の研究会等でもtsudaっちゃいますよ.

あと,似たような道具にはてなハイクもあります.これは併用します.ハイクだと写真付きをアップロードするのが楽なので.つぶやきとtsudaるはtwitterに,写真付きはハイクに.しかも,毎正時にハイクの最新1件をtwitterに投稿するプログラムをPHP(笑)で作りましたので,そんな感じに動くと思います.そんでもって,twitterの1日のつぶやきをここにまとめる仕組みを取り入れれば,1日のおおよそのライフログが集約できそうです.個人情報とプライバシだだ漏れです.漏れたら困ると思うから困るんだ.公開しているんだと思えば,なんら問題はない.

というわけで,twitterは久しぶりの復帰なのでフォロワが足りないんで,ガンガンフォロって下さい.

200908180132追記:
スクリーン名が数字だとユーザIDと混じってまずいっぽいので,名前変えました.

4403 (k4403) on Twitter

先頭に"k"を付けただけですので,宜しくお願いします.

プロフィール

e-m@il @ddress