「日本辺境論」読了

日本辺境論 (新潮新書)

日本辺境論 (新潮新書)

読みました。
「また新書で日本論か」って最初は思ったけど面白かった。
ちょっと単純化し過ぎなとこもあったけど。
それと4章が面白いので3章で退屈して読むのやめないように。

  • 中心は中国(今は米国?)、日本は辺境(東夷)
  • 日本人の議論では主張の優越より、相手の上位に立つこと(だから俺の主張を認めろや)が優先される
  • 日本語は表意文字(漢字)と表音文字(かな)を併用する言語である(英語は表音文字、中国語は表意文字)
  • 日本人は外来のものに正統の座を与え(真名)、自分たちのものを暫定の座に置く(仮名)

「ウェブアプリケーションのためのユニバーサルデザイン」読了

ウェブアプリケーションのためのユニバーサルデザイン

ウェブアプリケーションのためのユニバーサルデザイン

読みました。
「障害者、高齢者、モバイル、どんなクライアントにも使い易いウェブアプリを作ろうZE☆」って本。
以下適当メモ。

  • 画像にalt属性を設定しているのは7%

93% failed to provide adequate text descriptions for graphics

BBC NEWS | Technology | 'Most websites' failing disabled
  • サイズの指定をCSSではなくHTMLでしてやると、画像をダウンロードする前にブラウザはレイアウトを開始できる(表現のためにHTMLを利用しないという原則よりも携帯ユーザーを優先)
<img width="200" height="100" src="sample.png" alt="..." />
  • タイトルは以下のように設定(モバイルはタイトルを切り詰めてしまう)
<title>固有ページのタイトル | サイト名</title>
  • キーボードで操作可能にする
  • accesskey属性はデスクトップ向けではブラウザ毎に挙動が異なるので推奨しない(JavaScriptで代用)、モバイル向けでは推奨(古い機器のために0〜9の最大10個が理想)
  • :hoverの問題点
    • マウスの移動にしか反応しない(Tabでフォーカスしてもダメ)
    • 通常、非アクティブな要素に関連付けられている
  • :hoverを利用したサブメニューをよりアクセシブルに
    • :focus,:activeでTabフォーカス時もサブメニューが表示されるようにする
    • display:noneでサブメニューを隠し、トップレベルのメニューに全メニューへのリンクを含むサブページへのリンクをつける
    • サブページの表示/非表示にonclick()を利用
  • ARIAでは表示されている全ての要素にtabindexを指定できる
  • ユニバーサルデザイン・チェックリスト(概略)
    1. 代替テキスト用意されてる?
    2. 映像にキャプションやトランススクリプト付いてる?
    3. コントロール(リンク含む)はラベル付けされてる?
    4. コントロールのグループが適切に識別できる?
    5. 意味のある構造(Tabで移動等)になってる?
    6. 色、形状、大きさ、位置、音声が認識できなくても操作可能?
    7. 自動再生される音声は停止・消音可能?
    8. 全ての機能をキーボードで操作できる?
    9. ナビゲーションはスキップ可能?
    10. ページのタイトルは適切?
    11. ユーザーの言語をlang属性で指定してる?
    12. 予測不能な振る舞いは無い?
    13. (入力)エラーの特定と解決は容易?
    14. W3CHTML,CSSバリデータを使った?
    15. UI変化の告知はされている?
    16. 制限時間(タイムアウト)は調整可能?
    17. 移動、点滅、スクロールする情報は停止可能?
    18. 自動アップデートの頻度は調整可能?
    19. 1秒間に3回以上明滅するようなものある?
    20. 複数のブラウザ、モバイル、支援技術でテストした?

「100年予測—世界最強のインテリジェンス企業が示す未来覇権地図」読了

100年予測―世界最強のインテリジェンス企業が示す未来覇権地図

100年予測―世界最強のインテリジェンス企業が示す未来覇権地図

