/ 最近 .rdf 追記 設定 本棚

脳log[2019-06-28~]



2019年06月28日 (金) taklさんのツイート: "今話題の mimalloc を読んでいたら de Bruijn multiplication という「何をどうやったらこんなの思いつくの?」というアルゴリズムに出会えてうれしい。… "」■全然わかんないので遠巻きに眺めてみる。■「de Bruijn multiplication を使ったバージョン」は組み込み関数の _BitScanReverse__builtin_clz を使わないときの代替関数なので、やってることは clz (Count Leading Zeros)。■入力値の範囲が2^{32}通り(32ビット)で出力値が32通り(5ビット)なので、ざっと2^{27}分の1に情報が縮退している。■いちばんアホなアルゴリズムが2^{32}通りの if 文を書くもので、人並みの知能があれば32通りの分岐を書いて済ませるくらいはできる。■ここからが魔術の出番。ビットの折りたたみ方次第ですべての入力値を分類して出力値のひとつへと導くことができる。■仕上げの “multiplication” で上位の5ビットに情報が集約されている。繰り上がりの有無が潜在的な分岐になっているのだろう。こういうのって『Hacker's Delight』を読んだら身に付くんだろうか。■clz の出力値の0っていうのは入力値の1ビット分の情報しか持っていないけど、1になると2ビット分。2になると……。畳み込まれている情報の量が違う。これは「パリティの計算(20170620)」と対照だと思う。だからどうってことではなくて、これ以上魔術に近づけないからお茶を濁してるってだけ。■■■PDF 読んだ。(1) 元の数を加工して MSB (most significant bit) だけが立った状態にする。数値としては2のべき乗になり、この数を掛けるということはシフト演算と同じ。(2) de Bruijn 列というのは文字種(k)と文字列長(n)の2つのパラメータで特徴付けられる長さk^nの環状文字列(※末尾の次に先頭の文字が来ると考える)。パラメータに対してユニークではない。特徴は、長さ n の部分文字列を切り出したとき、どの2つとして同じものがないということ。例えば、長さ5のビット列を列挙するのに2^5=32ビット長の de Bruijn 列を用意して、任意のビットから始めて5ビットを取り出せば足りるし、余りもしないということ。(3) 1 と 2 を組み合わせるとどうなるか。de Bruijn 列に(1)の値を掛けて、固定された位置にある幅 n のビット列を読み取ると、MSB に特有の値が得られる。de Bruijn 列を触媒にすることで 2^0, 2^1,...,2^{31} だった値が、順不同ながら 0, 1,..., 31 という値に変換される。これこそが求める値。2のべき乗の掛け算(=左シフト)で仮想的にビット列を循環させるために、先頭の n ビットが 0 の de Bruijn 列を(2)で選んで、最上位の n ビットを部分列として読んでいる。■英語なのもあって一歩進むたびに「ん?」と置いて行かれそうになるんだけど、そのたびに “For example,...” と挙げられる具体例に助けられた。わかりやすい。最初から読んどけば良かった。■PDF ではこのアルゴリズムに対して、掛け算は遅い、メモリアクセス(テーブル引き)は遅い、64ビットの掛け算はもっと遅いという視点をもって性能評価を行っている。シビアだなあ。■■■@2019-07-09『ハッカーのたのしみ』に寄せられたガイ・L・スティール、ジュニアによる序文から。「2進数の加算と減算そしてことによるとビット単位の演算だけでできることは驚くほどである。キャリーの連鎖が単一のビットをその左側にある全ビットに影響させることができるという事実から、広く認識されていない形で、加算を特別強力なデータ操作演算にしている。


2019年06月27日 (木) 『Hollow Knight: Silksong』新情報公開。前作『ホロウナイト』から刷新された、一部ゲームシステムの詳細が明らかに | AUTOMATON」■ホーネットは声が健気でかわいいんだなあ。前作では何回か戦うボス扱いだったけど今度はプレイヤーキャラクター。動画で声が聞ける。


2019年06月26日 (水) 真っ白いページが表示されるだけだった note.mu のコンテンツが読めるようになっていた。ちょいちょい読みたいのがあるので嬉しい。読み応えと満足度ではログミーのものが一番というのがこのところの印象だけど、どちらも良い。■今日読みたかったのはこれ。「やねうらお特別インタビューin BM9820AT<書き起こし永久保存版>|BM9820A|note


2019年06月24日 (月) ゴーストガールズ。ラジウムガールズ。初耳。「たくさんの労働者を救った「ラジウム・ガールズ」 その忘れられた物語


2019年06月20日 (木) 7594591200220899443さんのツイート: "ところでこのグラフの読み方がサイトに一切ヒントも何も書いてなくて以前から意味が分からなかったのですが最近になってエクセルでこのグラフが作成できると偶然知って意味が分かった。これは box and whisker diagramというものらしい。… https://t.co/XNjTb1pC5b"」■箱ひげ図は最近のセンター試験で見た(※新聞に問題と解答が載る)。俺は習ってないなー、最近の高校生は難しいことやってんなーと思ったもの。代わりに削られたものが当然にあるわけだけど……。■バイオリンプロットはごく最近知った単語。今月発売された『[単行本(ソフトカバー)] Valliappa Lakshmanan【スケーラブルデータサイエンス データエンジニアのための実践Google Cloud Platform】 翔泳社』を読んでいて。■教科書のアップデートで知るプログラミングと統計の世の中か。■■■「高校数学から消えた「行列」が復活!? その背景には政府のAI戦略が | スタディウォーカー


2019年06月09日 (日) 抜枠の方に全ての本文の表示設定があったと自己レス」■これを「ヌキワク」と読んでしまって、なんでバッスイと読めなかったんだろうと不思議だった。ATOK を通して辞書に聞いてみると抜粋(バッスイ)が正解。きへんでなくこめへん。わからなくても読めたり読めなかったりするもんなんだ。


