Journal InTime


2016-07-23 (Sat) [長年日記]

_ エキパイ交換

交換前

KLX125はあちこちすぐ錆びてくるのだが、エキパイとヒートガードがかなりひどいことになってきた。 いっそのこと、YZF-R25とかに買い換えたいが予算がない。

BEAMSのフロントパイプが安かったので交換してみた。

交換後

ステンレス製なのでもう錆は大丈夫なはず。

ヒートガードが小さいのでズボンが溶けたという話も見かけたが、乗るときに気を付ける方向で。

Tags: KLX125

2016-06-11 (Sat) [長年日記]

_ バッテリー交換

バッテリー

7年以上使ったエクシーガのバッテリーが寿命を迎えて、ディーラーで聞いたら交換に3万円かかると言われ、イエローハットに行って見ても75D23Lが2万5千円くらいしたので、ネットで買って自分で交換することにした。

Panasonic [ パナソニック ] 国産車バッテリー [ Blue Battery カオス C5 ] N-100D23L

安いやつでいいやと思ったが、AmazonでPanasonicのcaosが安かったので購入。 純正は65D23Lだったが、100D23Lなのでスペック的には申し分ない。

マーケットプレイスのホームセンターセブンという店舗で購入したが、ロット番号は270516Eで2016年5月27日の製造。古い在庫品が来たら嫌だなと思ったが杞憂だった。

エーモン メモリーバックアップ 1686

ECUや時計・カーオーディオのリセットを避けるためバックアップ電源も購入。別途単3乾電池が6本いるが、ディーラーで交換することを考えれば安いものである。レビューで失敗した例が出ていてちょっと不安だったが、乾電池のセットとショートに気をつければ問題なく使用できた。ただ、エクシーガ購入直後にカーオーディオを付ける際にはたしかマイケス側を外して作業したが特に問題はなかったので、リセットを気にしないならいらないと思う。

古いバッテリーを外す時に、マイナス側のケーブルをバッテリーフレームに固定する樹脂パーツがなかなか外れなかったが、結局力まかせに引っ張ったら外れた。

新しいバッテリを取り付けたら、近所のガソリンスタンドで前のバッテリを引き取ってもらって作業完了。気持ちよくセルが回るようになった。

走行距離: 82149km

Tags:

2016-06-01 (Wed) [長年日記]

_ leapsecond fileの期限切れ

ふと、FreeBSDサーバの/var/log/messagesを見ると以下のようなログが。

Jun  1 12:19:53 exeter ntpd[666]: leapsecond file ('/var/db/ntpd.leap-seconds.list'): expired less than 1 day ago

/var/db/ntpd.leap-seconds.listを見ると確かに期限切れで、手動で更新するのは面倒だなと思ったら/etc/periodic.confに以下のように記述すると日次で自動更新できるようだ。

daily_ntpd_leapfile_enable="YES"

ただ、/etc/periodic/daily/480.leapfile-ntpdを見るとservice ntpd fetchを実行するようだが、手動で実行しても/var/db/ntpd.leap-seconds.listが更新されない。

どうも、デフォルトの取得元である<URL:https://www.ietf.org/timezones/data/leap-seconds.list>よりも、FreeBSD 10.3に付属のファイルの方が最終更新時刻が新しいせいで更新されないようだ。

/etc/rc.confに以下のように設定したところ無事更新されるようになった。

ntp_leapfile_sources="ftp://tycho.usno.navy.mil/pub/ntp/leap-seconds.list"

追記:

最終更新時刻ではなく期限で比較するように変更されたらしい。

Tags: FreeBSD

2016-04-14 (Thu) [長年日記]

_ SSL化

Let's Encryptが正式にサービスを開始したので、このサイトをSSL化してみた。

FreeBSDだとパッケージになっているのでpkgコマンドでインストール。

$ sudo pkg install py27-letsencrypt

--webrootオプションでnginxのdocument rootを指定して証明書を取得。

$ letsencrypt certonly --webroot -w /path/to/docroot -d shugo.net

document root以外にも/usr/local/etc/letsencryptなどの書き込み権限がないと怒られるので、ディレクトリを作成した上で適当にownerやpermissionを設定したら、一般ユーザの権限で問題なく証明書を取得できた。

また、/etc/crontabに以下のような設定を追加し、毎月1日に証明書を更新するように設定。

30      6       1       *       *       username   letsencrypt renew --force-renew

nginxの設定は以下のようにOCSP Stapling等の設定もしておいた。

ssl                  on;

ssl_certificate      /usr/local/etc/letsencrypt/live/shugo.net/fullchain.pem;
ssl_certificate_key  /usr/local/etc/letsencrypt/live/shugo.net/privkey.pem;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!EXPORT:!DES:!3DES:!MD5:!DSS;

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /usr/local/etc/letsencrypt/live/shugo.net/fullchain.pem;

SSL自体の設定よりも、tDiaryでなぜかHTTPSでアクセスした時だけ応答に5秒くらい問題の方に時間がかかってしまった。 どうも以下の問題に引っかかってしまったらしい。

設定の[セキュリティ]>[DNSBLフィルタ]で[OK]ボタンを押したら設定が書き換わって問題なくなった。 なぜHTTPSの時だけ問題が起きたのか謎だが、HTTPの時はRefererが同一サイトだと判断されてたのがHTTPSでは上手く判別できなかったのかな。念の為shugo.netはRefererチェックを除外するように明示的に設定しておいた。

Tags: Ruby

2015-12-17 (Thu) [長年日記]

_ 累積分布関数

Rubyで累積分布関数を扱う方法を調べてみた。 ぐぐったところSciRubyのstatsampleライブラリを使えばいいらしい。

ドキュメントがあまり見当たらないけど、サンプルのhistogram.rbとかを見るとこんな感じで使えばよいようだ。

require "statsample"

# テスト用に平均値40、標準偏差10のデータを1000個生成
v = Statsample::Shorthand::rnorm(1000, 40, 10)

# 最小値から最大値まで0.5ずつループ
v.min.step(v.max, 0.5) do |x|
  # 値xと、xにおける累積分布値をカンマ区切りで出力
  puts [x, Distribution::Normal.cdf((x - v.mean) / v.sd)].join(",")
end

Normalのところを変えると正規分布以外も扱えるらしい。

LibreOfficeのNORMDIST()関数の結果と比べると一致したのでたぶん合ってると思うけど、使い方が間違ってたら教えてください。

Tags: Ruby