/ 最近 .rdf 追記 設定 本棚

脳log[2015-06-04~]



2015年06月04日 (木) ファイアボール チャーミングのドロッセルお嬢様が「かたす」という言葉を使う(第9話)。あるべき音が抜けたような、すわりの悪い、ラフな響きのこの言葉は関東地方の方言だとか。お嬢様には使って欲しくなかった。■テレビから流れてくる無意識の関東ローカルの話題が鼻につく。関東平野に風が吹いてもどうでもいいよ。桶屋じゃないからね。


2015年06月01日 (月) 歩行者が車を殴れば交通マナーは向上する - 趣味の方法」■自分の立場で鬱憤が晴らせれば満足ってな手合いかと慎重に読み進めていった。「良いことばかりな気がするが、ストレスたまりすぎおかしくなったサラリーマンが24時間無差別に車を殴り続けるといった事案も出てくることだろう。」うんうん、こういう演繹は必要だよね。と、ここから雲行きがあやしいぞ。「この満員電車は、死人を詰め込み墓へと運ぶ乗り物に似ている。俺は死体になってしまったッ!! 俺は絶対に満員電車を許さないッ!! というわけでイカれたサラリーマンの自宅の地下には大洞窟があり、そこを秘密基地リーマンケイブとしている。乗り物が通ると自宅の屋上に設置されたサーチライトが輝き、おかしくなったサラリー野郎が殴りに行く。」■読み物としては楽しめたけど、最後の「譲り合い みんな仲良く 交通戦争」に関して少し。譲り合いってなんだ? 譲り譲られ、あるいは譲り返し、それは(輸送効率を考えなければ)ほのぼのしたいい光景だと思うけど、効率と安全のために交通ルールが定められていて、俺はこれを無視できないし、自分に関わる範囲で無視する理解していない他人を糞味噌に軽蔑してるわけだ(子供と年寄りとペットとおばちゃん自転車に勝てないのは当然のこととして受け入れてるので、それ以外に対して)。譲ることができるのは優先側の人だけで、非優先側の人は譲られることしかできない。譲り合いって可能か? 勘違いした非優先側の人間が譲り合い譲り合いと主張し勝手に譲られようとする(※能動的な受け身という矛盾)おかしな事態を招く危うい言葉ではないかと思う。譲り合いというのは一時停止の標識や標示の省略された、住宅地のような場所においてのみ意味のある言葉ではないか。