読みまみた。
2050年にゃ日本とトルコが連合組んでアメリカと宇宙戦争するとか予想するトンデモ本
面白かったけど、高齢化で欧州が没落するのに何で日本は大丈夫なん?
まぁ大丈夫じゃないから大陸に進出する訳だが…
アメリカの行動原理は「アメリカの覇権を脅かすような地域覇権国家の誕生を阻むこと」らしい。
汚いなさすがアメリカきたない
今後100年、太平洋と大西洋を支配するアメリカの時代が続くらしいけど、中国とインドは実際どうなるんだろうねぇ。

TraceMonkey 簡単いんすとーる

mac% sudo port install autoconf213
...
mac% sudo hg clone http://hg.mozilla.org/tracemonkey/
...
mac% cd tracemonkey/js/src
mac% sudo autoconf213
mac% sudo ./configure
...
mac% sudo make
...
mac% js
js> [1,2,3,4,5].map(function(x) { return 2 * x; });
2,4,6,8,10
js> quit();

参考:Naked JavaScript - Taking the DOM off JavaScript

python_selectで簡単バージョン切り替え

Pythonのバージョンを切り替えてくれるpython_selectを入れてみた。

インストール

sudo port install python_select

切り替え

% python_select
usage: python_select [-n] [-d] [-r] [-h] [-v] version

-n        Show commands to do selection but do not execute them.
-d        Show debug messages during execution
-h        Display this help info.
-v        Display version of python_select.
-l        List available options for version.
-s        Show the currently selected version

% python_select -l
Available versions:
current none python25 python26-apple python31
% python_select -s
python26-apple
% python --version
Python 2.6.1
% sudo python_select python31
Selecting version "python31" for python
% python --version
Python 3.1.1
% sudo python_select current
Selecting version "current" for python
% python --version
Python 3.1.1
% sudo python_select none
Selecting version "none" for python
% python --version
Python 2.6.1
% python_select -s
none

noneはpython_selectによる変更を無効化する?インストール直後はnoneだったのかも。
currentの存在意義はよくわからん。

参考:複数バージョンのPythonを華麗に切り替える - When it’s ready.

Python Challenge(11)

続いてレベル11
わからないのでフォーラムを見ると、

Look very very closely at the image.

http://www.pythonchallenge.com/forums/viewtopic.php?t=38

よく見ると、顔のような絵が浮かび上がる様に見える。
タイトルの「odd even」からピクセルの座標が(奇数、偶数)のピクセルを集めれば答えが出来上がると予想。
画像の縁もギザギザになっているように見えるので、黒のピクセルが紛れていると見た。
PILのドキュメントを探してみるとImage.getpixelImage.putpixelが使えそう。

import Image

img = Image.open('cave.jpg')
ans = Image.new(img.mode, (img.size[0]/2, img.size[1]/2), 'white')

for y in range(img.size[1]):
    for x in range(img.size[0]):
        if x % 2 == 1 and y % 2 == 0:
            p = img.getpixel((x, y))
            ans.putpixel((x/2, y/2), p)

ans.save('ch11.jpg')

出来たのは、

元の画像が縮小しただけに見える。
if文の条件を変えたら偶然いけた。

import Image

img = Image.open('cave.jpg')
ans = Image.new(img.mode, (img.size[0]/2, img.size[1]/2), 'white')

for y in range(img.size[1]):
    for x in range(img.size[0]):
        if x % 2 == 1 and y % 2 == 1:
            p = img.getpixel((x, y))
            ans.putpixel((x/2, y/2), p)

ans.save('ch11.jpg')

全然、顔じゃねーし。
(x,y)が(偶,偶),(奇,奇)だと答え、(偶,奇),(奇偶)だと答えを隠すための絵になる。

SnowLeopardでprofile manager

散々既出だろうけど自分用メモ。
SnowLeopardでFirefoxのプロファイルマネージャ起動は、

/Applications/Firefox.app/Contents/MacOS/firefox-bin -P

firefox -P」だとsqliteがどーたらでエラーになる。
3.6でSnowLeopardがサポートされれば治るのかな?

参考:http://support.mozilla.com/tiki-view_forum_thread.php?locale=ja&forumId=1&comments_parentId=437633