memo.xight.org

日々のメモ

foursquare で友達申請、承認をまとめて行える Bookmarklet

Summary

foursquare[2009-01-19-1] で友達申請、承認をまとめて行えるブックマークレット。
アドレスバーにペーストしても実行可能。

ボタンを押すだけの簡単なお仕事が嫌なので


javascript:(function(){$('img[alt=add],img[alt=accept]').click()})();


Reference

foursquare で友達申請とか承認とかを一括ですますブックマークレット - YoshioriのBlog
http://d.hatena.ne.jp/Yoshiori/20100119/1263906175

via

Twitter / あまちゃん: foursquare の /manage_frien ...
http://twitter.com/amachang/status/7939074036

MK UndoCloseTab - 閉じたタブを開く Google Chrome 拡張

Summary

MK UndoCloseTabは、過去に閉じたタブを選択的に開くことができる Google Chrome拡張。
履歴には、タブを閉じた順ではなく、タブを開いた順で記録されるため、タブを開き直す時に探してしまう。

ちなみに、Ctrl+Shift+T で直前の閉じたタブを開くことが可能。
これはFirefoxでも同様。

Reference

MK UndoCloseTab - Google Chrome 拡張機能ギャラリー
https://chrome.google.com/extensions/detail/jpiminnjjibejnjmemcmacdgckeeplaf?hl=ja

unclose at master from wh5a's chrome - GitHub
http://github.com/wh5a/chrome/tree/master/unclose

External Editor - 任意のエディターでメールを編集できるThunderbirdアドオン

Summary

任意のエディターでメールを編集できる。
メールを編集中に、 Ctrl+E で外部エディタが起動。

External Editorの設定画面

Reference

Globs site - External Editor - Usage
http://globs.org/articles.php?lng=en&pg=2

Globs site - Downloads
http://globs.org/download.php?lng=en

via

窓の杜 - 【NEWS】「Thunderbird」で外部エディターによるメール編集を可能にするプラグイン
http://www.forest.impress.co.jp/article/2005/09/07/externaleditor.html

foursquare - 位置情報を利用したSNS

Summary

Dodgeballというモバイル向けの位置情報サービスのメンバーが、さらに改良したサービス。
ロゴ画像に納得。

foursquareのロゴfoursquareのロゴ

Reference

foursquare
http://foursquare.com/

via

Twitterの次はこれじゃね?今一番イケてる(と僕が思っている)『foursquare』について調べてみた - IDEA*IDEA
http://www.ideaxidea.com/archives/2010/01/foursquare.html

foursquare、MyTown、ケータイ国盗り合戦 2010年はジオメディアの年? - はてなブックマークニュース
http://b.hatena.ne.jp/articles/201001/733

PHPでTwitter APIのOAuthを使う方法

Summary

PHPでTwitter APIのOAuthを使う方法。
PEARの HTTP_OAuthを利用する。

1. Twitter での操作
  1-1. Twitter にアプリケーションを登録する。
  1-2. Consumer Key と Consumer secret を取得する。

2. アプリケーションからTwitter APIを利用する。
  2-1. リクエストトークンを取得する。
  2-2. 認証用 URL を取得する。
  2-3. ユーザーから承認を受ける (bot の場合は自分でやる)。
  2-4. アクセストークンを取得する。
  2-5. API にアクセスする。

1-1. Twitter にアプリケーションを登録する。

Register a new application からアプリケーションを登録する。

Application Name from XXXの部分にあたる。日本語も可能。
Description アプリケーションの説明文。
Application Website アプリケーションのウェブサイト。Application Name のリンク先URLを指定する。
Organization アプリケーションを管理する組織名。
Website 組織のウェブサイト。
Application Type Browser を指定すると、ユーザーがアクセス権を承認したあと、 Callbak URL にリダイレクトする。Client を指定した場合は「クライアントソフトに戻ってこのコードを入力してね」と表示される。
Callback URL Application Type を Browser にした場合に入力する。ユーザーがアクセス権を承認した後、この URL にリダイレクトする。サービスの URL が確定してない場合は、仮で入れておくか Application Type を Client にしておいて、後で設定しても良い。
Default Access type アプリケーションに与えられる権限。Read & Write か Read-only か。
Use Twitter for login 自分のアプリケーションで「Sign in with Twitter (Twitter でログイン) 」を利用する場合はチェックを入れる。

1-2. Consumer Key と Consumer secret を取得する。

アプリケーションを登録すると、 Consumer KeyとConsumer secretが取得できます。
こんな感じです。
クリックして拡大

2. アプリケーションからTwitter APIを利用する。

HTTP_Request2 は デフォルトで ssl_verify_peer が true になっている。
デフォルトのまま使うと Twitter と SSL 通信するときに
Unable to connect to ssl://twitter.com:443
のエラーになってしまうため、 ssl_verify_peer を false にして accept

$consumer_key = '[1-2で取得したConsumer key]';
$consumer_secret = '[1-2で取得したConsumer secret]';

include 'HTTP/OAuth/Consumer.php';
$consumer = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);

