2019年5月23日木曜日

ベイズの定理

備忘録

Y(結果)がおきたときにX(原因)がおこる確率

=(XがおきたときにYがおこる確率 × Xがおこる確率)/Yがおこる確率

2019年5月21日火曜日

ニキ・ラウダ氏訃報 享年70歳

ニキ・ラウダ氏が5月20日に亡くなった.1976年のドイツGPで大やけどを負ったが,復帰してチャンピオンシップを争ったのが強く記憶に残っている.一度引退したが,その後カムバックし,その上再びチャンピオンシップを取るという偉業を成し遂げた.すごいドライバーだった.飛行機も操縦し,「ラウダ航空」という航空会社を立ち上げたのも覚えている.
ラウダ氏のF1経歴はこのサイトにある.
ニキ・ラウダの駆る赤いフェラーリ312Tはかっこよかったし,速かった.

2019年5月18日土曜日

ロシアからのアクセスを遮断する

うちのサイトはSQLを使っていないのに、ロシアからSQLインジェクション攻撃を受ける。実害はないのだが、うざいので遮断することにする。iptablesを使う。

iptables -I INPUT 1 -s 46.118.123.0/24 -j DROP
iptables -I INPUT 1 -s 46.118.158.0/24 -j DROP
iptables -I INPUT 1 -s 46.119.112.0/24 -j DROP
iptables -I INPUT 1 -s 46.119.114.0/24 -j DROP
iptables -I INPUT 1 -s 46.119.120.0/24 -j DROP
iptables -I INPUT 1 -s 46.119.124.0/24 -j DROP
iptables -I INPUT 1 -s 46.164.131.0/24 -j DROP
iptables -I INPUT 1 -s 46.237.64.0/24 -j DROP
iptables -I INPUT 1 -s 65.99.252.0/24 -j DROP
iptables -I INPUT 1 -s 78.137.48.0/24 -j DROP
iptables -I INPUT 1 -s 78.137.50.0/24 -j DROP
iptables -I INPUT 1 -s 78.137.55.0/24 -j DROP
iptables -I INPUT 1 -s 91.244.42.0/24 -j DROP
iptables -I INPUT 1 -s 91.244.41.0/24 -j DROP
iptables -I INPUT 1 -s 91.244.47.0/24 -j DROP
iptables -I INPUT 1 -s 91.244.55.0/24 -j DROP
iptables -I INPUT 1 -s 91.244.0.0/16 -j DROP
iptables -I INPUT 1 -s 94.50.235.0/24 -j DROP
iptables -I INPUT 1 -s 109.227.0.0/16 -j DROP
iptables -I INPUT 1 -s 109.227.68.0/24 -j DROP
iptables -I INPUT 1 -s 109.227.93.0/24 -j DROP
iptables -I INPUT 1 -s 112.124.116.0/24 -j DROP
iptables -I INPUT 1 -s 116.204.187.0/24 -j DROP
iptables -I INPUT 1 -s 118.45.105.0/24 -j DROP
iptables -I INPUT 1 -s 118.89.32.0/24 -j DROP
iptables -I INPUT 1 -s 134.249.49.0/24 -j DROP
iptables -I INPUT 1 -s 172.245.110.0/24 -j DROP
iptables -I INPUT 1 -s 176.67.14.0/24 -j DROP
iptables -I INPUT 1 -s 176.67.17.0/24 -j DROP
iptables -I INPUT 1 -s 178.137.85.0/24 -j DROP
iptables -I INPUT 1 -s 178.137.86.0/24 -j DROP
iptables -I INPUT 1 -s 178.137.88.0/24 -j DROP
iptables -I INPUT 1 -s 178.137.90.0/24 -j DROP
iptables -I INPUT 1 -s 178.137.165.0/24 -j DROP
iptables -I INPUT 1 -s 178.216.18.0/24 -j DROP
iptables -I INPUT 1 -s 185.126.179.0/24 -j DROP
iptables -I INPUT 1 -s 185.203.245.0/24 -j DROP
iptables -I INPUT 1 -s 188.168.43.0/24 -j DROP
iptables -I INPUT 1 -s 188.215.230.0/24 -j DROP
iptables -I INPUT 1 -s 212.55.89.0/24 -j DROP
iptables -I INPUT 1 -s 212.55.92.0/24 -j DROP
# Korea
iptables -I INPUT 1 -s 121.129.127.0/24 -j DROP
iptables -I INPUT 1 -s 125.134.227.0/24 -j DROP
iptables -I INPUT 1 -s 211.225.123.0/24 -j DROP
iptables -I INPUT 1 -s 112.167.221.0/24 -j DROP
# De
iptables -I INPUT 1 -s 109.237.134.0/24 -j DROP
#
iptables -I INPUT 1 -s 5.140.150.0/24 -j DROP
iptables -I INPUT 1 -s 185.222.211.0/24 -j DROP
#
iptables -I INPUT 1 -s 5.188.210.0/24 -j DROP
iptables -I INPUT 1 -s 37.115.186.0/24 -j DROP
iptables -I INPUT 1 -s 39.135.24.0/24 -j DROP
iptables -I INPUT 1 -s 39.137.69.0/24 -j DROP
iptables -I INPUT 1 -s 46.118.118.0/24 -j DROP
iptables -I INPUT 1 -s 46.118.121.0/24 -j DROP
iptables -I INPUT 1 -s 46.118.124.0/24 -j DROP
iptables -I INPUT 1 -s 46.119.116.0/24 -j DROP
iptables -I INPUT 1 -s 46.235.42.0/24 -j DROP
iptables -I INPUT 1 -s 60.248.112.0/24 -j DROP
iptables -I INPUT 1 -s 62.210.185.0/24 -j DROP
iptables -I INPUT 1 -s 64.64.108.98/32 -j DROP
iptables -I INPUT 1 -s 77.72.0.0/24 -j DROP
iptables -I INPUT 1 -s 79.137.3.0/24 -j DROP
iptables -I INPUT 1 -s 94.53.55.0/24 -j DROP
iptables -I INPUT 1 -s 94.73.149.0/24 -j DROP
iptables -I INPUT 1 -s 94.73.151.0/24 -j DROP
iptables -I INPUT 1 -s 103.86.51.0/24 -j DROP
iptables -I INPUT 1 -s 103.47.134.0/24 -j DROP
iptables -I INPUT 1 -s 103.224.249.0/24 -j DROP
iptables -I INPUT 1 -s 104.18.56.0/24 -j DROP
iptables -I INPUT 1 -s 104.18.57.0/24 -j DROP
iptables -I INPUT 1 -s 104.27.162.0/24 -j DROP
iptables -I INPUT 1 -s 104.27.163.0/24 -j DROP
iptables -I INPUT 1 -s 104.31.78.0/24 -j DROP
iptables -I INPUT 1 -s 104.31.79.0/24 -j DROP
iptables -I INPUT 1 -s 104.236.215.0/24 -j DROP
iptables -I INPUT 1 -s 104.24.122.0/24 -j DROP
iptables -I INPUT 1 -s 104.24.123.0/24 -j DROP
iptables -I INPUT 1 -s 107.180.120.0/24 -j DROP
iptables -I INPUT 1 -s 114.142.190.214/32 -j DROP
iptables -I INPUT 1 -s 118.24.56.0/24 -j DROP
iptables -I INPUT 1 -s 118.24.77.0/24 -j DROP
iptables -I INPUT 1 -s 118.24.177.0/24 -j DROP
iptables -I INPUT 1 -s 120.77.19.0/24 -j DROP
iptables -I INPUT 1 -s 132.232.88.0/24 -j DROP
iptables -I INPUT 1 -s 132.232.111.0/24 -j DROP
iptables -I INPUT 1 -s 139.199.123.89/32 -j DROP
iptables -I INPUT 1 -s 178.137.161.0/24 -j DROP
iptables -I INPUT 1 -s 182.50.135.0/24 -j DROP
iptables -I INPUT 1 -s 185.56.88.0/24 -j DROP
iptables -I INPUT 1 -s 185.22.187.0/24 -j DROP
iptables -I INPUT 1 -s 199.241.140.0/24 -j DROP
iptables -I INPUT 1 -s 201.49.14.0/24 -j DROP
iptables -I INPUT 1 -s 207.58.128.0/24 -j DROP
iptables -I INPUT 1 -s 217.160.167.0/24 -j DROP