2015年05月31日 (日) 1)エンジンスィッチが回転式ではなく、Power Onと書かれた押しボタンになっていた。」■はてこれが 2010年代の変化だろうかと S2000(1999年発売)について検索してみた。「S2000は鍵をキーシリンダーへさしてONまで回してからプッシュスタートボタンを押さないとエンジンがかかりません!これはかなり不便!発売当時はカッコいいと思っていたこのプッシュスタートも今のプッシュスタートに比べるとかなり不便。これならプッシュスタートじゃなくて鍵でエンジンを始動した方が早い!」■ボタンはボタンでもキーを差してひねってから押さないといけないボタンだった。ひょっとして、ひょっとしてだけど、ONまでひねったときその延長でエンジンまでかけられたら別体のスタートボタンも手間も減らせて便利じゃね?■鍵の進化に呼応してるらしい。「最近の車についてです。最近はプッシュスタートでエンジンを掛ける車が... - Yahoo!知恵袋」防犯、無線ID、自由な形状。■俺なんかは目に見えないものより物理デバイスの方を信頼してしまうけど、その物理がいわゆる鍵のギザギザだったりただの導線ではいけないわけだ。無理に例えると、WEPを使っているかもしれない無線LANより有線の方が間違いがないという感覚。だけど有線LANは本体にアクセスされてケーブルをつなぎかえられると終わる。なのでただの物理ではだめ。ディンプルキーという物理デバイスの位置づけは?■無線や電子の方に目を向けるとイモビライザーに対してイモビカッターという言葉がある。整備用コネクタがバックドアだったとか。セキュリティと利便は往々にして相反する。パスワードの扱いとかね。ハッシュ化するしないはあくまでも判断の結果で、そもそも守るべき情報が何か(それはパスワードではない。パスワードは正規のアクセス手段ってだけ)によってトレードオフがどちらに傾くかが決まる。本棚.orgのようなノーガード戦法もありえなくはない。閑話休題。キャッシュカードのスキミングや学習リモコンみたいな受信&再生装置で破れるものではなくて、きちんと認証してるみたいではある。「イモビライザーは、専用キーに埋め込まれたトランスポンダと呼ばれる電子チップが持つ個有のIDコードと車両側のIDコードを電子的に照合し、(略)。キーのIDは暗号化されており、その組み合わせは膨大な数になるため、複製することはほぼ不可能に近いです。」■TPM(Trusted Platform Module)っていうのがここで例えに出す名前として適当なのかは知らないけど、物理的な暗号デバイスを使っていて、それをきちんと説明している(※仕組みを公開すると破られる暗号は暗号ではない)電子キーは古典的な鍵より信用していいのかも。それでもやっぱりスマホキーは論外だと思うんだけどどう?■汎用性だとか書き換え可能だとかプログラマブルだとかいうのが余計なんだよね。結果として使い捨てになってもいいから、最後に不可逆な手順で FIXしたい。予め選択肢(のひとつ)を捨てるというのも選択や戦略のひとつ。そうして初めて選べるものがある(つまり、そのために捨てた)とかなんとか。


2015年05月29日 (金)

最終更新: 2015-05-31T16:39+0900

[javascript] 1時間以内に解けなければプログラマ失格となってしまう5つの問題の5番目

ファイル作成日時をみると1時間半前だった。不合格。

繰り返しのしかたを決めるまでに時間がかかりすぎた。再帰、ツリー、順列。再帰関数は共有して進めたり戻したりする変数とローカルな変数を整理しきれなくてあきらめた。深さ優先探索が書けないとかやばいね。三進数を使った順列(※下の解法)はちょっとだけ違う似たような計算を何度も繰り返すのがもったいない。カウンタの上限がすぐ来てスケールもしないし。

-1+2-3+4+5+6+78+9 は答えに数えないみたいだけどそのまま。

var CScript = WScript; // cscript.exeでの実行をおすすめします。
var Op = [
	function op_shift(o, x) {
		o.buf = o.buf*10 + o.buf/Math.abs(o.buf)*x;
		o.expr += x;
	},
	function op_plus(o, x) {
		o.sum += o.buf;
		o.buf = x;
		o.expr += "+" + x;
	},
	function op_minus(o, x) {
		o.sum += o.buf;
		o.buf = -x;
		o.expr += "-" + x;
	}
];
for (var op9seq = Math.pow(3,9)-1; 0 <= op9seq; --op9seq) {
	var o = {sum:0, buf:0, expr:""}, q = op9seq, r;
	for (var x = 1; x <= 9; ++x) {
		r = q % 3;
		q = (q-r) / 3;
		Op[r](o, x);
	}
	o.sum += o.buf;
	if (o.sum == 100) {
		CScript.Echo(o.expr);
	}
}

ところでこちらの、「Kazuho's Weblog: C言語で「1時間以内に解けなければプログラマ失格となってしまう5つの問題が話題に」の5問目を解いてみた」、変数 n の使い方がわかりません(わからないから自分は sumの他にもうひとつ bufという変数が必要になった)。ブコメに小町算とあるのだけど、これがヒント?


