jsshell

Firefoxを使っていたときはGreasemonkeyという便利なものがあって、これで役に立たないログイン時間制限のあるシステムなんかを使いやすく改造していたのだが、Chromeで似たようなのはないかと思ったらjsshellというのがあったので、これでWikipediaの迷惑な画像を見えないようにしてみた。

消したいのはこれ。

jsshellをインストールしたら、普通にjQueryでやりたいようにやってみよう。例えば

$('#centralNotice').css('display', 'none');

うまくいったら、保存して毎回自動的に実行されるようにしよう。

js.custom.edit('保存するスクリプトの名前');

これをタイプすると保存用のダイアログが表示されるので、その中にさっきうまくいったスクリプトを書いて、Greasemonkeyみたいに実行したいURLを指定して保存する。

Popularity: 2% [?]

mod-pagespeedの不審な挙動

Google様によるApacheモジュール mod-pagespeedについて。

(1)フルパス(http://から始まる)のリソースへのパスを先頭に「/」がない相対パスに書き換える。

mod_rewriteでパスを書き換えているシステムでこれをやられると、画像とかCSSとかの元のリソースに辿り着けないのでエラーになる。UserDirを使っている場合のことを考えているのかもしれないが、いまどきこの仕様は困ったものだ。

(2)画像をプリロードする。

上のに組み合わせて、謎のリソース名を生成するので、プリロードしても無意味なブラウザ以外からのアクセスだと困るんじゃないかと思う。試してないけど。どのみち、リソース名を書き換えてブラウザ側のキャッシュを利用しようとする強引な手法なので、例えば携帯ブラウザみたいな拡張子に意味のあるシステムだと使えないだろう。

というわけで、困った存在のmod-pagespeedを本格的に消しました、

Popularity: 1% [?]

Titanium DeveloperでAndroid(1)

Mac OS Xでの作業を記録。

まず何より先にAndroid SDKを入手。brew からでもいいが、なんとなく、あくまでもなんとなく、ダウンロードして$HOME直下に設置。

設置したら、今度は各プラットフォーム向けコンポーネントをインストールする必要がある。ターミナルから$HOME/android-sdk-mac_86/tools/androidを起動する。

android.png

「Available packages」からAndroid Repositoryを選択して、とりあえず全部一気にインストール。

ここでちょっとした作業が必要になる。android-adk-mac_86/platform-tools以下にadbというスクリプトがあるのだけれど、これはSDKのバージョン7まではtools以下にあったらしい。Titanium Developerの作成するビルドスクリプトではまだtools以下にadbがあるものと見なしているらしく、このままではSDKの登録がエラーになってしまう。

とりあえず、手っ取り早く

ln -s $HOME/android-sdk-mac_86/platform-tools/adb $HOME/android-sdk-mac_86/tools/adb

で対処する。

update: このとき、Third party Add-onsからGoogleのレポジトリを選択して、そちらからのデータの取り込みもやっておく。地図APIなど必要なクラスライブラリがないのでデモ用のアプリケーションが動作しないのだ。

201101111424.jpg

Popularity: 1% [?]

mod_pagespeed

Google謹製mod_pagespeedを入れてみた。それだけ。

Popularity: 1% [?]

刑事まめ

中国当局とGoogleの不穏な動きに目を光らせるまめぞう。

Popularity: 1% [?]

Google、中国からの撤退を示唆

ということで、公式ブログをささっと訳出。面白いことになってまいりました。

*原文はHTMLのコメントになっています。

A new approach to China
1/12/2010 03:00:00 PM

名前の知られた企業の常として、私たちは毎日あらゆるレベルのサイバー攻撃に晒されています。12月の中頃にも、私たちの企業インフラは中国発のかなり高度な、目標の絞りこまれた攻撃を受け、その結果Googleの知的財産が盗難の被害に遭っています。しかし、当初は単なるセキュリティ事件に思われたものが、実際そうではあるのですが、全く異なる問題であることがすぐに明らかになったのです。


第一に、攻撃はGoogleだけを狙ったものではありませんでした。調査の過程で、インターネット関連や金融、科学技術、メディア、化学分野といった幅広い分野に渡る少なくとも20の世界規模の企業が同様に攻撃目標となっていたことを突き止めました。私たちは現在これらの企業に問題を通知し、同時に関連する米国の機関と共同で作業を進めています。


第二に、私たちは攻撃者の最終目標が中国の人権活動家たちのGmailアカウントにアクセスすることだったという証拠を手に入れました。現在までの調査では、攻撃は目標を達成できなかったと思われます。2つのGmailアカウントの情報にアクセスされていましたが、それもアカウント情報(アカウントが作成された日付など)とメールの件名に限定されており、メール本文にはアクセスされていません。


第三に、本件の調査の過程で、今回のGoogleへの攻撃とは関係なく、私たちはGmailユーザで米国や中国、ヨーロッパを拠点とする中国国内の問題にかかわる人権活動家たちのアカウントが日常的に第三者によりアクセスされていることを発見しました。これらのアカウントはGoogleのセキュリティ対策を掻い潜ってアクセスされていたわけではありませんが、大半は一般のパソコンに仕込まれたフィッシング詐欺や悪意のあるコンピュータウィルスによるものと思われます。


私たちはGoogleとそのユーザのセキュリティを強固にするためのインフラや設計の改善のために今回の攻撃から得られた情報を利用しています。個人ユーザの皆様は、信頼できるアンチウィルスソフトウェアやアンチスパイウェアプログラムをコンピュータにインストールして、OSの更新プログラムで最新のパッチを適用し、ウェブブラウザをアップデートしてください。インスタントメッセージや電子メールに表示されるリンクをクリックする際やパスワードのような個人情報をオンラインで提供するかどうか質問される場合は常に注意してください。私たちのお勧めするサイバーセキュリティについての詳細はこちらでご覧頂けます。今回のような攻撃について更に知りたい方は米国政府のレポート(PDFファイル)やNart Villeneuveのブログ、GhostNetのスパイ事件についてのこちらのプレゼンテーションをお読みください。


私たちが今回の攻撃についての情報をこのような形で公表するのは、セキュリティと人権問題への影響だけが理由ではありません。この情報がさらに幅広い国際的な言論の自由についての議論の核心に迫るものだからです。過去20年間、中国の経済改革と市民の起業の才は非常に多くの中国人民を貧困から救いあげてきました。この国はさらなる世界の経済発展の中心となっているのは間違いありません。


私たちはさらなる情報へのアクセスが中国の人々に利益をもたらし、より開かれたインターネットが検索結果を検閲することになる不快さを上回ることを信じて2006年の1月にGoogle.cnを立ち上げました。当時、私たちは「自分たちのサービスを制限する新しい法律や規制を含め、中国の状況をより注視していく。もし先に概説した目標を達成することが出来ないと判断した際には、中国へのアプローチを再考するのに躊躇はしない」ことを言明していました。


暴露されたこれら一連の攻撃や監視、それに過去数年間に渡るウェブ上の言論の自由を制限しようとする試みにより、私たちは中国での事業運営が実行可能であるかどうか再考するべきであるという結論に至りました。私たちはこれ以上Google.cnで検索結果を検閲し続けるつもりはありません。今後数週間、法律の範囲内で可能な限り検閲のない検索エンジンを運営することをベースに中国政府と議論していきます。これによりGoogle.cnの閉鎖もあり得るでしょうし、中国国内のオフィスの閉鎖の可能性もあります。


中国での事業運営の見直しの決定は厳しいものであり、その潜在的な影響も大きいものであることは理解しています。この変更は米国本社の決定であり、Google.cnの今日の成功を支えるべく懸命に働いている中国国内の従業員の考えや意思決定によるものでないことをここに明言しておきます。私たちはこのような非情に困難な問題を解決すべく責任を持って取り組んでいます。

Popularity: 1% [?]

Net_POP3でgmail

PEARのNet_POP3でGmailからメールを受信するのはこんな感じでできる。実行環境で「ssl://」で始まるデータストリーム型がサポートされていれば問題ない。調べるには

$ php -i | grep "Stream Socket"
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, sslv3, sslv2, tls

このようにsslが表示されていればいい。

スクリプトは、例えば

<?php
require_once 'Net/POP3.php';
$host = 'ssl://pop.gmail.com';
$port = '995';
$user = 'Gmailのメールアドレス';
$pass = 'パスワード';

$pop = new Net_POP3();
$pop->connect($host, $port);
$pop->login($user, $pass, USER);
//成功したら配列が、失敗したらfalseが返る
$messages = $pop->getListing();
if($messages){
        foreach($messages as $k => $row){
                $id = $row['msg_id'];
                //特にやることもないのでとりあえず配列に入れる
                $mail[] = $pop->getMsg($id);
        }
}
$pop->disconnect();
print_r($mail);
exit;
?>

こんな風になる。

今さらなんだよ、という向きもあるかもしれないが、例えばGoogleのメールサーバを使って独自ドメインサービスをやっている場合、これで自分のサーバで空メールのサービスを立ち上げるときなどに使えるので、まあメモということで。

Popularity: 3% [?]

Adobeの変な広告

Adwords
Adobeが「出産」というキーワードでこんな広告を出していた。

Popularity: 1% [?]

誤変換の検知

Googleの中の人はこんな対応もしていたのか。

Ws000004

Popularity: 1% [?]

Google Maps APIで逆geocoding

API仕様書にははっきりと「出来ない」と書いてあったような気もするのだが、なんとGoogle Maps APIで逆geocoding(緯度経度から地名を検索)が出来るという記事が。(オレンジニューススより)

どうやらGoogle Maps APIではreverse geocodingのことを「Driving Directions」と呼んでいるらしい。

Popularity: 2% [?]