$http_request = new HTTP_Request2();
$http_request->setConfig('ssl_verify_peer', false);
$consumer_request = new HTTP_OAuth_Consumer_Request;
$consumer_request->accept($http_request);
$consumer->accept($consumer_request);

session_start();

// リクエストトークン を取得
$callback = '[Twitter に登録した Callback URL]';
$consumer->getRequestToken('https://twitter.com/oauth/request_token', $callback);

$_SESSION['request_token'] = $consumer->getToken();
$_SESSION['request_token_secret'] = $consumer->getTokenSecret();

// 認証用 URL を取得
$auth_url = $consumer->getAuthorizeUrl('https://twitter.com/oauth/authorize');

// アクセストークンを取得する
$verifier = $_GET['oauth_verifier'];
$consumer->setToken($_SESSION['request_token']);
$consumer->setTokenSecret($_SESSION['request_token_secret']);
$consumer->getAccessToken('https://twitter.com/oauth/access_token', $verifier);

$_SESSION['access_token'] = $consumer->getToken();
$_SESSION['access_token_secret'] = $consumer->getTokenSecret();


ここまでで、アクセストークンを取得できる。
ここからは、Access Token, Access Token Secret を利用して Twitter APIにアクセスする。

アクセストークンを利用してAPIにアクセス

$consumer->setToken($_SESSION['access_token']);
$consumer->setTokenSecret($_SESSION['access_token_secret']);

$status = 'つぶやきの内容';
$response = $consumer->sendRequest("https://twitter.com/statuses/update.xml", array('status' => $status), "POST");
echo htmlspecialchars($response->getBody());


Services_Twitter の場合

require_once 'Services/Twitter.php';
require_once 'HTTP/OAuth/Consumer.php';

try {
    $twitter = new Services_Twitter();
    $oauth   = new HTTP_OAuth_Consumer(
       'consumer_key',
       'consumer_secret',
       'auth_token',
       'token_secret');
    $twitter->setOAuth($oauth);

    $msg = $twitter->statuses->update("I'm coding with PEAR right now!");
    print_r($msg);
} catch (Services_Twitter_Exception $e) {
    echo $e->getMessage();
}


Reference

PHPでTwitter APIのOAuthを使う方法まとめ - 頭ん中
http://www.msng.info/archives/2010/01/twitter_api_oauth_with_php.php

Twitter API Wiki / Twitter API Documentation
http://apiwiki.twitter.com/Twitter-API-Documentation

HTTP_OAuth
Net_URL2
HTTP_Request2
Services_Twitter

Google Maps jQuery Plugin - jQueryでGoogle Mapsを簡単に扱えるプラグイン

Summary

jQueryでGoogle Mapsを簡単に扱えるプラグイン。

Sample code

$(document).ready(function() {
  $('selector').googleMaps({
    latitude: 49.26063518364422,
    longitude: -123.15673828125
  });
});


Reference

Shawn Mayzes - Google Maps jQuery Plugin
http://www.mayzes.org/googlemaps.jquery.html

via

IDEA*IDEA - 2010-01-08 - jQueryでGoogle Mapsを簡単に扱えるようになるプラグイン『Google Maps jQuery Plugin』
http://www.ideaxidea.com/archives/2010/01/jquery_google_maps.html

第一回 チキチキ エンジニアの為の JOJO 勉強会

Summary

全てのエンジニアは JOJO を学ぶべきだ!! いや、JOJO こそがすべてだ!! ということで
会費 2000円でピザのケータリングとビールで ドンチャン騒ぎ!!!
食事と飲み物が足りなくなった分はプラスで会費徴収して買出し行く形で。
途中参加もありです。


日程 2010-01-22(金) 19:00 - 22:30(厳守)
場所 グリー株式会社 3Fセミナールーム



Reference

第一回 チキチキ エンジニアの為の JOJO 勉強会
http://java-ja.yoshiori.org/index.php?%E7%AC%AC%E8%B2%B3%E6%8B%BE%E5%9B%9E

ATND - 第一回 チキチキ エンジニアの為の JOJO 勉強会
http://atnd.org/events/2765

Rmake - ゲームを作成して共有するサイト

Summary

ブラウザ上でゲームを作成して共有できるサービス。

Reference

Rmake
http://rmake.jp/

Rmake Project
http://www.rmake.net/

Rmake Labo
http://www.rmake-labo.com/

平凡なエンジニアの独り言 (Rmake開発者 akasaka さんのBlog)
http://d.hatena.ne.jp/akasata/

rmake on Twitter
http://twitter.com/rmake

akasata on Twitter
http://twitter.com/akasata

Rmakeユーザーの近況が分かるブログ - Rmake Blog
http://blog.rmake.jp/

via

「みんなでゲームを創る」Webサービスが登場、巨大RPGの可能性も | WIRED VISION
http://wiredvision.jp/blog/compiler/201001/20100107215526.html

Phantasmal Island - 日本国内最古のネットワークRPG

Summary

工学院大学院生だったβ-Yak-38氏の修士論文のテーマ、
「仮想都市を舞台にしたサーバークライアント方式のコミュニケーション実験」の成果物

Wikipediaで見つけたのでメモ。
懐かしすぎる。

