メモログ

💡 Personal notes about somthing I'm interested in

「マインド・コントロール」と「影響力の正体」を読んだ

マインド・コントロールと影響力の正体という本を読んだ。マインドコントロールとは、Wikipediaには「他人の思想や情報をコントロールし、個人が意思決定する際に、特定の結論へと誘導する技術を指す概念」と書いてある。「マインド・コントロール」の方は題名そのまんまマインドコントロールに扱った本であるけど、「影響力の正体」の方も「相手をYESという結論に導く技術」という意味でマインドコントロールを扱った本と言える。どちらの本も内容も人間の根本的な性質を利用したものでかなりやっかいな技術だなと思った。

JSONデータを読み込んで差し替える

Node.jsの中であれば単にconst config = require('config.json')すれば良いのだけれど、フロントエンド側のJavaScriptではそうはいかない。XMLHttpRequestとかFetch APIを使うか、requireで書いたものをwebpackでbundleするとかしないといけない。他にもいろいろ方法はあると思うけど、まあとにかく一手間が必要。

その読み出すJSONデータを環境ごとに変更したい場合はなおさら面倒で、Node.jsであればprocess.env.NODE_ENVなんかを使えばいいけど、フロントエンド側ではwebpackでバンドルするときの設定を変更するとか、uglifyでDEBUGみたいなglobal変数を入れておいて書き出すとかしつつ、異なるJSONデータをfetchするように実装しないといけない。いろいろ方法はあるから難しい問題ではないけど、面倒ではある。

縦書きで表示する

最近になってwriting-modeを使うと文章の表示を簡単に縦書きにできるということを最近知った。ので、この記事では縦書きの表示を試している。以下の文章は文章量が長くなった時にどう表示されるのかを知りたくて入れているだけなので、内容的にほぼ意味はない(ないというほどでもないけど限りなく無に近いものではある)。なおインデックスページでは横書きである。

学習について考える

最近学習系・自己啓発系の本をいくつか読んだのでそれを読んでいま思っていることをそのまま書いてみようと思う。「本に書いてあること」をまとめようとすると正確さが気になって時間もかかるし本に書いてあること以上のことは書きにくいし、本に書いてあることが適切に網羅されているかも気になってくる。だから、本に書いてあることの趣旨と変わってるかもしれないけど、そういったところを気にせず、本を読んで思ったことを記す。

最初は「ブレインプログラミングという本を読んだ。「なりたい自分」とか「やりたいこと」を具体的にイメージして「いつまでにこうなる」みたいに目標を決める。具体的な方法は「注目」していると自然と見つかるから、具体的な方法を考えて足を止めるよりも「こうなる」と決めて足を進めよう、みたいな本である。科学的なバックグラウンドとしてRASを挙げているが、ここはよくわからない。アファメーションとか自己暗示とかそういったものの力を使う。やりたいことを書き出してみて、自分がどうありたいのかを見つめ直すというのは良いなと思った。

Primitiveの変換をまとめて行う

Primitive を使って画像を変換すると、だいたい一回目ではしっくりこない。だから何回か画像を変えたりモードを変えてみたりとか色々試すのだけど、これがなかなか面倒くさい。一回の実行にも時間がかかるから待っている間に実行していたことを忘れてしまったりする。だから一回のPrimitiveの実行で全てのモードのパターンを出力するためのスクリプトを用意してみた。primitive_bulkという名前でnpmに公開している。個人的にはほとんど使っていないオプションもあるけど、一応primitiveのすべてのオプションを渡せるようにしている。名前はそのうち変えるかもしれない。

実行はprimitive_bulk -i photo.jpgみたいにする。primitiveでは出力先(-o)を指定する必要があるが、primitive_bulkでは指定がない場合はphoto.jpgと同じディレクトリに出力ファイルを作成する。これが地味に便利。-mの指定がない場合は、modeの0から8まで全ての種類を出力する。primitiveの処理そのものは8回繰り返すのと同じだから、だいぶ重いし時間もそれなりにかかる。でも実行して時が経つのを待つだけなので、だいぶ気は楽になった。

「ブロックチェーン技術入門」を読んだ

ブロックチェーン技術入門という本を読んだ。ビットコイン・ブロックチェーン関連の書籍は最近多く出版されているが、ブロックチェーン技術そのものにフォーカスした本は珍しい。160ページという文量で簡潔に「ブロックチェーン技術とは何か」を知ることができる良書である。

ブロックチェーンの特徴は「データが正当なものかどうかをネットワーク参加者の誰でも検証できる」というところ。改ざんされたトランザクションが送られてきても棄却できるし、ブロックの改ざんも第三者の検証をクリアするのがとても難しく不可能。それがブロックチェーンに登録されたデータの真正性を保証している。データの真正性が保証されると、不動産の登記のような「だれが資産を所有しているか」を保証するシステムや、トレーサビリティの確保するシステムなどにも応用できる。

「ライフプロジェクト」を読んだ

みすず書房が出版しているライフプロジェクトを読んだ。子供の成長について何かしらの良いプラクティスが書いてあるかなあとか、最初はそういう面持ちで読んだのだが、そういう本ではなかった。イギリスで継続して行われている大規模コホート研究プロジェクトそのものの物語であった。

コホート研究の詳しい説明はWikipediaを参照。喫煙する人と喫煙しない人の集団の時系列の変化をみて、喫煙する集団の将来癌を発症するリスクに有意な差があるかどうかを調べたりとか、そういったことをする。イギリスの大規模コホート研究の最初のものは1946年から行われていて、今年で72年目になる。まさにゆりかごから墓場までのコホート研究と言える。そんな素晴らしい研究も膨大な調査にかかるコストが大きく、繰り返し研究を終了する危機にさらされた。統計的に有意になるように調査人数は多くしないといけないし、過去にさかのぼって質問はできないから、10年後・20年後のことを見据えながら幅広く質問をしないといけない。データの管理も今と比べてすごく面倒な作業だったし、研究をするのも交絡因子の排除がすごく難しい。そういった困難の物語が描かれている。

元のブログからリダイレクトをかける

このブログは今はGitHub Pages上で公開しているが、AWS上でドメイン取得して公開しようかな、でもお金かかるしどうしようかなと微妙に悩んでいた。AWSにしても個人ブログのトラフィックなんて程度が知れているので、たいした金額になることはないとは思いつつも、いつ課金されるかわからないから状況をモニタリングしなければならないというのが圧倒的に面倒臭い… ただその日のメモを残したいだけだというのに。

だからもうGithub Pagesで公開を継続することにしようと思う。そのうちまた移動したり元の場所に戻ったりするかもしれないけど、そのときはそのときにまた考えるとして…

画像のプレースホルダーとしてインラインSVGを使う

画像が読み込まれた後にレイアウトが動かないように、画像のプレースホルダーを入れた。最初はpng画像をインラインで挿入していたのだけど、svgの方が画像のサイズをみてその場その場で適切なものを作成しやすかったので、svgを使うようにしてみた。処理自体はNode.js(Hexoの処理の中)で行っている。現在のコンテンツの最大幅は750pxなので、それを基準に縦横比が合うようにheightを計算している。

Primitiveを使って画像を変換する

Featured Imageとか言いながら、ただ写真を置くだけなのも何だなあとか思い、Primitiveを使用して、上に表示されている画像を変換してみた。Primitiveは画像を幾何学的なPrimitive(線とか丸、三角、四角)の集まりに変換してくれる。試行錯誤した結果を貼り付けていく。画像の下に変換するときに使用したオプションを添付してある。