/ 最近 .rdf 追記 設定 本棚

脳log[2017-02-16~]



2017年02月16日 (木) 最近たて続けにそういう動画に行き当たって初めて存在を知ったのだけど、足で宝箱を開けるタイプのゲームが少なくとも2つはある。だめ。受け付けない。流血や殺しあいは好まないにしても平気だけど、驚くほど足で蹴り開けるアクションを見続けることに耐えられない。どういうことなんだろう。


2017年02月15日 (水) 手を出してると冷えがつらいのでページを押さえる必要がない Sony Reader がこの時期のお風呂読書に便利。結露は怖いけど。■昨日は持ち込まなかったので思いつくままテキトーなことを考えていた。■子供に体を洗わせるとき、その意義を教えるには、結果としてきれいな体を得るには、体が汚れていることに気づかせなければいけない。それが開始条件で、きれいになったことが終了条件。どこで確認する? 頭のふけ。足の指のまた。また玉袋というのも毎日けっこうな量の垢を産生する活発な部位らしく、一日中下着に覆われていて臭いもこもりやすいので念入りに洗う必要がある。皮膚というのは大事にメンテナンスして長く使うものではなくて次々新しいものに交換していくスタイル。空気清浄機のフィルター交換においては、10年間交換不要なタイプと、2年ごとに交換するフィルターを10年分つけて販売しているタイプがある。どちらを使いたいか。俺は適当に短い周期でリフレッシュしたい。空気清浄機とはファンとフィルターである。ファンとは扇風機の羽根を最初に想像する。実際にはシロッコファンというハムスターの回し車みたいな形のものが付いている。浴室換気扇も、交換前のものはプロペラ型だったが新しいものはシロッコファンだった。空気の流れが直角に変わるからだろうか。フィルターは不織布。不織布と紙の違いとは。布には2種類あるらしく、不織布とそうでない布。普通の布っていうのは織ってある布のことなのか。織るっていうのは糸をタテヨコ格子状に並べることで、機織り機っていうのは布を織る機械なのね。鶴の恩返し。ん? ハタオリのハタってなんだ? 織機(しょっき・おりき)で織ることを機織りって言うんであって、機織り機は一周しておかしなことになってないか、これまで疑わなかったけど。織機とは。TVで自分で織ったものをおみやげにできる海外の旅行先を見た。数十本の縦糸を固定しておいて、横糸を手で移動させる。横糸は縦糸の上下を縫うように移動するわけだけど、縦糸の偶数番目と奇数番目を上下に分けておけば横糸をまっすぐ通すだけで同じ結果になる。なんと画期的なことか。折り返す横糸の処理はどうやるんだろう。次に縦糸の上下を入れ替えると、横糸に対する縦糸のひと縫いが完了するわけだけど、この上下の入れ替え機構がわからない。2本の木の棒に縦糸を結びつけておいたら木の棒が糸の間を通らない(←このレベル)。たしか子供のころのちょっと高級なおもちゃにミニチュアの織機みたいなものがあった気がするけど、今はもうないだろうな。時代だな。……いやいやアマゾンで手織りのための機械が売られてるし、4歳の女の子にプレゼントしたとの最近のレビューもある。変わってない。そして、手織り機なるものが存在するなら、手織り機を使う手織りに対して機織りとは? 機織り機もやっぱりあるんでは。布の模様って織るプロセスに規定されるところがあるよね。例外的に超絶技巧(または手間)を要する模様もあるかもだけど。糸の段階で染めるのではなくあとから染めるのは、一枚の布をキャンバスにできてわりと自由。でも絵を書くように染められるわけではない。そういうのは刺繍か。柄プリントっていうのは夢の画期的技術なんだなあ(棒読み)。なぜなのか。強度か。伝統か。非効率と裏返しの贅沢・希少性か。脳という組織に織り込まれていないソフトウェアとしての意識に強度はあるか……までいくと飛躍が過ぎる。おしまい。■なんでもは知らないけどだいたいなんでも知っている羽川さんにはできない時間つぶしだった。何日か前に「すべては最適化の結果なのです。自分に関係がないもの(基本はすべてこれ)に向ける注意はないのです」と書いたことの帰結だけど、よくないね。布とは、から思考が始まるっていうのはね。そして布を規定するものが anti-布たる不織布。「最近、名前に意味がある、意味を込めようとする人が多い、ということに気付いてきている」と書いたのがたったの9年前だというからその無関心に驚く。いくつでそれに気がついて、お前いくつになったの。■「関西人は「ちゃうわ」「なんやったっけ」などの独り言が多くて誤解されやすい?「めっちゃわかる…」「自分と対話してる」 - Togetterまとめ」■■■@2017-05-16 (3か月経ってから)ググりました。「布(ぬの)とは多数の繊維を薄く広い板状に加工したものを指す。作り方によって織物、編み物(メリヤス生地)、レース、フェルト、不織布に分けられ」(布 - Wikipedia)