2015年05月25日 (月) 「同大学では周辺の土を回収するとともに除草剤を散布しており、流出による環境への影響はないとしている。」(名古屋大で遺伝子組み換え植物が流出、国内では初めて | スラド サイエンス)■それは、鍵をかけて鍵がかかってることを確認しない行為だ。そもそもありえないことが起こってるのに、まだ願望や希望的観測を当然のように期待するのか?■ここまで書いてからリンクされていたプレスリリースと YOMIURI ONLINEと朝日新聞DIGITALを読んだ。読売がクソ。紋切り型でそれ以上考える必要のない答え、はりぼての安心をあてがっておけば満足すると思われてるなら見くびられたもんだ。■朝日の方はプレスリリースに書かれていない問い合わせ窓口の具体的利用例まで書いてるんだよなあ。そして、「影響はない」ではなく「影響はみられない」と書いている。まったく正しい。読売はクソ


2015年05月20日 (水) 条件演算子(三項演算子)を可読性低いとか言わせない - Qiita」■const厨的には式と文の違いにより ifでは代替できない点も見逃せない(※const変数を初期化するとき if-elseで分岐することはできない)。条件演算子にも限界はあって、初期化に一時変数が必要になってくると、関数内関数(みたいなもの)を使うか、constをあきらめて ifと代入を使うことになるけど、Rubyなら ifが値を返すので両方のいいとこどり!でも後置ifに間違えられたり改行が区切りになったりでうまく解釈されないことが多いよ!そういうときに case-when☞の2番目の使い方(caseの後ろの式を省略する)が使える(そういう使い方がある)とは最近知った。■条件演算子をもっと乱用しよう⁉「C++ の、スマートだと思う人がいるかもしれないコードの書き方12選のつもりが6個ぐらいで断念 - Qiita」同じ人の別の投稿がまたツボを突いている「ruby の改行 - Qiita


2015年05月19日 (火) 死亡事故で運転手に逆転無罪 「自転車が赤信号で横断」 : 暇人\(^o^)/速報 - ライブドアブログ」■最近になって考えが変わってきた。これって、「信号無視するバカは死んでもやむなし」「信号無視するバカは轢いてもお咎めなし」ってことじゃないの。それよりも、「自動車という重量があり速度も出る危険物を転がそうというのがそもそもリスクを引き受ける行為である」「右折で徐行していたはずなのにどうやって死なせた?」という方を重視したい(※例外は自転車が車を使って自殺した(としか考えられない)場合か)。最初に人間ありきで、車はただの道具だからな。死亡事故に対して無責任では済まされないだろうよ。どうして人を殺してはいけないのですか、という問いの前提をこんなことで否定できるものか。


