iPhone 保証規定

http://support.apple.com/ja_JP/manuals/#iphone

iPhone 4S - この製品についての 重要なお知らせ
10月 13, 2011 - 103 KB
http://manuals.info.apple.com/ja_JP/iphone_4s_important_product_information_guide_j.pdf

は「iPhone Warranty v3 070511」で「Apple は、保証サービスを、Appleまたはその Authorized Distributor が最初に Apple 製品を販売した国に限定することがあります」

iPhone 4 - この製品についての 重要なお知らせ
3月 11, 2011 - 147 KB
http://manuals.info.apple.com/ja_JP/iPhone_4_Important_Product_Information_Guide_J.pdf

は「iPhone JP Warranty v2.0」で「アップルは、アップルまたはアップルの正規代理店が最初にハードウェアを販売した国にサービスを限定することができます。」

iPhone 3GS - この製品についての 重要なお知らせ
3月 11, 2011 - 142 KB
http://manuals.info.apple.com/ja_JP/iPhone_3GS_Important_Product_Information_Guide_J.pdf

は「iPhone JP Warranty v1.9」で「アップルは、アップルまたはアップルの正規代理店が最初にハードウェアを販売した国にサービスを限定し、以下の方法により保証サービスを提供することができるものとします」

iPhone 3G - この製品についての 重要なお知らせ
9月 09, 2009 - 71 KB
http://manuals.info.apple.com/ja_JP/iPhone_3G_Important_Product_Information_Guide_J.pdf

は「iPhone JP Warranty v1.9」で「アップルは、アップルまたはアップルの正規代理店が最初にハードウェアを販売した国にサービスを限定し、以下の方法により保証サービスを提供することができるものとします」

ようするに保証規定はずっと「する場合がある」となっていたのを、運用上実際に制限を開始し始めた、ってことなのか…。

ついでに、

AppleCare Protection Plan for iPhone Terms and Conditions
Japanese (日本語)
http://images.apple.com/legal/applecare/docs/Japan_APP_iPhone_Japanese_v2.1.pdf

にも「アップルは、サービスの提供が可能な国をお客様が最初に対象機器を購入された国に限定させていただく場合があります」と。

Kindle Touch screen issue (?)

Disclaimer: This is my first E Ink experience. So it could be what E Ink should be.

I see some remaining characters when flipping pages with my new Kindle Touch.

For example, while I'm reading Big Data Now: Current Perspectives from O'Reilly Radar, I see slight remaining characters from previous page.

For example, I was reading this page,

kindle_touch_3

And then flip to next page. But you can still see _slight_ remaining characters from previous page. ("... years, there has been .... logs, tweet streams, ...")

kindle_touch_1

Though once screen refreshes (once every 6 pages/flips), the screen clears up.

kindle_touch_2

Is this what is expected with E Ink ? Is this happening on Nook Touch too ?

UPDATE (2011.11.28): According to this video (at 1:01:13), it seems to be "feature" not "issue". You can change this behavior if you think it's annoying. (I changed "Page Refresh" to "On" (to refresh every page turn).)

Language Switcher

Mac
Language Switcher adds key "AppleLanguage" to plist in ~/Library/Preferences/(applications plist).plist file.

If you add only "English" for Mail.app, it won't let users choose other encodings than UTF-8 and English encodings. If you want to use other encodings, you can _add_ language, for example "Japanese", to that key. (By keeping "English" first in the list, Mail.app UI will stay in English.)

Continental Airlines Refund service

08/05/2011 To: RefundsHouston@coair.com
08/11/2011 To: RefundsHouston@coair.com reminder
08/15/2011 http://www.continental.com/web/en-US/content/reservations/refunds/otherRefund.aspx
08/23/2011 To: customerrefundservices@coair.com
08/25/2011 Approved (From: customerrefundservices@coair.com, RefundsHouston@coair.com in signature)

Better not trust following page, instead use customerrefundservices@coair.com for refund request.

http://www.continental.com/web/en-us/content/reservations/refunds/refunds.aspx
----
Contact Refund Services

E-mail:
RefundsHouston@coair.com
----

(Updates: 9/6/2011)

Some more emails from Continental.

08/30/2011 Reply from Continental (From: customerrefundservices@coair.com, RefundsHouston@coair.com in signature) to approv refund
08/30/2011 Reply from Continental (From: custo@coair.com) for refund request submit via web on 8/15 (not yet received voucher mentioned in the email)

So, it looks like this is what happened.

Sent 8/5 -> Reply 8/25 (email to RefundsHouston@coair.com)
Sent 8/15 -> Reply 8/30 (submit via web)
Sent 8/23 -> Reply 8/30 (email to customerrefundservices@coair.com)

