(-> % read write unlearn)

My writings on this area are my own delusion

Tor: The onion routing

パケットの中身ではなく「送信元情報」を秘匿することを目的とした通信手法。

玉ねぎのようにヘッダとパケット込で何重にも暗号化。 Tor のリレーサーバを通るごとにそれぞれのリレーサーバごとの鍵で復号してリレーしていく。通常、経由するリレーサーバは3つ。

4枚の図解でわかるTor | パーソルテノロジースタッフ株式会社 https://persol-tech-s.co.jp/corporate/security/article.html?id=35

匿名通信「Tor」はどういう仕組みなのか分かりやすく解説 - GIGAZINE https://gigazine.net/news/20151224-how-tor-works/

AWS Managed Rules rule groups list - AWS WAF, AWS Firewall Manager, and AWS Shield Advanced

部屋とYシャツと Kindle と Audible と私

一年くらい、物理本をやめて全面的に電子本に切り換えていた。媒体は Kindle 。一番の理由は収納する場所の問題。それが、やっぱりどうも不満が募ってきて、ここ半年〜くらいはやっぱり物理本主体になってきて電子本もたまに買うし、最終的に物理も電子も両方買うのが正解なんじゃないかという気がしてきた。もっと言うと、読み上げの媒体(自分は Audible しか使ったことがない)もあるなら3媒体全部買うのが正解なんじゃないかという気がしてきた。

  • 物理本
  • 電子本 (Kindle)
  • 読上本 (Audible)

詳細な Pros/Cons や適材適所は省いて、自分の中ではイメージこんなグラデーションで使い分けに繋がっている。

物理 電子 読上
Random Access <-- --- --> Sequential Read
書き込みしやすい 自由に書き込み ハイライト 書き込み不可 書き込みしにくい
手がふさがる 両手 片手 手ぶら 手があく
重い 紙(冊数に比例) スマホKindle Oasis スマホとイヤホン 軽い
没頭しやすい 逃げ場なし ついついマンガ読んじゃう ついつい音楽聞いちゃう 誘惑が多い

あとは、

  • Kindle (Oasis) は空港の保安検査でいちいち出すのが面倒。
  • スマホ握ってるとついついスマホ使って他のことしちゃうのも、電子や読上の Cons 。

ところで Audible なくても Kindle の読み上げ機能も便利な上にクオリティ高いのでおすすめ。

【めちゃ便利】Kindleの読み上げを使ってオーディオブック化する方法 | 正直スマホ

phpbrew install 7.3.12 on MacOS

phpbrew で Mac に PHP7.3 をインストールしたかっただけ。

phpbrew install 7.3.12したら以下エラーが出た。

configure: error: OpenSSL version 1.0.1 or greater required.

どうも brew で入れた新しい openssl を参照してくれないらしいので、参照させるように +openssl=$(brew --prefix openssl) を足してやる。そうして phpbrew install 7.3.12 +openssl=$(brew --prefix openssl) としたら以下エラーが出た。

ld: file not found: /usr/lib/system/libsystem_darwin.dylib for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [ext/opcache/opcache.la] Error 1

これも ld をちゃんと参照してくれるように環境変数でフラグをするように LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/system" を足してやる。

最終的にこれでビルドできた。

LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/system" phpbrew install 7.3.12 +openssl=$(brew --prefix openssl)

phpbrew はビルドに成功するとプロンプトに Enjoy! って出てくるよ。

これで OK かと思ったら composer require bref/bref したときにこける

$ phpbrew use 7.3.12

$ composer require bref/bref
PHP Fatal error:  Uncaught Error: Call to undefined function Composer\Json\json_decode() in phar:///usr/local/Cellar/composer/1.9.1/bin/composer/src/Composer/Json/JsonFile.php:156
Stack trace:
(省略)

どうも json と ctype の extension をインストールし忘れているらしい。

$ phpbrew list
# WARNING: ctype extension might be required for parsing yaml file.
* php-7.3.12
  php-7.2.25

追加でインストールするために phpbrew ext install json ctype したら Warningは出なくなった。けど composer require bref/bref は相変わらずこける。

$ composer require bref/bref
PHP Fatal error:  Uncaught Error: Call to undefined function JsonSchema\Uri\filter_var() in phar:///usr/local/Cellar/composer/1.9.1/bin/composer/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php:82
Stack trace:
(省略)

ひたすら、モジュールを追加していく・・・。最終的にこれだけ入っていれば composer require bref/bref は通った。

phpbrew ext install json ctype filter hash curl

たぶん、最初に 7.3.12 をインストールするときにまとめて指定するオプションあるんだろうけど。最終的に以下のような状態。もっと入れといたほうが良い気がするけど、とりあえず事足りた。

$ phpbrew ext
Loaded extensions:
 [*] ctype        7.3.12
 [*] curl         7.3.12
 [*] date         7.3.12
 [*] dom          20031129
 [*] filter       7.3.12
 [*] hash         7.3.12
 [*] json         1.7.0
 [*] libxml       7.3.12
 [*] openssl      7.3.12
 [*] pcre         7.3.12
 [*] phar         7.3.12
 [*] reflection   7.3.12
 [*] session      7.3.12
 [*] simplexml    7.3.12
 [*] spl          7.3.12
 [*] standard     7.3.12
 [*] tokenizer    7.3.12
 [*] xml          7.3.12
 [*] xmlreader    7.3.12
 [*] xmlwriter    7.3.12
 [*] xsl          7.3.12
 [*] zlib         7.3.12
Available local extensions:
 [ ] bcmath
 [ ] bz2
 [ ] calendar
 [ ] dba
 [ ] enchant
 [ ] exif
 [ ] fileinfo
 [ ] ftp
 [ ] gd
 [ ] gettext
 [ ] gmp
 [ ] iconv
 [ ] imap
 [ ] interbase
 [ ] intl
 [ ] ldap
 [ ] mbstring
 [ ] mysqli
 [ ] mysqlnd
 [ ] oci8
 [ ] odbc
 [ ] opcache
 [ ] pcntl
 [ ] pdo
 [ ] pdo_dblib
 [ ] pdo_firebird
 [ ] pdo_mysql
 [ ] pdo_oci
 [ ] pdo_odbc
 [ ] pdo_pgsql
 [ ] pdo_sqlite
 [ ] pgsql
 [ ] posix
 [ ] pspell
 [ ] readline
 [ ] recode
 [ ] shmop
 [ ] snmp
 [ ] soap
 [ ] sockets
 [ ] sodium
 [ ] sqlite3
 [ ] sysvmsg
 [ ] sysvsem
 [ ] sysvshm
 [ ] tidy
 [ ] wddx
 [ ] xmlrpc
 [ ] zend_test
 [ ] zip