2017年02月14日 (火) たしか、ちょっと前に「ないべき」は変だけどどう書き直したらいいのか悩んだのだった>20110319(6年前)。「「ないべき」の話についてちょっとだけ補足(+否定に関する読書案内第2弾) - dlitの殴り書き」■ぬべきのぬは完了の助動詞なので違う。ざるべきはシェイクスピアなのでちょっと仰々しい。結局、べきでないが自然なのだった。■あと注意したいのが、べきは連体形なのであって、終止形はべしだってこと。これに関してはちょっと前に朝日新聞のミニコラムで取り上げられていた。その欄の前回は、疑問文でないところに現れる疑問符についてだった。たしかにイントネーションを理由にして使ってる。■ブコメで挙がってる「ないです」も要注意なんだよね。つまりつい口にしてしまってから、ありませんと言い直したくなることがしょっちゅう。尊敬語や謙譲語にすると語尾ではなく元から形が変わってしまう動詞が、声に出す前に頭の中で先回りしておかないと対応できないのと同じ。


2017年02月12日 (日) すごくありそうな話で、それがまた怖い。「SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ」■例によって茶々だけを入れますけれど、このループ for (int i = 0; i < (int) ((bigArray.length + 99) /100); i++) に対してこのコメント「配列を100個ずつに分割するコードなんですよ。えええええ。なんだこれ。99っていったいどこから出てきた?しかもこのコード、コメントなしなんですよ?このコードがコメントなしで伝わるコードなわけないだろと」。書き直させたのがこのループ for (int i = 0; i < bigArray.length; i+=100)(x+N-1)/N (ただし 0<=x, 0<N) っていうのは切り捨て除算で端数を切り上げる定型なのであって、書き直し前と後のループの違いは、ループカウンタが分割後の配列のインデックスになってるか分割前の配列のインデックスになってるかであり、どちらに着目しても結局両方のインデックスを使うのだから大差はない。どちらのループも書ける下請けの人の方が上等ですな。■思い出話。この定型を初めて見たのってビットマップ配列を処理するコードでのこと。ビットマップの横幅は4バイトアラインのためパディングが入ることがあって端数を切り上げたものが実際のバイト幅……みたいなことをよっちゃんいかの人(今はひよこ将棋とかやねうら王の人?)の古いサイト(BM98'S ROOMつう)のどこかで読んだと思う(※嘘を書いてたらそれは俺の記憶違い)。■「たとえば、関数を書くとなると、なにをするにしても、int process() { String str; int i, j; ・・・ return 0; } という書式で書きたがる。まるでそういう決まりがあるかのように。ここで、変数str、i、jは処理の最中にどんどん意味合いが変わる。intでは表現できない情報を返す必要がある場合は戻り値はStringになる。複数の情報を返す場合は、Stringの中にカンマ区切りで情報を記載すし、呼び出し側でカンマ分割して復元する、なんてことを平気でやる。構造体ってなんのためにあるか知ってますか。」 Stringを使ってる時点で言い逃れはできない感じだけど、構造体はレジスタに入らないから関数の戻り値にはできないとか、そういう制限のあるコンパイラがあったと思うんだよね。まさしくそういう決まりがあった。変数の使い回しはスタックの節約とか? 一度たたき込まれたことを律儀に守ってるんじゃあないでしょうか。■「for (int i =0; i < length; i++) { } 繰り返しもこう書かなくてはいけないという明確な意思があるようだ。」 eachだ forEachだ mapだ someだ anyだ everyだ reduceだ selectだと目的ごとにメソッドを選ぶのがわかりやすいか、たったひとつの道具(forループ)を使うのがわかりやすいかは見かたにより判断が分かれる。知識レベルが大きく違っていたり平均レベルが低かったりする多人数が理解できる最大公約数的存在がどちらかといえば……。自分の身の丈をよく知っている。■しかしこの節操のなさは擁護できない。「急にモダンなスタイルのコードが出現した場合、それはどっかからのコピペである。」■「要素に対して加工処理を実行します - function elementProcess(elm)」 あかん、笑う。つくづく思うけど、今どきの言語は識別子に大概の Unicode文字が使えるから、低レベルでドメスティックな現場では日本語を使わないとダメよ。しかしそれであっても、母語であっても、理路整然と矛盾のない文章をすべての人間が書けるというわけではないのだけど(それでも英語で書かせるよりはまし)。■「なぜかパラメータ名に10とかShiftJisとかの値が入ってる。この、パラメータ名とそこに入れる値が区別ついてないっていうパターンは驚くことにかなり頻発する。」 園児や発達障害者ではあったと思うけど、こういう間違い方の事例を集めたものが面白そう。自分を例にして間違えたわけではない理由を考えると、パラメータが取り得る値のひとつを代表値として名前に使用することで、その変数の具体的イメージが掴みやすくはなる。変数名を「文字コード」という総称にするより「シフトJIS(など)」とした方が具体的でわかりやすいという傾向があるのでは? 数学者に関する笑い話のようなエピソードを読んだ。「済みませんが,もう少しわかり易く抽象的に説明して頂けませんか」 自分らは数学者ではないので……。■「「有効状態のものだけを取得」したい場合、isEnabledFalseにはなにを指定すれば良いのだろうか。だれにもわからない。多分本人ですらわからないんじゃないか。繰り返して言うけど、頭がおかしいんだとおもいます。」 あかん、腹がよじれる。車の運転だけじゃない。たぶんコンピュータの方が(平均すると)よっぽどましなプログラミングをする。■ところで仁王っていうゲームの実況動画を見ていたら「装備の重さの、上限に対する比率が100%を超えています」というメッセージが出てきていた。日本語に不自由していますか? 「装備の重さが上限を超えています」ではいかんの? ひょっとして 100%、75%、50%とかの数字に意味があるの? ←「上限」というのと「比率」というのがステータス画面で使用されているキーワードだった。じゃあ……まあ……。


2017年02月11日 (土) 馬鹿な au。以前からのサポートURL(kddi.com)にアクセスするとログインのために au.comに飛ばされ、すぐに kddi.comに戻される。どうしてそんな移動をいちいち気にするのかというと、たかだかログインのためだけに au.comにスクリプトの実行許可を求められ、請求書を確認するためにも(こちらはもう前からなので諦めているが) kddi.comに対してスクリプトの実行を許可しなければいけないからだ。以前は au.comへのアクセスはなかった。利用者の利便ではなく実装者の利便のために認証の委譲をやってるんだろうか。どうして IDとパスワードを送信するだけのために JavaScriptを要求するような無駄をするのだろうか。携帯電話を初めて持った当初から毎月の紙の請求書の送付は無駄だとメール通知を利用していたが、こんなていたらくでは、オンラインでの確認がデフォルトになり紙の請求書が有料化された今こそ毎月無駄紙を送付させなければいけないだろう。無駄が無駄を呼ぶ愚かしさ。■au.comに関しては、CSSを切ればサポートIDを使う方のログインフォームを表示させられることがわかったので、CSSもスクリプトもなしだ。スクリプトで表示したいなら、最初にスクリプトで隠すんだよ。ページ構築がチラ見えするぐらい機能しないよりよっぽどましだし、嫌なら隠さんでいい。サポートIDと auIDという俺には区別のできない2つの IDが併存していることが諸悪の根源。だから片方を隠したくなる。auIDなんていらんよ。■auは www.au.com/supportを新しいサポートページのフロントにしたいみたいだけど、そのページは役に立たないファサードだし、もっといえば新しくログインを受け持つ au.com自体が無用の存在だ。だって結局俺の用があるのも、au.comを経由して行き着く先も、cs.kddi.comであり cs3.kddi.comなんだから、最初から目的地にアクセスさせろと。以前はそうだったろと。■■■「KDDIが2文字ドメイン「au.com」を買収していた | スラド IT


2017年02月09日 (木) 注意書きや案内を「読まない人」は本当に読まない。フォントサイズを変えようが下線を引こうがとにかく読まない。そして「聞いてない!」と言う。 - Togetterまとめ」■わりと一方的な流れになってるけど……。説明書の類は喜々としてゲームや機械を触る前に隅々まで読む方だけど、壁に貼られた注意書きはまるで目に入ってこない。行列も目に入らない>20130228。■すべては最適化の結果なのです。自分に関係がないもの(基本はすべてこれ)に向ける注意はないのです。■それに、あちこちにぺたぺたぺたぺたと張り紙をするだけして、そこに書いてある気づかない方が悪いと言われても困るんです。張り紙(マニュアル)はないよりましだし、うまく使えばバカでも仕事に投入できるようになるツールだけど、同時に3つも4つもの張り紙に注意を向けることは不可能なんで、人間の性質振る舞い限界について学んでほしいところ。■人間(自分)中心主義の意見としては、注意や案内が必要な状況、それ自体が解消されるべきものであって、人間に指図して対応を求めるのは筋違い……とまではいかなくても、安易なその場しのぎではないかと一度は自問してみたか問いたい。auについて過去に愚痴った>20110120。■どこかのサービスエリアでのこと。販売機で食券を先に買う方式だった。その食券をあなたはどうするだろうか。俺はほとんど外食をしないので他と比べることはできないんだけど、自分の注文分を待つあいだ観察していたところ、ほとんどの客がカウンター越しにおばちゃんに食券を提示しようとして、「券を買った時点で機械から注文が通ってるので、そのまま席でお待ちください」というような案内を受けていた。見回すと同じ内容の張り紙が3枚は見つかった。つまりこれはそういう機械を入れたときから繰り返されている光景で、張り紙は全くの無力なんだな、と。自分がたくさんの張り紙に気がついたのだって、席について周りを見渡す余裕ができてからだったし。おばちゃんの対応が慣れていて苦にしていない風だったので、何を責めるべきでもないというのが良い。張り紙があるからって、あなたが案内をしてはいけない理由、忌避する理由にはならないんじゃないの。それが自分の仕事として評価されない時間の浪費だというならつらいけど、その不満をぶつけるべき相手を考えようね。黙ってシステムの一部になったときあなたは不満をぶつける側ではなくぶつけられる側の共犯になるんですよ。


2017年02月08日 (水) 本を買って、届くまでに評判と感想をチェックしておこうと検索したら、Reader Storeで今まさに半額セールやってんの>「【Reader Store】Game Programming Patterns(Robert Nystrom,武舎広幸,阿部和也,上西昌弘) : インプレス - 電子書籍」。なんだよ知らないよ、メールマガジン登録してるのに……。あった、メールの件名>「【最大50%OFF】スキルUP応援!プログラミングフェア/【50%OFF】お金の不安を解消する本フェア」 中まで読まなくても件名くらい読みましょうね。ただまあ、文庫新書漫画以外の本を電書で買うふんぎりはまだついていないのだけど。■他にも目を付けていてまだ買っていない「【Reader Store】APIデザインの極意 Java/NetBeansアーキテクト探究ノート(Jaroslav Tulach,柴田 芳樹) : インプレス - 電子書籍」が半額。読み捨てにするにはもったいない内容だからこそ紙の本で買いたいんだけど、半額ならそうなってもいいかって気にさせる。


2017年02月07日 (火) 立法っていうのは自然言語でプログラミングを行うようなものなんだろうか。国語より算数が好きな人間だったので、そういう、道具も対象もふわふわしてる中で積み上げていく行為は気が遠くなっていけない(ここは賽の河原か)。プロフェッショナルのお仕事ですよ(無関係宣言)。■ブコメは散々だけど面白いと思った>「法学の方が『理系』で、工学の方が『文系』という話 ~本当の理系と本当の文系について~ - 雪見、月見、花見。


2017年02月06日 (月) パソコンに入力するからには再利用を考えたい。なのでバイナリフォーマットを避けたい。そのとき限りの装飾を分けたい。■レベル1。TSVファイルが便利。手入力するにもタブキーとエンターキーで区切るだけなので無駄がない。再利用はエクセルかちょっと加工して JSONか、なくなりそうだけど IE+TDCか。でも忘れられてはいない>「Anniversary Update における TDC コントロールの制限 (Windows 10) – Japan IE Support Team Blog」■レベル2。改行がデータに入ると TSVでは扱いにくい。エスケープシークエンスを導入したりしたくない。タグを手入力するのは手間だけど XMLにしてみようか。再利用は XSLT+ブラウザか MSXML+JScriptか。■レベルDB。SQLite+SQL。でもデータベースを利用したい“ちょっとした”理由ってなんだろう。プログラムがデータを引き出す方法として SQLを利用したいことはあったけど。■レベル3。TeXとかグラフ化(2次元・3次元)とか、できないんだよなー。R言語なんだろうか。グラフといえば graphvizはインストールした。でも特にインストールする必要がないっていうのも重要な要素なんよね。


2017年02月03日 (金) [C++] 全然知らないことばっかりだけど、最初に目にとまったのがこれ。「C++1z タプルを展開して関数呼び出しするapply関数」(C++1zの言語拡張まとめ - Faith and Brave - C++で遊ぼう)■つまり、引数リストがオブジェクトになり、プログラムから操作可能な対象になるということ。ごく最近のことだけどこれ(BugReport/211 正規表現キーワードで dll がエラーを返すと落ちる)に関連してソースを見たときに、BMatchという APIと BMatchExという拡張された APIが目に入って、引数がひとつだけ追加されているという違いがあるんだけど、それがために2つの APIを呼び分けるためにはソースコード上で if や条件演算子を使って、ベタに呼び出しコードを書いて並べなければいけなかったりする。そういう分岐を、局所化してまとめたり外部に追い出したりできるのが嬉しい。■もうひとつしょうもないことに目がとまった。「非推奨だったbool型に対するインクリメント演算子を削除」未初期化の bool変数をインクリメントすると必ず trueになるっていうの、2か月前(20161214)にパッチを読むにあたって(パッチの内容とは関係ないけど)初めて知ったんだけど、使えなくなるのか。使わないけど。■タプルと applyに戻る。「C++14で追加されたコンパイル時整数シーケンスを使用した最初の標準ライブラリ実装になります」 コンパイル時? 整数? やっぱり bindしかないの?■整数型と対比されるものがなんなのかわかっていない。だって例では std::stringを含むタプルを渡してるもの。


2017年01月31日 (火) [正規表現][SakuraEditor]「BoSubst() で置換時、patternp に NULL を指定し substp に NULL 以外を指定することで、前回の patternp のコンパイル結果を流用することができます。しかし逆に patternp に NULL 以外を指定し substp に NULL を指定することはできません。」■すでにこれ(20100907p01.01)が存在していたとはね。そして過去の俺はおかしなことを書いてるぞ。Expandは「Matchや Searchの結果を用いて $変数(またはその類)を展開したフォーマット文字列を返す」が正しいし、Replaceは Search & Expandでまかなうのが正しい。■正規表現リテラルの要素を複数の引数に分離するのがもう済んでるのは知ってた。■あとは、キャプチャ結果のスタックを得る方法があるもんだと思って bregonig.dllのヘルプを見てたんだけど、見つけられなかった。検索パターンでネストレベル付き後方参照というのが使えるから原理的に情報は保存されてるはずなんだけど、旧来の BREGEXP構造体にはそれを受け渡すためのフィールドがない、と。■キャプチャのスタックが必要だった理由>「Request/533 正規表現検索でサブマッチにも個別の検索色を」。本当にそれで満足?と俺は疑問に思ってしまうのだけど、自分で実装してしまうほど熱心な提案者。実装を .cppに書いてヘッダで宣言に inlineって書いても、ヘッダをインクルードする利用者側コードのコンパイル時に関数の中身が見えていなければインライン展開のしようがないと思うのだけど、いまどきはリンク時コード生成とかで似たような結果が得られるんだろうかと思ったり(※でもそれはたぶん inlineって書いたからではない)。スクリーンショットを見て疑問だったのが、引数リストの型名部分がハイライトされているように見えて、最後の引数しかハイライトされていないこと。パターンでキャプチャの繰り返しを使ったのだけど最後のキャプチャ位置しか取り出せなかったんだな、と理解した。bregexp.dllや bregexp.dll for SAKURA(※そうなのです。拡張された別物なのです)ではなく bregonig.dllを利用してるユーザー(※たぶん多数派)にはボーナスとして bregonig.dllの独自 APIを利用したサブパターンハイライトがあってもいいんじゃないかと考えたんだけど、APIとのやりとりが同じ BREGEXP構造体だった。■Mery同梱の正規表現ライブラリ名は onig.dllなんだよね。(じか)に鬼雲を使えってことだよ……。素材はもうあるんだよ……。■「直」って読み方多すぎない?(多すぎじゃない? 多すぎなくない?) じか、す(ぐ)、チョク、なお、ジキ、ただ、ひた、ね、あたい。「とのい」とか「のうし」とかの熟語は源氏物語の世界だなあ。由緒があるってことなんか。


2017年01月29日 (日) natsuko ozakiさんのツイート: "妹が姪2歳0ヶ月のために100均で買ったという英語の本がじわじわきている。 https://t.co/FwF44Wze3Z"」■onionも tunnelも辞書に発音注意って書いてあるの初めて知った。トンネルはタノーとかタネオとしか聞こえない。強勢のある O がだいたい ア なのは想像できるけど、アニィァン みたいなのはわかりませんて。■こういうときスペルと発音がきっちり対応してる(アニオン、アニアン)のがイギリスさんで、大胆に手を抜いてショートカットする(アニャン)のがアメリカさんってイメージ>「インスリン(インシュリン)がインサランだったり(英式はまた違うみたい)(20131007p01)」■以前 TVで見た光景。たくさんの子供がいて猿(monkey)のカードが提示されました。英語でなんて言うでしょうか。「マンキー」「モンキー」「モンキー」「モンキー」「モンキー」「モンキー」「モンキー」「モンキー」「モンキー」。ひときわ元気が良かった一人を除いてカタカナ英語は齢数年の子供にも浸透していたのだった。■スマスマで SMAPとゲスト(外人さん)が曲名「Let it be」をコールした瞬間がおもしろかった。日本人は、つまり俺もその例に漏れないわけだけど、レット、イット、ビーって3つに分けちゃうけど、そのゲストはレットのあいだにもう be まで言い終わってたもんね。「(あっ……)」っていうゲストの心の声(つまりは表情のことだな)が聞こえた。


2017年01月28日 (土) [SakuraEditor]「Sakura Editor / PatchUnicode / #1096 static変数削除」■SetWindowLongPtr/GetWindowLongPtr をあっちでもこっちでも使いたいってときは SetProp/GetProp なんて方法もあるらしいよ。ちらっと名前を見かけたことがあるだけで、使ったことはないし、典型的な使い所も知らないけども。WindowLong、WindowLongPtr ってフリーアクセスだからなーんか不安になるんだよね。考えすぎだとしても reinterpret_cast が破滅への入り口に見えてしかたがない。アクセスするデータに名前がついてるとちょっとだけ安心できる。■「フリーアクセス」と思ったんだけど、呼び出し元スレッドとウィンドウとが同じプロセスに属していないと失敗するらしい。じゃあ dllを作ったりしないといけないのかな。ハードルが上がって不安の種は身内のコードだけに。