It does seem that either way works at the end of the day. (Though RefundsHouston@coair.com doesn't return any acceptance, while web UI and customerrefundservices@coair.com does. So, I still recommend web UI or customerrefundservices@coair.com over RefundsHouston@coair.com)

this page include other resources which are not secure

Google Chrome での「SSLで保護されてないコンテンツがあります」的な警告には二種類あって、"the behavior of the page" が守られない可能性がある場合と "the look of the page" が守られない可能性がある場合とがある。前者は error 扱いで、後者は warning 扱い。

http://src.chromium.org/viewvc/chrome/trunk/src/chrome/app/generated_resources.grd?view=markup

(IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_INSECURE_CONTENT_ERROR とIDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_INSECURE_CONTENT_WARNING の違い)

コメントによると前者は script など動的なコンテンツなんかがSSLされてない場合で、後者は画像、CSS など静的なコンテンツがSSLされてない場合のようだ。

chrome1.png

chrome2.png

TCP-MD5 on FreeBSD

FreeBSD 8.2-STABLE で TCP MD5 の設定

/etc/ipsec.conf
add  192.0.2.1 192.0.2.2tcp 0x1000 -A tcp-md5 "secret";
add 2001:db8::1 2001:db8::2 tcp 0x1000 -A tcp-md5 "secret";
みたいなファイルを作って、ipsec_enable="YES" を /etc/rc.conf に書いておく。すると、setsockopt TCP_MD5SIG みたいにされたパケットには TCP-MD5 がつくようになる。(ちなみに OpenBGPd の設定ファイルの中で設定しても無駄)

なお、受信した TCP-MD5 の検証はまだ実装されてない。(参考)

Home made .mobi for Whispersync

(Amazon から購入した mobi じゃない)自家製 mobi で Whispersync するための細工のメモ。(ePub を mobi にする方法はたくさんあるからググって探すといいと思う。)

Whispersync するための必要条件は次の2つ。
  • EXTH 113 (ASIN) を正しいASINにセット
  • EXTH 501 (cdetype) を 'EBOK' にセット

これを実現するための手順は以下の通り。
  1. mobiperl-win-0.0.43.zip を https://dev.mobileread.com/dist/tompe/mobiperl/ からダウンロードする (このページには Mac 用もあるって書いてあるし、そもそも Perl なんだからどこでも動きそうなものだが、面倒だから試してない。)

  2. ダウンロードした ZIP ファイルを展開すると以下のファイル(と tar ファイル)が出てくる。(必要なのは mobi2mobi.exe だけだけど)

    html2mobi.exe
    lit2mobi.exe
    mobi2html.exe
    mobi2mobi.exe
    mobils.exe
    opf2mobi.exe

  3. .mobi ファイルを mobi2mobi.exe を同じフォルダにコピーする。(万が一のためにオリジナルのファイルは別途保存しておく)

  4. Amazon.com や Amazon.co.jp で ASIN を調べる。"Product Details" のところに書かれているASINを見るか、URLに含まれているASINを使う。今回の対象の本は以下の通りで、ASINはB0043D2E5E。

    JUNOS High Availability
    http://www.amazon.com/dp/B0043D2E5E

  5. コマンドプロンプトを開き以下の通り実行する。

    > mobi2mobi --outfile JUNOS_High_Availability.mobi --exthtype 113 --exthdata "B0043D2E5E" JUNOS_High_Availability.mobi
    > mobi2mobi --outfile JUNOS_High_Availability.mobi --exthtype 501 --exthdata "EBOK" JUNOS_High_Availability.mobi

    もし EXTH フィールドが無いなどのエラーが出る場合はこちら。(こっちは変更じゃなくて追加)

    > mobi2mobi --outfile JUNOS_High_Availability.mobi --addexthtype 113 --exthdata "B0043D2E5E" JUNOS_High_Availability.mobi
    > mobi2mobi --outfile JUNOS_High_Availability.mobi --addexthtype 501 --exthdata "EBOK" JUNOS_High_Availability.mobi

  6. できあがった .mobi ファイルを各デバイスのKindleのフォルダへ持っていく。

    • Android: (といっても、Honeycomb 3.1 デバイスしか持ってないから、他の Android でどうなのかよく分からないけど)とりあえず手元の Kindle for Android では普通に /sdcard/kindle へ上で作った .mobi ファイルを置くだけでファイルを認識した上で Whispersync してくれた。(ファイルを開いて少し読み進み、再度 Library へ戻ると一瞬「Saved furthest location」って表示されるはず。)
    • Mac: ~/Library/Application\ Support/Kindle/My Kindle Content に置いた。"Tools - Sync to Furthest Page Read" を選択(もしくはツールバーにある矢印二つのアイコンをクリック)すると、Sync してることが分かるはず。
    • iPhone: (諸般の事情で iOS 4.3.2 で試してます) Kindle for iPhone にファイルを送り込む方法としては iTunes 経由が一番標準的だろう。(Appタブの下方にある「ファイル共有」から) でもこれだと Whispersync が動かない。(矢印二つアイコンがグレーになっててタップできない) なので代わりに iPhone Explorer を使う。コピーする先は iPhone - Apps - Kindle - Library - eBooks。ここに上で作った .mobi を置いてやればちゃんと Whispersync も動く。(iTunes は Kindle - Documents に置いちゃうらしい。)

  7. 以上でたとえば Oreilly から購入した本でも Mac/iPhone/iPad/Android/Kindle で読んだ場所、ブックマークを共有しながら読み進められる。

以下は mobi2mobi.exe を実行してる様子。
mobi2mobi3.pngmobi2mobi2.pngmobi2mobi1.png

PGP/GPG鍵の失効

古い鍵対を失効させた。
% gpg --list-keys john@example.net
pub 4096R/X0000XX0 2010-09-15
uid John Doe <john@example.net>
uid John Doe <john@us.example.net>
uid John Doe <john@example.ad.jp>
sub 2048R/0000X00X 2010-09-15 [expires: 2013-09-14]

pub 1024R/000000XX 1998-10-22
uid Doe John <john@example.net>
uid Doe John <john@example.ad.jp>
uid Doe John (since 2009.08.24) <john@us.example.net>
上が鍵が新しい鍵で、下が失効させたい古い鍵。(使う機会は少なかったけど、しかし、13年前に作った鍵なのか…。PGP 2.6.3i だったなぁ、その当時は。)

失効証明書を作成しインポート。
% gpg -o 000000XX.revoke.asc --gen-revoke 000000XX

sec 1024R/000000XX 1998-10-22 Doe John <john@example.net>

Create a revocation certificate for this key? (y/N) y

You need a passphrase to unlock the secret key for
user: "Doe John <john@example.net>"
1024-bit RSA key, ID 000000XX, created 1998-10-22

Enter passphrase:
ASCII armored output forced.
Revocation certificate created.

Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!

% gpg --import 000000XX.revoke.asc
gpg: key 000000XX: "Doe John <john@example.net>" revocation certificate imported
gpg: Total number processed: 1
gpg: new key revocations: 1
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 22 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1 valid: 22 signed: 4 trust: 0-, 3q, 1n, 16m, 2f, 0u
gpg: depth: 2 valid: 2 signed: 0 trust: 1-, 0q, 0n, 1m, 0f, 0u
gpg: next trustdb check due at 2017-11-30

無事に失効した。
% gpg --list-keys john@example.net
pub 4096R/X0000XX0 2010-09-15
uid John Doe <john@example.net>
uid John Doe <john@us.example.net>
uid John Doe <john@example.ad.jp>
sub 2048R/0000X00X 2010-09-15 [expires: 2013-09-14]

pub 1024R/000000XX 1998-10-22 [revoked: 2011-07-12]
uid Doe John <john@example.net>
uid Doe John <john@example.ad.jp>
uid Doe John (since 2009.08.24) <john@us.example.net>

失効した鍵対を鍵サーバーへ送信。
% gpg --send-keys 000000XX
gpg: sending key 000000XX to hkp server pgp.nic.ad.jp

% gpg --search-keys john@example.net
gpg: searching for "john@example.net" from hkp server pgp.nic.ad.jp
(1) John Doe <john@example.net>
John Doe <john@us.example.net>
John Doe <john@example.ad.jp>
4096 bit RSA key X0000XX0, created: 2010-09-15
(2) Doe John <john@example.ad.jp>
Doe John <john@example.net>
Doe John (since 2009.08.24) <john@us.example.net>
1024 bit RSA key 000000XX, created: 1998-10-22 (revoked)
Enter number(s), N)ext, or Q)uit > q

Google maps "My Places" の移行

Google maps の「My Places」の移行
  1. http://maps.google.com/ へ行く
  2. 古いGoogleアカウントでログインする
  3. "My Places" をクリック
  4. コピーしたい地図のリンクをクリック
  5. 右上のリンクボタンから "Paste link in email or IM" のリンクをコピーする
    link.png
  6. 別のブラウザタブ(or ウィンドウ)にリンクをペーストし末尾に「&output=kml」を追加し Enter
  7. KMLファイルがどこかへダウンロードされる
  8. 別のブラウザで http://maps.google.com/ を開き、新しいGoogleアカウントでログインする
  9. "My Places" で「CREATE NEW MAP」をクリック
  10. "Title" のすぐ上にある "Import" をクリック
  11. 上でダウンロードされた KML ファイルを選択し "Upload from File"
  12. 保存したらできあがり