2016-05-22 (Sun)

近況報告 〜 仕事の話 〜 AppBank、apprime、そして

最近はFacebookでしかプライベートなことは発信していないのですが、転職したし久しぶりに近況について書いてみます。ここ、3年も更新していないのか。

2年ほどさかのぼりまして、AppBank のメディア事業部というところでアプリ開発者として1年ほど、そこから独立したapprimeという子会社で1年ほど働いてました。apprimeでは社長の小川さん(ぇ)という人の忠実なしもべとして頑張って会社を盛り立ててました。多分盛り立ってたんじゃないかな。わかんないけど。少なくともありがたいことに小川さんことspring_maoさんには高く評価していただけてました。

AppBankはグループ全体として見てもエンジニアはあまり多くなかったのですが、エンジニア仲間はみな真面目で熱心だったので新しい技術についてすぐに聞くことができたり、自分とは守備範囲が違うことをしてる人ばかりだったということもあって勉強になる機会が多かったです。みんな元気にやってっかな。

spring_maoさんとは2年間がっつりご一緒させてもらいましたが、この人は本当にすごい人でスピード感についていくのが大変でした。なんていうか、脇目もふらずゴールに向かって一直線みたいな。無駄がないんです。論理的で筋が通ってるから議論にも説得力があって良い刺激を受けながら開発ができました。そういえば社外で勉強会をやった時にちょっとイジったら「部下からうんざり呆れられてる」みたいな捉え方をされてたっぽいんですよw んなアホなww 他にもこの手の勘違いエピソードは山程あるんですけど、最後の機会なので言っておきますが自分は尊敬してるし、この人がいたからこそ良いものを作ることに集中できたと思ってます。そもそも仕事ができる人だから他の人からもかなり信頼されていたんじゃないかなと。転職活動もいい感じに成功させてたしね。さらなるご活躍に注目しています。

話が逸れた。

apprimeでの最後の仕事は 仲間をさがそうHIROBA というゲームユーザ向けのSNSサービスの開発でした。パズドラやモンストをやってる人はぜひ使って欲しいです。開発はすっごく大変でしたけどとても楽しかったです(小並感)。

今年のはじめにapprimeを退職して個人の活動にもどったものの、まだ少なくともあと何年かは会社員として組織で働いてみたかったのと、せっかくの機会だったので就職活動というやつをしてみたく、色々話を聞かせてもらったり紹介してもらったりと活動し、ついにZaimという会社で働き始めました。ぱんぱかぱーん。

* 株式会社 Zaim

Zaimは名前そのものの Zaim というオンライン家計簿のサービスを開発している会社です。社長の閑歳さんがZaimのもともとの開発者でいまもバリバリコード書いてるっていうのもあってかメンバーは技術をよくわかってる人が多く、採用もかなり慎重にやってるみたいでレベルも高いです。

自分は新人のぺーぺーなもんですから「社内で自分が一番雑魚」な状態になったので、ここからまた少しずつステップアップしていかないとなと思います。とりあえずはやくReactiveCocoaとMVVMをマスターしないと雑魚中の雑魚から抜け出せなくてヤバイです。しぬ。

職場自体もまわりのメンバーも、自分の性格と求める条件から見てめちゃくちゃいい環境なのですごく快適で早くも幸せです。あとはこの素晴らしい状況に対してどれだけ貢献して返していけるかしかないので、そこはもうしっかり社内外含めて自分に期待してるいろんな人をガッカリさせないように全力をだすしかないですね。これからの高山に期待…(プレッシャーが!)

Zaimに興味があるかたはぜひご応募くださいまし。

* 株式会社 Zaim・エンジニア/デザイナー/経営戦略担当を積極採用中!

ではまた…次は何年後…とかにならないようにしたい…。

10:10 | コメント (0) | トラックバック (0)

2013-07-01 (Mon)

Kindlizer Backendを使ってニュースをKindleに配信