2015年05月18日 (月) ダメになる一方のアマゾン。列挙してみよう。■1.購入ボタンが逃げる。ロード後に挿入される何かのせい。■2.ほとんどが画面外に展開するので欲しいものリストの追加先が選べない。これは 1と同根。押し下げられた購入ボタンの玉突き。■3.商品ページトップのカスタマレビューへのリンクが画面遷移でなくスクロールになったので、購入ボタンのある画面トップに戻る方法が手元からなくなった。ホイールはないし戻るボタンを使うとアマゾン外へ戻ってしまう。代替手段があるとかないとかではない。クリックと対になる操作は何かってことだ(それはスクロールバードラッグや PageUpキーではない)。それを忘れるから手が泳いで操作に迷う。■4.ポインタに反応してしゃしゃり出てくるポップアップがページ内容を隠しクリックを阻害する。商品リストのページめくりを邪魔する。お届け先のポップアップが注文履歴のその他のサマリを隠す。どうでもいい(だから最初は隠されていた)追加情報が商品サムネイルと商品ページへ移動するボタン(※二つは同じもの)を隠す。■5.真の配送料を隠したまま 1-Click購入ボタンを押さそうとする。■6.デフォルト購入オプションで定期便をごり押しする。それって定期便を申し込むまで毎回の不便を強いるってことだ。■7.kindleをごり押しする。kindle版しか入手手段がないってわけでなくても積極的に ISBN(ASIN)を乗っ取って前に出てくる。検索結果ページの出版年月日(だと思っていた日付)も kindle版発売日で上書きされていたりする(これはまあコンテンツにフォーカスすれば判型は区別すべき差異ではないという判断の結果として理解できなくはないが、それでも、kindle化した日付に意味があるか?)。■8.欲しいものリストが壊れている。ページをめくってると2、3ページに1回くらいの割で前のページの商品が混じってくる。リロードすると直る。■9.壊れているのはポイントも同じだった。「Amazon.co.jp:クチコミ:Amazonポイントがおかしい」ポイント制度について。「華僑に学んでわかった「金は天下の周りもの」の本当の意味とは?|Career Supli」を読むとポイント付与の正しさがわかる。それは付与する側の、であって、ポイントを割り引いて実質XXX円とか心底どうでもいいし目にしたくもない。しょうもないことに管理コストを払ってるな(お互いに)と思うだけ。■10.検索が Ajaxになったら、検索実行後に入力欄にフォーカスが残ってるのが予想外でページスクロールに支障をきたす。Enterキーでひと区切りつけてるのに用済みの入力欄に足を引っぱられる。たぶん blurメソッドでフォーカスを飛ばせば解決するというものではない。予想を裏切る作為(autofocus属性とかも)が気に入らないのだと思うから、慣れによって予想は変わるので決まった正解はない。では取り除かれるべき作為は何かって、ページ遷移を省略したこと。検索がインクリメンタルに自動でシームレスに行われていれば予想外の出来事はなかったと思うがね。■11.トップページが商品画像の羅列になって情報量がほぼゼロ。俺ってたぶん画像(現実)認識能力が低いのだろう。見たものから何かを読み取ることが苦手(20140730)。あるいは文字の読み取りに最適化しすぎている(20150319,20141030)。たとえばカーテンを探してるときにリストをサムネイル形式にして見た目に注力して欲しいものを見つけることはある。でもトップページで画像を並べられるとそれが何であるか(本?シャツ?ゲーム?)をまず読み取らなければいけない。それは流し見てるときの俺の処理能力を超えているので何も認識することなく流れていく。価値のないトップページ。■(思いついたら追加する)

最終更新: 2015-06-23T01:18+0900

タイトル↑の補足

ふくれあがる一方の userContent.cssの一部。アマゾンから足を洗う*日は近い。

/* 2013-12-17
	アマゾンのうざいポップアップ広告を消す!!!
*/
body
>div#ap_container:first-child
>div.ap_popover.ap_popover_sprited[z-index="-220"] {
	display: none !important;
}
body
>div#ap_container:first-child
>div.ap_popover.ap_popover_sprited[surround="6,16,18,16"].拡大画像もヒットしてしまう {
	display: none !important;
}
/* 2014-10-15
	アマゾンのページめくりを邪魔するポップアップ(☆の内訳/キャンペーン)を消す!!!
	ついでに注文履歴のお届け先ドロップダウンも消えてる。
	シェブロン(▼)付き全部が対象なんだろう。むしろ好都合。
*/
div.a-popover.a-declarative.a-arrow-bottom {
	display: none !important;
}
/* 2014-10-30
	アマゾンの検索結果サムネイルに下からスクロールして被さるウザくて些細な追加情報を消す。
*/
div.ild3.ilbk3 {
	display: none !important;
}
/* 2015-04-23
	アマゾンのちらちら目障りなフローティングメニューを消す。
*/
#miniATF_feature_div {
	display: none;
}
/* 2015-05-01
	アマゾンの長ったらしいメッセージを隠して
	ウィッシュリストに追加するリストボックスの使い勝手を取り戻す。
*/
div#snsBuyBox.a-box,
div#availability.a-section.a-spacing-none,
div#bbop-sbbop-container.a-section {
	display: none !important;
}

* もちろん意図して選んだ言葉。

最終更新: 2015-06-14T00:34+0900