2019年06月08日 (土) 教材の書体を変えるだけで子どもの読解力が上がった!? モリサワに聞く「フォントのユニバーサルデザイン」(1) - ねとらぼ」■活字を並べたような昔の、文字列が不揃いで線の濃淡が一定でない文庫本は目が受け付けないということが確かにある。刷りの新しいものを買い直す理由になるくらいには。


2019年06月07日 (金) 自動運転列車の逆走事故は、列車内の断線によって進行方向の切り替え信号がモーターに伝わっていなかったのが原因らしい。第一報で切り替え指示に対する列車の応答は確認していたことがわかっていたので、どこに間違いがあったのか気になっていた。列車内の配線だったと。■新聞によると逆走を検知するシステムがあったらしい。でもそちらにも進行方向の切り替えが伝わっていなかったので、逆走とは判断されなかったのだと。ここは笑うところ。■システムの脆弱な部分を見事についた故障だったことがわかるけど、時間をかけて起こりうることが起こるのを待っていた結果なので、当然といえば当然。■故障は必ず起こるものだとしても、どのような形で現れるかをコントロールしたい。制御を離れて衝突事故を起こすよりは、動けなくなるように。■■■@2019-07-25 続報「このVVVF制御装置は、F線とR線の両方が印加されるという明らかな異常時は、モーター駆動の指令が同装置に入ってもモーターを駆動させない「保護動作」に移行する仕様だった。同様に、F線とR線の両方が印加されていないときもモーターを駆動させない仕様であれば、逆走を防げたはずだ。(略) シーサイドライン以外の路線は全てモーターを駆動させない仕様だった。


2019年06月06日 (木) ―ここで言う「インテリ」とは、どのような人を指すのでしょうか。 「言語能力が高い人たち」のことです。自分が考えていること、やっていることを他人に言葉で説明できる、そして、他人に説明されたことをロジックで理解できる人のことです。そうでない人は、「感情的に」好きか嫌いかで判断してしまいます。内容以上に伝え方の影響を受けることも多い。言語能力が高ければ、「あいつはムカつくけど、言っていることは正しい」と受け入れることができるのですが。」 テキストベースのネットでこれを「できて当然。できないものは去れ」と考えてはいけないのか……? すでに十分テレビ的(20131117, 20180517)になって俺にとってのジャンクが過半になっているのだが、それをビジネスにも?■「Googleのように上司と部下全員が言語能力が高く、「論理的に正しいことは許容される」と分かっていれば、心理的安全はつくられやすいんです。年齢など関係なく、論理でぶつかり合い、正しいほうが勝つ。間違っていれば正される、だけですから。」 俺の理想がここにある。論理をぶつけ合えるほど同じ知的水準にあるとは言わないが、態度・姿勢だけでも見習いたい。■以前書いた。「「言い方が気に入らない」というような不満を、経験からの印象では、女の人からもれ聞くことがままあるように思う。(中略) 言い方はさておいても指摘の内容を真摯に受け止めることが自分のためになると思うんだがなあ。」■以前書いた。「感情に判断を左右されること、感情を満足させるために行動すること。精進が足りないと思う。


2019年06月05日 (水) Temporarily Disabling Tests If you have a broken test that you cannot fix right away, you can add the DISABLED_ prefix to its name.」■DISABLED_ は「一時的に」「壊れた」テストを除外するための仕組みで、いつまでも残しておくべきものでも使用を推奨するものでもない、というのが Google Test のドキュメントが示すところ。コンパイルも通らないくらいにコードが腐るのを防ぐ姑息な手段だと書いてある。


2019年06月04日 (火) 「まず、全力でやりたいものを探さないといけない」…マンガ家・羽海野チカさん : KODOMO新聞 : 読売新聞オンライン」■身を削って描いてる感ある。身が引き締まる言葉ばかりの中、編集さんのファインプレーの解釈に困る>「ヤングアニマルの担当さんだけが、「ボクシングか将棋描きませんか」って。…ん?って思って、「詳しく聞かせてください!」って言ったら、担当さんが、「ボクシングは好き」「将棋は自分が大学のときにやってた」


2019年06月01日 (土) あなたはどの地図アプリを使いますか? - 東京ジオ鹿大学地理学科事務室」「私は地図をこう使い分けています - 東京ジオ鹿大学地理学科事務室」■マピオンいいよね。一番に入れた>20190518p01.02。■Waaaaay! (a の数はテキトー)は初めて知ったけど、一番シンプルな GPS ナビだこれ。バイクにとりあえずコンパスを付けるのと感覚は似ている。自分がどちらを向いていて、目的地がどちらであるのかがわかっていれば、たどり着けないことはないという感覚。


2019年05月31日 (金) Ruby 2.7.0-preview1 リリース」■「まつもとゆきひろ氏がRubyKaigi 2019で語ったこと - Part1 - ログミーTech」■@2019-06-05「Direct instruction marking in Ruby 2.6 - The GitHub Blog」 GitHub のブログで読む Ruby の仕組み。命令列がリテラルを参照している。リテラルを GC から保護するための配列を用意して使っていた。リテラルを指す2つのポインタが配列と命令列に存在していた。2.6 で配列を取り除いた。命令列からリテラルへのポインタを見つけ出すのは GC の実行コストに響くので、GC 対象を含んでいる命令列に予めフラグを立てている。また命令列自体が "old" (長寿) オブジェクトとしてマークされやすいので、世代別 GC の対象にもなりにくい。というわけで、実行コストをかけずにメモリ使用量を削減したよ、という話。