先日諸事情の人(なんのこっちゃ)が突然「最近、ネットのニュースは SmartNews からしか読んでないから意見が偏ってこのままだとネットイナゴになるから 日経電子版 とか他のやつも読もうと思うんだけどSmartNewsと同じような感じで快適に読めないかね」なんて言うから「日経のアプリ出てたはずだから使えばいいじゃん」って返したら「ウォール・ストリート・ジャーナル も読みたいから同じようなインターフェイスで読めると嬉しい」とかおっしゃいまして、特にオフラインで読めることを重視してらっしゃったようなので、そういえば ただのにっき で日経新聞のデータをKindleに送る仕組みを作ってたなと思ってそれを紹介してみたところ気に入って頂けたようなのでセットアップしてみました。

Kindle Paperwhite はもちろん、iPhoneのKindleアプリでも読めるのでなかなか快適です。

ちなみに Calibre っていうソフトウェアを使っても似たようなことができるみたいで、しかもCalibreはGUIのアプリケーションだから使い始めるのも簡単そうなんだけど、ウォール・ストリート・ジャーナルの有料版に対応してるのか良くわかんなかったのと、Kindlier Backendを使ったほうが面白そうじゃんって思ったので不採用としました。

Kindlizer Backendは導入方法も書いてあるので、herokuを使ったことがあればすぐ使えると思います(そこが重要だけどw)。一個だけわかんなくて困ったのは、メールを配信するためにはSendGrid Starterていうアドオンのセットアップみたいなプロセスが必要なことでした。herokuでKindlizer Backend用に作ったアプリの管理画面にSendGrid Starterっていうのが出来てるので、それをクリックするとアカウントの情報が出てきて、なにやら承認的なボタンを押してくれよって感じになっていて、そこを進めないと使うことはできませんでした。どんな画面だったのかは忘れましたけど、とにかくそういうのがありました。

あと、nikkei-paidで有料版を読みたい場合、日経新聞のユーザ名やIDは環境変数で指定します。

$ heroku config:add NIKKEI_ID=[your id] NIKKEI_PW=[your pw]

メール以外にもDropboxにファイルも転送できるようで、Dropboxでアプリを追加して各種キー類をこれまた環境変数で指定すると使えるようになりました。

Dropboxのキーを取得するのはやることが色々あって、最初に App Console からPlatformを「Core」にしてアプリを作ります。App folderとFull Dropboxとありますけど、App folderを選択しました。Fullだとフルアクセスできるんで怖いよね…。ただし、App folderにすると lib/kindlizer/backend/task.rb のDropboxClientのインスタンスを作る部分のコードをいじる必要があります。

client = DropboxClient.new(session, :dropbox)
↓
client = DropboxClient.new(session, :app_folder)

アプリを作ったら、リクエスト用のトークンを取得します。以下のページのコードを使うと、リクエストトークンとアクセストークンと一通りの必要な情報を修得できます。

そんな感じでした。

Kindlizer Backendを使ってる人ってどのくらいいるんですかね。これなかなか便利です。ウォール・ストリート・ジャーナル有料版もだいたいできて微調整してるところなので、もうちょっと様子を見たらフォークしてプルリクエストしようと思います。→ しました

スクレイピングするのは問題ないのか規約もチェックしてるんですけど、禁止されてる感じではないという印象かなあ…。このいうのは解釈が難しいですね。

(iii) 私的利用の目的で本サービスの記事をダウンロード、保存及びアーカイブすることができます。会員は、私的利用の範囲内で数名の個人にアーカイブへのアクセ スを許すことは構いません。

Info / 利用規約 / WSJ日本版 - jp.WSJ.com - Wsj.com

00:12 | コメント (0) | トラックバック (0)

2013-06-24 (Mon)

さくらVPSのデータのフルバックアップにCopyを使ってみる

最近 Copy っていう Dropbox ぽい感じのオンラインストレージが出てきましたけど、なかなか盛大に容量を割り振ってくれるので さくらのVPS のバックアップデータを収めるのに使ってみることにしました。

これまでは Mondo Rescue っていうのを使って定期的にイメージを生成して、適当なタイミングでダウンロードっていう運用でした。Mondo Rescue で作ったイメージを使うと、管理画面からそのまま復元できるらしいのでお手軽です。万一消えた時に再構築する手間がほとんどかからないっぽい雰囲気でステキですね。