[tDiary] タイトル↑からの派生。Kindle版による ISBN乗っ取りが amazon.rbに影響する。

IdTypeに ISBNを指定した ItemLookupのレスポンスに Item要素が2つ含まれていることがある。指定した ISBNをもつ本とその Kindle版に対応している。

巧妙なのか偶然の結果なのかは知らないけど、Kindle本の Item要素の方が前にあることで、Kindle登場以前から動いているコードが意図せぬせざる Kindle対応を果たしていたりする。ASINではなく ISBNを指定してそれなのだから意図していないのは間違いない。

begin
	xml = File::read( "#{cache}/#{country}#{asin}.xml" )
rescue Errno::ENOENT
	xml =  amazon_call_ecs( asin, id_type, country )
	File::open( "#{cache}/#{country}#{asin}.xml", 'wb' ) {|f| f.write( xml )}
end
doc = REXML::Document::new( REXML::Source::new( xml ) ).root
item = doc.elements.to_a( '*/Item' )[0] # 無条件に最初の Itemを選択している!

 どうする?

XPathと REXMLについて調べながら試してこうなった。効率もなにもない完全な手探り。

item = doc.elements.to_a( '/ItemLookupResponse/Items/Item[ASIN="%1$s" or ItemAttributes/EAN="%1$s"][1]'%asin )[0]

XPathでは不可能ではないけど、CSSでは親を条件に子や子孫を選ぶことはできてもその逆ができないのだよね(20150323p01)」って、これが念頭にあったから不可能ではないと書いたのだった。CSSでも「CSS4セレクタ (Selectors Level 4) の新機能」が実現すればできるようになるらしいとはその後の調べ。


2015年05月17日 (日) 尾籠な話題。「【閲覧注意】歩くと肛門がニチャニチャして汁出てくるんだが:キニ速」■冬は平気。夏にひどくなる(切れて滲んでる感じ。血ではない)。夏はほぼ毎朝ゆるい。ゆるくない日は出てこない。夏ではないけど最近は朝起きて1回、30分後の出発前に2回目、夕方に3回目というパターンが多い。穴の奥までよく拭く。ズボンが薄くなる夏に自転車に乗るのが原因だと疑っている(サドルを変えよう(提案))。自転車に乗らなければ夏でも平気。最近も夏着ではなくまだジーンズなので自転車に乗ってても平気。滲んでくる黄色くて透明で猛烈に臭い汁は、下痢のときにときどきツツツと尻を伝ってくる汁と同じ。膿じゃないからね(絶対)。■というわけで、俺は1とは違うのでセーフったらセーフ。


