memo.xight.org - 2010-01

2010-01-28 Thu

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

2010-01-27 Wed

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

2010-01-26 Tue

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

2010-01-22 Fri
2010-01-20 Wed
2010-01-19 Tue

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

2010-01-13 Wed

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





2010-01-08 Fri

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

2010-01-07 Thu

Lightbox JOJO - ジョジョ風Lightbox

- Summary
ジョジョ風 Lightbox。

Lightbox JOJO

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

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

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

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

2010-01-06 Wed

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

2010-01-05 Tue

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 実践リファレンス