2011年04月26日

LWP::UserAgent の HTTPS 対応は LWP::Protocol::https というパッケージに分離されました

最近あたらしい Perl の環境を作って LWP を入れて https なページにアクセスしようとしたら

LWP will support https URLs if the LWP::Protocol::https module is installed.
って言われてビビるかもしれません。

それは https 対応するモジュールが別ですと李に分離されたためです。
そういう時は迷わずLWP::Protocol::httpsを入れればいいです。

Posted by Yappo at 19:24 | Comments (0) | TrackBack

2011年04月22日

iPhoneの移動履歴を再生するiPhone Tracker Stream作ったよ

今話題の、お前のリアルな行動履歴はJobs様に筒抜けの件ですが、sugyan++ するだけでiPhoneのトラッキングファイル抽出作ってもらったので、それつかってiPhoneの移動履歴をGoogle Mapでストリーミングするツール書いたよ。

https://github.com/yappo/iPhoneTracker
適当に動かしてSafariとかで開いてください。
全部再生し終わったらプロセス殺してあげ直すとかそういうので。
s/Wifi/Cell/ にすると基地局をプロットします。デフォルトはWifiアンテナの位置なのでより精密です。

彼女の電話をハックするネタが前の飲み会で話題になっていて、いつかやりたいなーと思っていたのですが、遂に出来てよかった^^

ちなみに私のはこんな感じでした。

Posted by Yappo at 16:20 | Comments (0) | TrackBack

2011年04月13日

yappocall を作った。もしくは inside yappocall

もともとはヌーブラアプリを作るためにiPhoneの開発環境を作ったのですが、ちょっと気が向いてim.kayackみたいなのを作ってみました。
im.kayack使えば良いじゃんって話もありますが、着信音を僕の好きな音とか声とかにしたかったので作ったのです。
通知の時にならす時には、hoge.appを作った時に一緒にコンパイルされてないと駄目なんです。
同時にコンパイルされちゃってさえいれば、通知するサーバ側の都合で音声を選べるという感じ。

yappocallは何かというと、YappoのiPhoneに好きな音声と共に秘密のメッセージを送れる超便利サービスです。
http://seiitaishougun.com/iphone/yappocall.cgi
で、いつでもどこでも好きな時に僕宛に秘密のメッセージを送れます。
人生相談、ピザの注文、プロポーズまで幅広くお使い下さい。

すでに、ランチのお誘い、ワインのお誘い、ごじます、おススメマッサージ店のご紹介、地震速報、新入社員の愚痴、AKBのセンターはtokuhiromがなるべきというご提案、挿入持ってくる、じゃーん!、おごれアピールなど多種多様のcallを受けております。

なんでこのエントリを核期になったかというと

これ仕組みしりたいです・・・

っていうcallをされたからですね。

仕組みはiPhoneのAPIでRemote Push Notifiyとかそういう仕組みが用意されてるので、頑張って実装して下さい。
そんな頑張んなくてもPush通知使いたい!ってAPIを叩くと自動的にappleのサーバに問い合わせて、その端末に紐づいた Device Token を引数にどっかのメソッドが delegate されて呼ばれるので、そこで好きなように device token をサーバ側に持ってくれば良いだけですね。
簡単です。

サーバーの方はとっても簡単で yappocall.cgi を用意して、 worker.pl をローカルで実行させるだけです。
Apple の Server に通知を送りつける専用プロセスが必要なのが面倒ですが、短時間に接続するとbanされる可能性もあるってtypesterのお兄さんが言っていたのでsocketを使い回してbanを防ぐ作戦をしています。
CGI と Worker の間の通信は今大人気の MessagePack を使ってるので安心高速ですね!

残念なのは Net::APNS::Persistent は、 socket 切れたら放置される実装になってるので、直すのも面倒なので前回の通知処理から30分以上たってたら socket 繋ぎ直すようにしてあります。

烏賊ソース

Posted by Yappo at 02:21 | Comments (0) | TrackBack

2011年04月08日

OSDC.tw 2011 で Groonga 布教してきました/もしくは TOEIC スコア 100 未満の日本人が国外カンファレンスで英語プレゼンする方法

エントリだけ書いててすっかりpostするのを忘れてたんですが、猿先々週にSPM48の中から数名のメンバーを集めたチーム台北2011選抜メンバーがosdc.tw 2011で発表してくるイベントがあったのですが、僕はそこで Groonga の布教をしつつ日本での検索ソフトウエアについての発表をしてきました。
チーム台北2010選抜の時にいったosdc.tw 2010では、日本語でプレゼンして来たんですが今度は英語でしてきました。

すったもんだがございまして、資料の英訳が全く間に合わなくて @__gfx__, @charsbar, @obra のお三方に英訳を助けて頂きました、本当に助かりました!

実際のトークとかは、keynoteの機能を使ってメインディスプレイに台本が出るようにしてたので乗り切れた感じだったけど、ちょくちょく発音のしかたわからない単語とか出てきょどったかんじ。
keynote自体も使い出したのが前日とかだからもうわけわかんなかった><

自分の発表の直前でclkao会場を満席にしていた影響か自分の出番でも残ってる人が多くて「やばいなー」とか思ったんだけど、前日に頂いた「あなたにコンパイルされたいって丸投げすればいいよ」って有り難いお言葉を思い出しながら、話はじめたら実際はどうってことなかった。

英訳のスライドのお陰で、僕が言いたかった事は少しでも伝わったかなーという感触はありました。
質問も3,4個いただいたのですが何せヒアリング全然できなくて質問に答えられなかったのですが、ふと思いついて質問してる人のとこまでPCもってって「たいぷぷりーず!」ってお願いしてexcite先生のtextareaに入力してもらって質問内容を理解しました!(typingしてもらったら翻訳するほどの事じゃなかったけど)。
スピーカーがおもむろに質問者に駆け寄って、文字で質問しろとか言い出したので会場では受けてた。

板抱いた質問は大まかに

Q.1TBとかのデータでも動くのか?
A.indexを分割して複数台のマシンに配布してsearcherを上手く作ればok
Q.どの程度のサイズに分割するの?
A.100GBくらいが限界かなっと
Q.groonga storage engineとか簡単につかえるの?
A.ちょうかんたん!
Q.mysqlでのクエリってどうなるの?
A.mysqlに本来ある構文をhookしてるからmysqlのドキュメント見てね
Q.groonga mysqlはどうやって俺のFreeBSDいれるの!!1ドキュメントとか無さそうだよ!!
A.あー書いてないね、基本的に彼らが必要としてる事しか実装しないからねー
Q.まじで英語のドキュメントないの!11
A.ないの、、日本帰ったらいっとくごめん

とかそういう感じで、やっぱりMySQLに組み込みに凄い興味もたれてたようでした。

英語力なくても、勢いだけでプレゼンの内容に興味もってもらえるもんですね!もちろん翻訳の内容が良かったのは言う迄もありませんが!
という事で国土が終わりそうな日本にとどまるだけじゃなくて、日本で面白い事やってるみなさんも積極的に国外でプレゼンしてくるといいですよ!
とても簡単ですから本当に!

そうそうまだ本の紹介してませんが、moritapoさんから献本頂いた検索本超いいよ!って台湾で宣伝してきました。
本の紹介と、発表以外の話はまた後ほど。

Posted by Yappo at 14:39 | Comments (0) | TrackBack