良いことばかりな気がするが、ストレスたまりすぎおかしくなったサラリーマンが24時間無差別に車を殴り続けるといった事案も出てくることだろう。」うんうん、こういう演繹は必要だよね。と、ここから雲行きがあやしいぞ。「
この満員電車は、死人を詰め込み墓へと運ぶ乗り物に似ている。俺は死体になってしまったッ!! 俺は絶対に満員電車を許さないッ!! というわけでイカれたサラリーマンの自宅の地下には大洞窟があり、そこを秘密基地リーマンケイブとしている。乗り物が通ると自宅の屋上に設置されたサーチライトが輝き、おかしくなったサラリー野郎が殴りに行く。」■読み物としては楽しめたけど、最後の「
譲り合い みんな仲良く 交通戦争」に関して少し。譲り合いってなんだ? 譲り譲られ、あるいは譲り返し、それは(輸送効率を考えなければ)ほのぼのしたいい光景だと思うけど、効率と安全のために交通ルールが定められていて、俺はこれを無視できないし、自分に関わる範囲で無視する理解していない他人を糞味噌に軽蔑してるわけだ(子供と年寄りとペットとおばちゃん自転車に勝てないのは当然のこととして受け入れてるので、それ以外に対して)。譲ることができるのは優先側の人だけで、非優先側の人は譲られることしかできない。譲り合いって可能か? 勘違いした非優先側の人間が譲り合い譲り合いと主張し勝手に譲られようとする(※能動的な受け身という矛盾)おかしな事態を招く危うい言葉ではないかと思う。譲り合いというのは一時停止の標識や標示の省略された、住宅地のような場所においてのみ意味のある言葉ではないか。
最終更新: 2015-05-31T16:39+0900
ファイル作成日時をみると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-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
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) の新機能」が実現すればできるようになるらしいとはその後の調べ。
エバーカットを、ナイフシャープナーや砥石で研ごうとする事は絶対にやめて下さい。刃を痛める原因になります。」「
<保証について> エバーカットの各商品には、一つ一つに個別のシリアルナンバーが記載されており、すべての商品に一生涯の保証が与えられています この保証を利用する為に必要なことは、包丁を登録することだけです。 製品の登録とメンテナンスの申し込みは、TBグループのEVERCUTウェブサイト(英語)から行えます。(刃の復元は無料ですが、送料はお客様の負担となります。」英語のサイトしかないみたいだけど、どこに送る?■どちらがどれだけレアだろう。25年間使い続けるユーザー V.S. 25年後まで存続しているメーカー■アマゾンで仕入れた、包丁に関するキーワードは「V金10号」と「ダマスクス紋様」。黒い包丁といい、なかなかのくすぐりようだけど、俺の琴線にふれたのは「オウカキョウメンシアゲ(20150226)」。今ある包丁がちびてくるのを待ってるなう。
周期が2^19937-1で、623次元超立方体の中に 均等に分布することが証明されています」と紹介されてるメルセンヌ・ツイスタが唯一の正解にならないのは、計算コストとかテストのための再現性とかが関係してるの?と思ってる。■紹介文の理解は「周期が、周期性を観測できないほど、とんでもなく長くて、そして、平方や立方をとったとしても増えた次元数・増えた値域内にまんべんなく散るよ」で OK?■掲示板でも話題のひとつになってるけど、収束の早さだとか、物理的・数学的な正しさが面白さに寄与しているかという観点もゲームには必要だとか。まだあった。サーバーがサイコロを振ってる場合、ユーザーの総体として確率が期待値に収束するだけでは、最後まで報われないユーザーの発生が避けられないとか。人間は幸せより不幸にこそ注意を集中する(だって一度の不幸で死んだらそれまでだ。その後の幸せで埋め合わせなどできない)というのも関連してる。■しかし補正するならするで難しい。#135, #138. 直近の一定数の成否を参照して短期に収束するよう確率を操作するとすると、ユーザーごと、確率を用いる事例ごとに記憶域をサーバーに用意しないといけない。それに「一定数」というのは必ず割り出され確定した未来を得るために利用される。結果の決まっているルーレットはつまらない。確率制を採用するかどうかというところがそもそもの分岐点なのだった。■カルドセプト サーガの事例がまだ記憶に残ってる。俺も線形合同法の下位ビットに警戒心を持てていないクチ。
最終更新: 2015-05-07T22:14+0900
前回>脳log[20140904p01] (タイトル↑からの続き)
前回ちょこっと書いたのは「ユーザーが自分で kwプラグインを呼ぶとき (変数 uにあたる部分を) HTMLエスケープしますか?」という疑問。そんなことはしない(だから hikidoc.rbの HTMLOutput#hyperlinkが施す escape_html_paramをキャンセルする必要がある)という前提で、自分は $1を hikihtml.unescape_htmlして変数 uに受け取り、そのまま kwプラグインに渡している。
その後、20140904時点での wiki_style.rbでは二重ブラケットリンク記法内での文字装飾(例えば [[==リンク=='''(※現在無効)'''|http(略)]] みたいなの)を利用しようとするとタグがそのまま表示される(=エスケープしすぎている)ことがわかった。
これは kの扱い方が間違っていることを示している。uのまねをして、$2まで hikihtml.unescape_htmlして kに受け取ったのが問題なのだろうか。だいたいそう。myプラグインの第二引数と kwプラグインの第二引数をひとつの変数 kに代表させるにあたって、引数の一方は HTMLの断片を、もう一方はプレインテキストを期待しているのだから、kがそもそもの HTML断片を指している方が(テキスト化して再エスケープしたものより)問題は少ない。
というわけで kの扱いを修正した。
kwプラグインに展開される場合にタグが見えるのは kwプラグインの制限です。
[['''<google検索>'''|google:]] → <strong><google検索></strong>