2011-02-12

WM3500R から大量の ARP パケットが来る件について

WiMAXポータブルルーターを自宅回線として常用しているのですが、Wiresharkで無線クライアントを通過するパケットを解析していると、IPアドレス:192.168.0.1、MACアドレス:ルーターLAN側で、やたら大量(100packets/s)のGratuitous ARPが届いていて、何事と思い調査しました。

結局のところ、WM3500Rの無線LAN設定: 高度な設定: 無線LAN端末(子機)との通信方法で、速度優先にすると、無線クライアントがスリープ状態に入らないように(?)嵐のようなARPパケットを送ってくれる親切機能だったようで、省電力優先に変更したら静かになりました。

今どきの無線ルータではこのような実装が普通なのでしょうか。良く知らないので要調査という事にしておきます。

2011/02/17 追記
この設定をしてから、同じ無線ネットワークにつないでいるマシンをスリープした直後に他の無線接続しているマシンのネットがやたら重くなる現象が発生しなくなりました。省電力優先に設定するのをお勧めします。

2011-02-05

[facebook] 映画「ソーシャルネットワーク」を見ました

まとまらないので印象に残った点をメモしときます。全体としては楽しめました。

ショーンが、マークのチームを褒める。インフラエンジニアの不足を発見して、ショーンの友達に頼む。

マークが、成長にサーバーが追いつかないようにならないようにする点を強調する (言及はなかったけどフレンドスターのように失敗しないように)。

Victoria's Secret の子がトイレに行ってるときのショーンの話で、会社を売り急げば損したエピソードを紹介する。そのときの音楽 (下に添付) が格好良かった。

エドゥアルドが交際ステータスの件でもめていた。ウィンクルボス兄弟はボートレースでも SNS でも僅差で負ける。

参考
映画「ソーシャルネットワーク」で使用された楽曲まとめ


Dennis de Laat - Sound Of Violence (Dub Mix)

Google Appsでpostmaster宛てのメールを受信する

Google Apps を使っていて、どこかのサービスで、メールでのドメインの所有者確認のため、管理者しか受信しえない postmaster や abuse 宛てのメールを受信したい場合は、直接アカウントを登録できないので、このヘルプ記事 にあるように、postmaster というグループを作成して、メンバーに配信先を登録すればよいです。

動画オーバーレイ広告の閉じるボタンの罠とCTR

閉じるボタンを押そうとして少し的が外れ、広告を押したことになってしまってムキーってなったりするんですが、よく考えてみると、これは運営側の狙い通りなんじゃないかと思い始めたので、少し調べてみました。

YouTubeとUSTREAMともに、閉じるボタンにカーソルを乗せたとき、カーソル自体は指印のままで変化はありません。×ボタンのレスポンスは、YouTubeは少し良心的で、ごくごくわずかに×印に色の変化がありますが、USTREAMのものは全く変化はなく、カーソルが乗っているのかどうかがとても分かりにくくなっています。

これは、広告を押す人にとって広告を閉じるボタンは関係ないので、通常のクリックスルーレートに加えて、広告を閉じようとしてうっかりクリックしたことになってしまう、うっかりリクリックスルーレートを加える効果があるんではないでしょうか。

うっかりクリックスルーレートを見積もってみると、広告を熱心に閉じようとするマメな人の割合を10%として、うっかりクリック率が10%、とすれば、1%となって、広告を押すのと独立ならCTR 1%追加になるのでぼちぼち儲かりそうです。

[javascript] Unicode空白文字でステガノグラフィ

ふと思いついたので、こちらの記事:ZERO WIDTH SPACE を使って Unicode ステガノグラフィ を参考にして、ブラウザでいじれるようにJavaScriptで適当に作ってみました。


Unicode ZWC Steganography

遊び方
埋め込み済みの文を適量デコーダにコピペしてデコードしてみてください。

解説
埋め込む数字を二進数に変換して、二種類のゼロ幅文字 U+200B, U+FEFFに置換します。それを20文字ごとにしつこく埋め込んで処理済みの文章としています。この埋め込む数字を閲覧者IDにして、サーバーサイドでIPアドレスを紐づけて保存しておけば、コピペ犯人捜し(笑)に使えるのではないでしょうか。

Google Authenticator で簡単に二要素認証を実装する

二要素認証としてワンタイムパスワード生成機を使うには、専用のトークンとか高そうなパッケージが必要そうなイメージ (例: RSA SecurID) がありましたが、iPhone, Android アプリ として公開されている Google Authenticator を使うと簡単に使える感じなので試してみました。

Google Authenticator は OATH で定義されているオープンなワンタイムパスワード生成方法 HOTP (HMAC-based One Time Password)TOTP (Time-based One Time Password) に対応していて、QRコードまたは文字列入力で、Base32 でエンコードされた秘密鍵を登録しておくと、勝手にワンタイムパスワードを作ってくれます。

ワンタイムパスワードの生成方法は、メッセージ認証符号 HMAC SHA1 でカウンター値 (HOTP) または30秒単位の時刻 (TOTP) を処理して、その結果を入力しやすい桁数 (6桁以上) の数値に変換するという感じのようです。

サーバーサイドでは、Perl なら Authen::OATH を使って、同じ秘密鍵を持っていることを、同じワンタイムパスワードの数値が入力されたことでもって認証するという感じでいいと思います。Authen::OATH には Base32 の文字列をそのまま突っ込むのではなく、元のバイナリ値を入力とすることに注意しましょう。

2011-02-04

[android] 電波OFFモードでWi-Fiだけ有効にする

Android 2.2以降では、標準で設定できるようです。機内モードオンの後、Wi-FiオンでOK。機内モード時はBluetoothは使えないようです。

Android 1.6-2.1では、以下の手順で、セルスタンバイで電池を消耗することなく、無線LANだけで通信してくれます。IS01で確認し、確かに電話は圏外になりました。レビューにIS06でも上手く動くとあるので、大抵のAndroid端末で有効なんじゃないかと思います。

  1. Airplane Mode Wi-Fi Toolをインストールして、PreferencesのKeep Wi-Fi Onをオンにする。
  2. 電波OFFモード(機内モード)をオンにする。
    Airplane Mode Wi-Fi Toolからじゃなくても良い。