2015年05月15日 (金) つい最近砥石を買いました。「「25年に1度しか砥がなくていい黒い包丁」が日本でも公式発売 - poco blog」■それって硬くて研げないとか、欠けたらそれまでよ、ってことの裏返しなのでは? 刃物は安価な使い捨ても選択肢のひとつだけど、安くはない。■「エバーカットを、ナイフシャープナーや砥石で研ごうとする事は絶対にやめて下さい。刃を痛める原因になります。」「<保証について> エバーカットの各商品には、一つ一つに個別のシリアルナンバーが記載されており、すべての商品に一生涯の保証が与えられています この保証を利用する為に必要なことは、包丁を登録することだけです。 製品の登録とメンテナンスの申し込みは、TBグループのEVERCUTウェブサイト(英語)から行えます。(刃の復元は無料ですが、送料はお客様の負担となります。」英語のサイトしかないみたいだけど、どこに送る?■どちらがどれだけレアだろう。25年間使い続けるユーザー V.S. 25年後まで存続しているメーカー■アマゾンで仕入れた、包丁に関するキーワードは「V金10号」と「ダマスクス紋様」。黒い包丁といい、なかなかのくすぐりようだけど、俺の琴線にふれたのは「オウカキョウメンシアゲ(20150226)」。今ある包丁がちびてくるのを待ってるなう。


2015年05月14日 (木) 量・数、フラグ・オプション、状態、パターン。「複雑さについて思うこと。 - 結城浩の連ツイ」■繰り返しやパターンを共通部分とバリエーション、つまりひとつのコードと多数のデータ(※データが実行可能な場合もある)で表現するのでなく、コードのコピペ改変で実現してしまうのは愚かだけど、もっとも愚かなのは、指数関数的に爆発しかねない組み合わせを、ファクターではなく結果ごとにコードにすることではないだろうか。だからフラグが嫌い。ストレートなコードを直列につなぎ合わせて入力を望みの出力へ導きたい。直列でなければ Map & Reduceで。■■■@2016-08-16 つまりこういうこと。「クソコードレビュー会なるものに参加してきた - そんな今日この頃でして、、、」。二者のじゃんけんを実装したこのクソコードには if文による分岐が9含まれている。じゃんけんのルールは三すくみだというのに、9つものルールは存在しないというのに。コードに必要な分岐は3つだけであって欲しいし、それを表引きにしてデータに判断させるのが人間にわかりやすく網羅的で最良。特に二者間では。■どうしても二者に最適化したコードを書くのは抵抗がある。YAGNIと言われようとも。>クソコードと呼ばないで(1.8KiB)■最初に相子を判定して除外するとか、全体を見回してから判断するというのを避けたいという動機があったのだけど、どうやら達成できていないし、全体をスキャンする過程で勝ちの手と負けの手をピックアップしていくのが判定関数の出力としては良かった。小さいし、相子判定が出次第スキャンを中断できるし。


2015年05月11日 (月) やっぱり、という感想しかない。「tokoyaさんはTwitterを使っています: "Amazonで詐欺という話が流れてきたけど、関東は送料無料に設定しておいてAmazonの表示上は送料無料と表示されているが、実際には関東への配送不可の設定になっていて、それ以外の地域からワンクリックで注文されたら送料ぼったくりという手口か。よく考えるもんだなぁ。"」■1-Click設定には配達先情報も含まれてるのに、なんでもかんでも「+ 関東への配送料無料」ってバカにしてる(Amazonが)、とは以前書いた。俺は 1-Click注文をするとそのまま注文の詳細を表示するリンクをたどって総額を確認してる。必ず。どうして最初から表示しないのか理解できない……こともないか。1-Click注文のハードルが極限まで低いから、同じ権限で注文履歴を表示することができないのかもしれない。■ところで、出品者の配送料テーブルってどうしてあんなに見にくいフォーマットなんだろう。いつ見ても理解するまで二度三度と見直してしまう。■訪問済みリンクの色でさえ問題になるのだから、配達先を絞り込める情報を http接続の Webページに載せることになにか差し障りがあるだろうか。


2015年05月09日 (土) Media Player Classicに代えて MPC-BE 1.4.3を使ってる。オプションが増えたしシークは同じように速いし内蔵で GPUを積極的に使ってくれるしで元に戻るつもりはないんだけど、映像クリックへの反応が奇妙だ。再生と一時停止を切り替えるために映像をクリックするんだけど、取りこぼしが多い。調べると、押してから離すまでの時間がある程度短くないといけないようだ。それにたぶんポインタが 1ピクセルでもずれると反応しない。なので、ポインタをプレイヤー上に持って行ってからひと呼吸おいて完全に静止させ、ずれないようにしかし素早くクリックしないといけない。ちなみにフルスクリーンモードの時は押した瞬間に反応する。これは映像部分を掴んでウィンドウを移動させられるようにする処理の影響だと思う(だからフルスクリーンモードでは関係がない)。そういう処理が必要になったのは、タイトルバーを隠して映像を最大化するビューモードがあるからだ。これ(20071103p01)とは違って何をなくせとは言わないが、もっとうまく OSのクリック判定を模倣して欲しい。