2019年5月16日木曜日

オートマ全盛なのだから、左足ブレーキをデフォルトにしろよ

アクセルとブレーキの踏み間違え事故が後を絶たない。尊い命が失われている。この踏み間違えを防ぐ良いアイディアがある。左足でブレーキを踏むのだ。右足はアクセル、左足はブレーキと決めてしまう。突発的なアクシデントで両足を踏ん張ったとしても、アクセルとブレーキを両方床まで踏み込んだら、ブレーキの方が強いので車は止まるようにできている。これで安全だ。
これを実現するためには、車メーカーの協力が必要だ。ブレーキペダルの位置をもっと左にしなくてはならない。そして、教習所で左足ブレーキを教えるのだ。これで踏み間違え事故は激減するだろう。

左足ではデリケートなブレーキ操作は難しいって。いやいや、サーキットや教習所を100周も走れば左足ブレーキは身に付く。それに最近はアンチロックブレーキシステムがついているからブレーキをガツンと踏んでもひどいことにはならない。

2019年5月15日水曜日

rubyで行列の掛け算

行列mに列ベクトルvをかけたい

a = m * v

をしたい

行列mは

m = Matrix[[1,2],[3,4]]

列ベクトルvは

t = [1,2]
v = Vector[*t]

これで a = m * v を計算すると
aはVector型で求まる

別の方法もあって,

列ベクトルvを

t = [1,2]
v = Matrix.columns([t])

で2*1の行列とすることもできる.
これで a = m * v を計算すると
aはMatrix型で求まる

2019年5月13日月曜日

CentOS5.11にrubyをソースからインストールする

CentOS上でrubyを使っている。CentOS5.11の場合rubyのバージョンは1.85だ。かなり古い。1.85でも行列の逆行列は求められるのだが、行列の固有値は求められなかった。固有値が求められるようになったのは2.1あたりからだったと思う。そこで、ruby-2.38をソースからいれることにした。
必要なモジュールはzlib-devel openssl-devel readline-devel libffi-develだ。libffi以外は最初から入っていた。そこでまずlibffiからインストールする。
libffiのソースファイルを拾ってきて展開する。

cd libffi-3.2.1
./configure
make
make install

でインストール完了。
次にrubyのソースファイルを拾ってきて展開する。

cd ruby-2.3.8
./configure
make
make install

でインストール完了。rubyは/usr/local/binの下に配置される。
PATHで/usr/local/binの方を/usr/binより先に読むように設定してあれば、すぐに新しいrubyが使える。

2019年5月8日水曜日

poundの正規表現実装はサボっている?

poundでaaa.phpみたいなURLをはじこうとして、pound.cfgに以下のように記述した。

       Service
               URL "[a-z]{1,3}.php"
       End
       Service
               URL ".{1,3}php"
       End

エラーにならずにpoundは起動したが、phpをすべてはじいてしまうようになった。どうも正規表現にどう書こうと

       Service
               URL ".*php"
       End

の動作をするようだ。manにも.*の動作しか書かれていないし。