でまあ「適当にダウンロード」と書いた通りに不定期で手元にダウンロードする運用だからわりと期間が空くわけでバックアップとしては微妙なんです。なので、せっかく容量が豊富な Copy をゲットしたので頼ってみることにしました。

まだ登録してない方はここからどうぞ!!

15GBに加えて、紹介者と双方に5GBのボーナスもらえますので20GB使えます。Twitterとリンクすると、さらに2GBもらえます!すげえ!

* バックアップに挑戦

さて、実際のバックアップですが、Copy の信頼性がいまひとつわからないので暗号化したデータを転送するようにしました。

EncFS という暗号化ファイルシステムがあるので、それを使います。今回環境構築するにあたって以下のページを参考にしました。

バックアップの運用はこんな感じで考えています。

  • Copy の同期用ディレクトリは /drive/copy とする
  • EncFS のルートディレクトリは /drive/copy/encfs とする
  • 適当なところに上記ファイルシステムをマウントする → /mnt/encfs
  • /home 以下のデータを rsync して /mnt/encfs/home 以下と同期する (1日数回)
  • /home 以下を除いて Mondo Rescue でバックアップイメージを作成して /drive/mondo 以下に置く (1週間に1回程度)
  • /drive/mondo にできあがった ISO イメージを splite で分割して rsync で /mnt/encfs/mondo 以下と同期する

さくらでISOイメージを使って復元する場合、複数のイメージファイルは使えず、さらに5GBまでといったファイル制限があるという噂なので、/home とそれ以外とでバックアップを分けています。/home 以外は変更が少ないしそれほど重要でないのでこうしました。Copy では1つのファイルは1.5GBまでしか転送できないので、ISO イメージを作ったあとに分割します。

うちは Ubuntu で運用してるので、必要なものは APT で入りました。

$ aptitude install mondo encfs

Copy の Linux 版をダウンロードしてきたら、実行してみます。x86 ディレクトリにバイナリがあるので、それを使いました。

$ sudo mkdir -p /drive/copy
$ sudo ./CopyConsole -username=email@example.com -root=/drive/copy

多分パスワードを聞かれて同期が開始されることだと思います。適当なファイルを作って同期されるか確認してみましょう。ちなみにこれだとバックグラウンドで実行できないので、設定がうまくいったらデーモンモードで起動しましょう。

$ sudo ./CopyConsole -username=email@example.com -root=/drive/copy -daemon &

次は EncFS をセットアップします。ルートディレクトリ・マウントポイントの順で指定します。

$ sudo encfs /drive/copy/encfs/ /mnt/encfs/
ディレクトリ "/drive/copy/encfs/" が存在しません。作成しますか? (y,n) y
ディレクトリ "/mnt/encfs/" が存在しません。作成しますか? (y,n) y
新しい暗号化ボリュームを作成します。
Please choose from one of the following options:
 enter "x" for expert configuration mode,
 enter "p" for pre-configured paranoia mode,
 anything else, or an empty line will select standard mode.
?> 

Standard configuration selected.

設定が完了しました。以下のプロパティのファイルシステムが
作成されます:
ファイルシステム暗号アルゴリズム: "ssl/aes", バージョン 2:2:1
Filename encoding: "nameio/block", version 3:0:1
鍵サイズ: 192 ビット
Block Size: 1024 bytes
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.
File holes passed through to ciphertext.

Now you will need to enter a password for your filesystem.
You will need to remember this password, as there is absolutely
no recovery mechanism.  However, the password can be changed
later using encfsctl.

新しい Encfs パスワード: 
Encfs パスワードの確認: 

適当なファイルを作ってみると、/drive/copy/encfs 内に自動的に暗号化されたファイルが生成されます。/drive/copy 以下は Copy の同期ディレクトリになっているので、自動的にサーバに転送されますね。これで準備完了です。

$ sudo touch /mnt/encfs/IhaveApen
$ ls /drive/copy/encfs/
.encfs6.xml  EI33ZIyxOCbSJ6cKmOizrWWg