Reference

ファンタズマルアイランド -PHI- ビギナーズサイト
http://phi-game.com/

Wikipedia - Phantasmal Island

Lightbox JOJO - ジョジョ風Lightbox

Summary

ジョジョ風 Lightbox。

Lightbox JOJO

画像が表示されるまでは「ゴゴゴ」。
画像が表示されると「ドギャーン」。

そのふたつの拳の間に生じる真空状態の圧倒的破壊空間はまさに歯車的砂嵐の小宇宙!

フォントは、ジョジョフォント[2006-07-01-2] を利用とのこと。

Reference

Lightbox JOJO
http://serennz.sakura.ne.jp/toybox/lightbox/jojo.html

Sinsy (しぃんしぃ) - アップロードされた楽譜に基づいて歌声を生成する

Summary

アップロードされた楽譜(MusicXML)に基づいて自由な歌声を生成するHMM歌声合成システム

「隠れマルコフモデル」を使った新しい歌声合成システムとのことで、
パラメータ調節なしに自然な歌声を合成する、というのが特徴

Reference

Sinsy - HMM-based Singing Voice Synthesis System
http://www.sinsy.jp/

Sinsy Demonstrations - ニコニコ動画
http://www.nicovideo.jp/mylist/16683210

謎の歌声合成技術「Sinsy」の情報を集めてみた:CloseBox and OpenPod:ITmedia オルタナティブ・ブログhttp://blogs.itmedia.co.jp/closebox/2009/12/sinsy-6ff5.html

世界の片隅でVocal Synthesizerとか聴いて過ごすブログ - 隠れマルコフモデルベースの歌声合成システム Sinsy が「耳のあるロボットの唄」を唄っています
http://vsblog.khaotic.info/archives/2792

via

Slashdot Japan - アップロードされた楽譜に基づいて歌声を生成する「Sinsy」
http://slashdot.jp/article.pl?sid=10/01/06/0252206

tmux - terminal multiplexer

Summary

GNU screen はもう古いらしいので、tmuxに乗り換え。

クリックして拡大クリックして拡大クリックして拡大

操作 ( それ、Gentooだとどうなる? - 2009-07-09 より)

操作 screen tmux
ウィンドウを作成 C-a c または C-a C-c C-b c
ウィンドウ名を変更 C-a A C-b ,
ウィンドウ一覧表示 / 移動 C-b " C-b w
次のウィンドウへ移動 C-a n または C-a C-n C-b n
前のウィンドウへ移動 C-a p または C-a C-p C-b p
最後に操作したウィンドウへ移動 C-a C-a C-b l
ウィンドウを強制終了 C-a k C-b &
ペイン分割 C-a S C-b "
ペイン分割解除 C-a Q C-b !
ペインを強制終了 C-a k C-b x
ペイン間移動 C-a Tab C-b o または C-b Up または C-b Down
ペインを狭める / 広げる C-a - または C-a + C-b C-Up または C-b M-Up または C-b C-Down または C-b M-Down
ペイン配置パターンの変更 なし C-b Space または C-b {1,2,9}
中断 C-a d または C-a C-d C-b d
再開 screen -x tmux attach
ウィンドウ配置の変更 なし C-b Space
コピーモードでのコピー始点選択 Space または Enter C-Space (viモードならSpace)
コピーモードでのコピー終点選択 Space または Enter M-w (viモードならEnter)
現時刻表示 C-a t または C-a C-t C-b t

Reference

tmux
http://tmux.sourceforge.net/

それ、Gentooだとどうなる? - 2009-07-09 - 時代はGNU screenからtmuxへ
http://d.hatena.ne.jp/tmatsuu/20090709/1247150771

それ、Gentooだとどうなる? - 2009-07-10 - tmuxをGNU screen風キーバインドに変更する
http://d.hatena.ne.jp/tmatsuu/20090710/1247179550

パブリックドメイン・クラシック (Public Domain Classic) - クラシックのMP3音源が約4200曲

Summary

日本での著作権保護期間が終了し、パブリックドメインとなったクラシック音楽を公開しています。
現在の収録曲数はおよそ4200曲です。
全て無料でダウンロードできます。


Reference

パブリックドメイン・クラシック
http://public-domain-archive.com/classic/

via

Zopeジャンキー日記 - 2010-01-05 - クラシックのMP3音源が約4200曲 パブリックドメイン・クラシック
http://mojix.org/2010/01/05/public_domain_classic

Google App Engine 実践リファレンス

Reference

著者の (有)サイバースペース 代表 清野 克行 様より謹呈本としていただきました。

  - クラウドコンピューティングの概要
  - Google App Engineの環境整備
  - Google App Engineを利用したプログラミング
  - Google Bigtable の利用

Java版とPython版の双方に対応している点が嬉しい。
どちらかというとリファレンスというよりも入門書。
本の手順通りに学習できれば、Google App EngineでCRUDが使えるようになるレベル。
他、クラウド環境で気になる、CPUなど、リソースについても言及。

Amazon - Google App Engine 実践リファレンス

Reference

Google App Engine 実践リファレンス