ここまできたらあとはまあ適当なスクリプトなりなんなりを書いて、/mnt/encfs にファイルを突っ込むだけです。ホームディレクトリはこんな感じにしています。

#! /bin/sh

if [ -x "/mnt/encfs/home" ]
then
   rsync -pa --delete /home /mnt/encfs
fi

Mondo Rescue はこんな感じにしました。

#! /bin/sh

BKDIR=/drive/mondo
SyncDIR=/mnt/encfs

if ! [ -x "$SyncDIR/mondo" ]
then
   exit
fi

rm -f ${BKDIR}/*
mkdir -p $BKDIR
mondoarchive -Oi -L -N -s 4200m -S /tmp -d $BKDIR -E "/drive /home /mnt"

cd $BKDIR
split --bytes 800m mondorescue-1.iso

rsync -pa --exclude '*.iso' --delete $BKDIR $SyncDIR

データベース使ってる場合は、ダンプしたデータを /mnt/encfs 以下に定期的に出力するとより安心かもしれないですね。

15:19 | コメント (0) | トラックバック (0)

2013-04-06 (Sat)

XUL/Migemo の Firefox20 対応

XUL/Migemo にどっかで見つけたパッチあてて使えてたんだけど、先日 Firefox20 に更新したら動かなくなったので調べて解決しました。自動アップデートしちゃうので、バージョン番号を0.13.7にしてあります。updateURL 消せばいいのか。まいっか。

<![CDATA[]]> が使えなくなったのでその対応とか、検索バーの位置を変更する機能の一部が動いてない部分があったので消したり、辞書の初回ダウンロードとハイライトを動くようにしたくらいかな。自分はあんまり変わった設定で使ってなくてウェブページで migemo 検索できれば満足なので、他にも動いてない部分もあったりするかもしれませんごめんなさい。

オリジナルの 0.13.6 に以下の2つのパッチをあてて自分で作ることも可能です。

全部できてコード公開しようかなと思った後に、なんと github に piro さんのコードが上がってるのを見つけてしまってビックリ。先に調べろって話だよね…。更新もされてるみたいなんだけど、make して出来上がった xpi ファイルを Firefox にインストールしようとしてもうまくいかなかったので、同じように困ってる方がいるかもしれないから自分のやつを公開した次第です。あとで github のやつも調べてうまいことやりたいな。

[2013.04.10追記]

上記 github のコードが動かなかったのは、Mac だったかららしくて修正してもらいました。xpi になったものは以下から取得できるようです。こっち使った方が良いと思います。

takayama [情報ありがとうございます。 いまちょっと立て込んでいるので、落ち着いたら見てみます...]
takayama [ぼくはpiro氏のバージョンを使っているのですけど、そっちは動くのかな。]
ジーノ [piro氏のバージョンをいれてみましたが、やっぱり死んでいました。 ご報告です。<...]

00:00 | コメント (8) | トラックバック (0)

2012-06-20 (Wed)

新しい MacBook を買ったときに入れてるソフトとか

MacBookAir 買いまして、新規にセットアップしたんでその時にインストールしたソフトとかもろもろ。

* ダウンロードしてくる

* MacAppStore の購入履歴から再ダウンロード

  • iPhoto
  • Pixelmator
  • Evernote
  • SkyChatViewer - Skypeのチャットログを見やすくしてくれる
  • Janetter - Twitterクライアント
  • Dash - ドキュメントビューア
  • Xcode
  • Day One - 作業メモ書くのに使ってる
  • ReceiptKeeper - Suicaデータの管理に
  • Toucan Search - ファイル検索
  • Growl

* コマンドライン操作

  • MobileTimeMachineをオフ(サブマシンの場合)
    • sudo tmutil disablelocal
  • 4本指でダブルタップすると直前のワークスペースへ移動
    • defaults write com.apple.dock double-tap-jump-back -bool TRUE && killall Dock

* homebrew

  • 最初に Xcode を起動して、Preferences から Command Line Tools をインストールする
  • homebrew のインストール実行
    • /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
  • 入れるもの
    • coreutils, colordiff, wget, lv, gnupg, imagemagick, tig
  • screen の Formula をどっかからゲットしてきてインストールしたんだけど忘れた

* SSHの接続が遅いので設定を変える

ローカルネットワーク間でのSSH、具体的には MacBook 同士で接続開始するまでが長いので、以下の2つのファイルに設定を追加した

  • /etc/ssh_config
    • AddressFamily inet
  • /etc/sshd_config
    • UseDNS no

13:34 | コメント (0) | トラックバック (0)

2012-01-15 (Sun)

ChainLP が便利すぎました

自炊した文庫本を Kindle で読むのに Kindlizer を使うとなかなか綺麗に仕上げてくれまして、ローカルで動かすには VMWare 内の Ubuntu で変換処理してたんだけど、純粋に Mac のみで動作させたいと思って Automator で動くようにとかして遊んでたところ、この界隈では結構有名な ChainLP を使ったことなかったので、どんなもんか試してみようと思って使ってみたらアラ大変。これはとんでもなく便利過ぎて鼻血でそうになりましたよもっと早く使うべきでした。

なによりも便利だなと思ったのが、ノンブルを自動で認識して除去してくれる機能。Kindlizer の場合は自分でカットする領域を決めないといけないから、スティーブ・ジョブズ名語録 みたいに通常の本文が入るページと、合間に入るコラムでサイズが違うような場合に調整するのがめんどくさいということ。

ちなみにこんな感じです。左がコラムのページで右側が名言が書いてあるページ。

ChainLP だとカットする領域を自動で認識してくれるみたいでこういう悩みからは開放されそう。Windows なソフトなので、Mac のみで変換したいっていう願いは結局かなわないけど、5分もかからず変換できるほど早いしとにかく楽なのでむしろプラスだという事でここはひとつ。

というわけで色々と試してみて、設定は以下に落ち着いたのでメモ。

  • [本文ボールド可] なし
  • [ガンマ補正] 2.0
  • [ヒストグラム] 0,180,235
  • [シャープネス] 2
  • 「編集」→「詳細設定」→「ページ補正設定」 [ノンブル転送] なし

あと、スキャンについては ScanSnap 使って以下の設定でやってます。

  • [画質] スーパーファイン
  • [カラーモード] グレー
  • [オプション] 文字をくっきりのみオン
  • [ファイル形式] PDF
  • [ファイルサイズ] 3

諸々やって Kindle に転送するとこんな感じ。参考までに 青空キンドル で変換したやつも。左がScanSnap+ChainLP、右が青空キンドル。とてもスキャンしたデータには見えないほど綺麗に描画されます。

23:22 | コメント (0) | トラックバック (0)

2011-10-08 (Sat)

青空キンドルの利用回数が60万回を超えてました

新型のKindle も出たことだし、長らく放置気味だった 青空キンドル のシステムを改修しました。青空文庫 も大分進化してて、注記の整理や新設が行なわれたので、そのあたりの対応がメインです。

そんでもって、ログとか見てたら思ったより利用者が多いんですよね。というわけで、前回の集計 からだいぶ経ってるし中途半端な数値ですが、改めて集計をしてみました。

  • 2011.10.08 15:00現在
  • ログ取得期間: 675日
  • 変換回数: 637,041回
  • 一日平均: 944回/日
  • 変換された作品の種類: 10,561冊 (ほとんど全部?!)

まさか1日に1,000回近くダウンロードされるサービスになってるとは…。Sonyのとかiriverのやつとか、Kindleユーザ以外の方も結構いらっしゃるみたいですね。

2010年3月7日からは、独自のテキストを入力してPDF変換する機能も提供しているのですが、こちらは71,364回と、青空文庫の変換と比べて10%程度の利用数でした。1日の変換数は約123回ですが、慣れないと1回で満足な変換結果を得られないんでちょっと少なめに見た方がいい数値ではあります。それでも割りと多いような気がしますけどね。変換したいテキストとかって、そんなあるわけじゃないだろうし。

最後に、1000回以上変換された作品のランキングを載せておきますので、どんな作品を読めばいいか迷ったかたは参考にしてください。

相変わらず夏目漱石の人気は圧倒的ですね。

18:37 | コメント (0) | トラックバック (0)

2011-07-06 (Wed)

海外で盗難にあったiPhoneを保証してもらった件について

昨日書いたように サンフランシスコでiPhoneを失った わけですが、日本に帰ってきてカード会社の提携保険会社へ携行品損害の保険金を請求して結果が出たので、その時のことをまとめます。

ソフトバンクとかアップルのAppleCareとかでも何かしら(盗難は知らないけど)保証してくれるサービスがあるようですが、そういうのは一切加入してないのでここでは話題に出ません。

まずは、昨日の記事を読んでない方のために何が起きたか三行で説明しておきます。事前準備はこれでオーケー!

  • サンフランシスコで
  • 見知らぬ人間に
  • iPhoneをひったくられた

さて、犯人が捕まるわけもないのでトボトボ日本に帰ってきました。しかしこんな時のために海外旅行保険がついてるクレジットカードを使っているので、さっそく請求してみようと思い立つわけです。今回お世話になったカードは JALカードSuica CLUB-A っていうやつ。1旅行で50万円までの携行品損害の保険がついてます。

保険の種類 が書いてあるページを見てると、資料についてはメンバーズルームって所で見れるらしいので、さっそく登録して確認。東京海上日動火災保険っていう会社に連絡するといいらしいので電話してみると、とても丁寧で感じのよい女性の方が担当してくれました。

ざっと事故の状況やらカード番号などを確認したら、必要書類を送ってくれるということ。特に問題なければ30日程度で支払われるらしい。お怪我はありませんでしたかとか、優しい言葉をかけて頂きました。

Case Number

待つこと約一週間。封書が届きました。クレジットカード番号や事故の詳細、振込先口座や被害金額などを書いて、パスポートの入出国欄のコピーと、そして重要なのが事故証明書の添付。僕の場合は、サンフランシスコ警察の人にCase Numberっていう番号が書いたレポートを貰っていたので、それを添付しました。

さらに商品購入時の領収書が必要なのでこれも添付。今回被害にあったのは、iPhone4とそして一緒につけていたカバーです。iPhone4は一括払いで買っていたので、その時の領収書を。カバーの方は領収書を取っていなかったので、ダメ元でGmailに来てた購入確認メールを印刷して添付しました。せこい話ですが、やっぱり気に入って使ってた 浜崎あゆみのカバー だったので(笑)

あとは、他に旅行保険付帯のクレジットカードを持っていたらその情報も必要ということで、それについてもカード番号を記入しておきました。ぐぐったら、自損分が賄われたりするらしいんですが、今のところいまいちハッキリしないので効果の程はわからず。

書類をまとめて、さっさと投函してさらに待つこと数日。事故受付の連絡という紙切れが一枚届きました。受付番号が発行されたので、問い合わせする場合はこれを使えばいいんでしょう。

そしてさらに待つこと数日…ついに「保険金お支払いのご案内」というハガキが届いてその日に振り込みが確認できました!やった!今夜は祝杯だ!

という感じですんなり行き過ぎてあまり語ることもないんですが、こんなところです。振り込みの金額は…携帯電話だと減価償却されるらしいですが、10%引かれていました。本体+カバーの購入金額の90%が返ってきてとても嬉しいです。

* 時間軸

最初の連絡から2週間ちょっとで振り込まれました。思ったより速かったですね。最初に電話した以外は、特に直接話すことはなかったです。

  • 6.11 被害にあう
  • 6.13 夜に帰国
  • 6.15 10:30 電話して状況説明
  • 6.23 封筒届く、書類をまとめてすぐ返送
  • 6.27 「事故受付のご連絡」到着
  • 7.04 「保険金お支払いのご案内」到着&振り込み確認(ハガキは6月30日付けになっていました)

* 気になったこととか

  • 警察から事故証明書をもらう必要があるでしょう
  • 現地で警察に被害を説明する時にカバーをしてるかとか聞かれたんで、カバーの代金も支払われたんじゃないかなと思ってます
  • 現地で被害金額について話していたときに、iPhone4 32GBの現地での金額$299とかメモに取ってたので、そこが気になってましたが、普通に日本の領収書通りに支払われました
  • iPhoneを分割払いで買ってたらどうなるんでしょうかね、めんどくさそうだ、だから一括で買うといい

21:08 | コメント (0) | トラックバック (0)

2011-07-05 (Tue)

サンフランシスコでiPhoneの盗難にあった件について

もう1ヶ月ほど前になりますが、WWDC のために訪れていたサンフランシスコでiPhoneの盗難というか強奪という大変な事件が起きたので、その時にやったこととかをまとめます。

6月11日土曜日14:20分頃のことです。ユニオンスクエアのAppleStoreの近くでiPhoneを構えて写真撮影をしていたところ、死角からこうガバッとiPhoneを捕まれて、犯人のお兄さんはそのまま地下鉄のほうへ逃げてゆかれました。頑張って追いかけてみましたが、本職の泥棒に適うわけもなく、まんまと逃げられてしまいました。

行ったことある人はわかると思いますが、あの辺は人も割と多くてね、完璧油断してました。どんな感じかは ストリートビュー をご覧いただくとなんか想像つくかも。

幸いなことに、追いかけっこを目撃していた女性の方が鉄道警察に通報してくれて、すぐにBart(あっちの地下鉄)の警備員さんが来てくれました。事件発生現場は地上だったので管轄が違うらしく、サンフランシスコ警察を呼んでくれたりとか、俺英語あんまりしゃべれないから日本語わかる人探してくれて、何故かAppleStoreの従業員の方が出てきたりとかのイベントがあったんだけど、まあどうでもいいんで割愛。

残念ながらFind My iPhoneは使ってないので、その辺りの探索体験できませんでした。どっちにしろすぐ電源切ってたっぽいんですけどね。なんかどうも盗難事件が多発していたらしいんですよ。自分の場合は触れられてすらいないので、怪我も何もなく無事に日本に帰ってきました。

会場前の行列ではiPhoneを使わないに警察から指示が。

というのもiPhoneの盗難が多発しているとのこと。たんにひったくられるだけじゃなく、ひどい場合は通話中に殴られて奪われるパターンもあった様子。><

WDC2011のビアバッシュはベストコンサートだった #wwdc - Drift Diary XIII

で、ケーサツの方に名前やら連絡先やらを聞かれて解散したところで本題の、この後なにをやったか。

まずはソフトバンクへ電話して電話回線を止めてもらう。海外専用窓口に電話して、電話番号と名前とパスワードですぐ止めてくれました。

そしてiPhoneの対応。iPhoneにはパスコードロックをかけていましたが、未操作のあと何分後(1時間かな)みたいな設定だったので、念のためiPhoneからアクセスできるウェブサービスのパスワードなどを変更していきました。手元にiPod touchが複数台あったため、色々状況をシミュレートしながら設定変更をためすことができ、なかなか興味深い結果になったので、代表的なサービスについて、各アカウントで行なった対策とその結果どうなるかをまとめました。

* Google (Gmail, Calendar)

Googleのアカウントには「他のセッションをログアウト」という項目があるので、パスワードを変更してからこれを選択することで、iPhoneの「メール」アプリからのアクセスをシャットアウトできます。ただ普通にキャッシュは残ってるだろうから、最近見たメールなんかは読まれる可能性はありますね。

カレンダーは個人的に「CalenGoo」というアプリを使っていますが、オフラインの状態では取得済の予定はすべて見れます。オンラインになると、自動的にログイン画面に戻ったので、新しい予定は表示できなくなります。他のアプリでは試していないのでわかりません。

Gmailには「アカウントのアクティビティ」という画面で利用IPアドレスの履歴を表示できます。これを見ると不正アクセスがあったかどうかすぐわかります。あまり使ってないアカウントがあれば、そのアカウントのパスワードを変更しないでおくというのも手かなとか思いました。実際に不正アクセスが発生したかどうかを確認出来る可能性がぐっと上がります。

* Twitter

最初にパスワードを変更し、次にアプリケーションの接続を遮断します。

iPhoneのTwitterクライアントはOAuth/XAuthで認証を行なっているので、基本的にパスワードを変更したとしてもアカウント情報へのアクセスは可能です。http://twitter.com/settings/applications にアクセスして、表示されるアプリケーションを一通りremoveしていくと、これらの接続を切ることができます。これで、いままで使っていたiPhoneから不正にアクセスされることはなくなります。

ほとんどのクライアントは、オンラインだろうがオフラインだろうがアクセスができなかった場合にその旨のアラートを表示するだけなので、過去に表示したDMなどは見えてしまいます。これは防ぎようがありませんので、秘密情報が含まれていないかは十分確認したほうがいいでしょう。使ってるアカウント名ももろに表示されてしまうので、監視される可能性も考慮して、少しの間だけつぶやきは非公開にしておきました。

新しいiPhoneなどを入手したあと、クライアントアプリで改めて認証をした場合、OAuth/XAuthのトークンが新しくなるので盗難iPhoneからアクセスされる心配はありません。

* Facebook

Facebookのパスワードを変更すると、iPhoneアプリは自動的にログアウトされて強制的にログイン画面に戻ります。すばらしいアプリです。オフラインだとほとんど操作できないので、Facebookは早々に安全だと判断できました。

ただし、Facebookのコネクションを利用してログインするタイプのアプリの場合は、そうはいきません。たとえばBelugaです。

Belugaのログイン認証は端末毎にセッションを作っているようなので、どこかでログアウトをしても他の端末には影響がありません。Podを見れないようにするためにLeave Podを実行すると、Leaveを実行した端末とWebからは該当のpodへアクセスできなくなります。が、すでにログを表示済の端末、つまり紛失した端末上では過去ログの参照ができてしまいます(投稿はできません)。当然新しいPodを作るとすべての端末に内容が同期されます。アカウント消すこともできないし、なんかどうしようもないっぽいのでひとまずBelugaを使のはやめにしました。

* Dropbox

パスワードを変更した上で、端末毎のリンクを解除します。

リンクを解除された端末でDropboxアプリを立ち上げると、パスワード入力のプロンプトが表示されます。ただし、このプロンプトをキャンセルしてファイルにアクセスすることが可能です。じっくり検証したわけではりませんが、キャッシュされているファイルは表示できるようです。

サードパーティ製のアプリケーションとの接続を切る機能がありますが、これを実行してもすでに認証済のアプリケーションには影響がないようです。

* 日本に帰ってきて

前に使っていたiPhone3GSを持っているので、これをソフトバンクショップに持っていったところ、機種変更の扱いでSIMを発行してもらえました。約2000円の事務手数料のみです。

出発前に取っていたバックアップから復元したので、データ的な損害は大したことありませんでした。

海外旅行保険はいつも入ってません。クレジットカード付帯の盗難保険がついてるので、そこに保険金の請求をします。というか、請求してもうすでに振り込まれました。これについては後日まとめます。→ まとめました 海外で盗難にあったiPhoneを保証してもらった件について

* まとめ

実際、データの盗難が目的だったらパスコードロックかかってない時点でほぼ死亡なのよね。いまのところ不正にアクセスされた形跡はないので本当に良かった。

必要なこと

  • こまめなバックアップ
  • パスコードロックのパスコード要求間隔は短めに
  • パスコード10回した場合の「データ消去」はオンにした方がいいでしょう
  • 外出先でiPhoneを出さない

あと、開発者として気付いたこと

  • パスワードを変更したら、そのユーザのセッションは全部切る
  • Gmailのような、他のセッション全部切ってくださいオプションは安心
  • Belugaみたいなサービスでも、アカウントの関連付けを切る機能は必要

20:29 | コメント (0) | トラックバック (0)

2011-02-28 (Mon)

色々と新しいタブで開くFirefox用拡張 * OreTab

以前公開していたオレ専用タブ拡張 OreTab の Firefox10.0〜Firefox16.0 に対応したバージョンです。機能は一緒。下位互換性がなくなったので、また新しいページです。

» 続きを読む...

23:04 | コメント (0) | トラックバック (0)

 
Copyright (C) Kyosuke Takayama, Some rights reserved.