〜2014年3月中旬〜
sshするとLANG等が勝手に引き継がれるのは、Ubuntuだと/etc/ssh/ssh_configに
SendEnv LANG LC_*
と書いてあるからだとわかったが、これをやめる方法が見つからない。
ぐぐってみるとなんとほんとにないそうだ。
Bug 1285 – provide fallback options /etc/ssh/ssh_config
2007年に報告されている。最後の2013年11月には
Damien Miller 2013-11-16 02:03:24 EST Created attachment 2375 [details] Add UnSendEnv option
This adds an UnSendEnv option that allows cancelling SendEnv. It supports wildcards, so "UnSendEnv LC*" will cancel sending all environment variables starting with "LC".
とあるが、これって次あたりのバージョンに入るんかな。
しかしUnSendEnvって名前はどうなんだ。
わらった。
ぴくっと1pixelだけ動かして戻すってのを4分ごとに実行するらしい。
それはそれとしてxdotoolが便利そうだ。
マウスだけでなくキー入力もできる。
% xdotool getactivewindow windowmove --relative 100 0
とすれば現在使ってるターミナルを移動できる。
相対なのに0 0でも移動するのは謎ではあるが。
4極ミニプラグがあればRD-H1へもつなげられるが、
考えてみると予約しようがない。
と思ったら、視聴予約なるものがあった。
チューナーは3つあるので2番組同時録画の他に普通に視聴できるわけだが、
こんな使いかたもあるわけか。
まあ、torneとnasneもあるのでさすがに出番はないはず。
でも面白そうなので4極ミニプラグを用意しておこう。
GNU coreutilsのdateは-dで日付を指定できる。
なぜか簡単な足算引き算もできる。
afterとかagoとか+とか-とか。
これを利用すると先月末は簡単に得られる。
今日から今日の日付を引けば0日になるが、これが先月末を意味する。
% date +%-d 14 % date -d "`date +%d` days ago" +%-m/%-d 2/28
ただ直接0日とは指定できない。
% date -d 3/1 Sat Mar 1 00:00:00 JST 2014 % date -d 3/0 date: `3/0' は無効な日付です
では先月末じゃなくて今月末はどうするかというと、
+1 monthしておけばいい。これだと3/31に実行してもうまくいくはず。
% date -d "+1 month `date +%d` days ago" +%-m/%-d 3/31
3/31に忘れずに確認せんと。
31日まで待ってらんないので調べた。
faketimeというコマンドでシステムタイムを騙せるらしい。
% faketime 3/31 date Mon Mar 31 00:00:00 JST 2014
なるほど。これは便利だ。早速月末の件を検証してみる。
% faketime 3/31 date -d "-1day month `faketime 3/31 date +'%Y%m01'`" +%-m/%-d 3/31 % faketime 3/31 date -d "+1 month `faketime 3/31 date +%d` days ago" +%-m/%-d 3/31
どっちも合ってるようだ。
faketimeはLD_PRELOADでtime(2)とかもろもろ差し替えているので、コマンドごとに必要。
faketimeは他に10倍速とかできて面白い。
% faketime -f '+2y x10' ruby -e '10.times{p Time.now; sleep 1}' 2016-03-14 23:50:37 +0900 2016-03-14 23:50:47 +0900 2016-03-14 23:50:57 +0900 2016-03-14 23:51:07 +0900 2016-03-14 23:51:17 +0900 2016-03-14 23:51:27 +0900 2016-03-14 23:51:37 +0900 2016-03-14 23:51:47 +0900 2016-03-14 23:51:57 +0900 2016-03-14 23:52:07 +0900
+2yで2年後、x10で10倍速になっている。
コマンドの前に一々つけるのも面倒。
要はLD_PRELOAD環境変数が設定されていればいいので、zshを起動しちゃえばいいわけだ。
その中はもう全部新たな時間の世界になる。
% faketime 3/31 zsh % date Mon Mar 31 00:00:25 JST 2014 % date -d "-1day month `date +'%Y%m01'`" +%-m/%-d 3/31 % date -d "+1 month `date +%d` days ago" +%-m/%-d 3/31
うまくいってる。
先週末あたりからYahoo! Pipesの調子が悪くてbotが数時間置きにしか動かない。
ここにきてやっと安定してきたが、iftttのほうがなかなか元の間隔に戻らないようで、
なかなか難しい。
grepが遅い話は
10年以上前に書いたが、それ以降はLANG=C grepしてごまかしていた。
極端に遅くなるからああそうだったと^CしてLANG=Cを指定しなおしてたりしてたわけだけど、
そういえば-PのPCREだとどうなんだと実験してみる。
% time grep foo /tmp/big.log grep foo /tmp/big.log 0.00s user 0.02s system 74% cpu 0.027 total % time grep -i foo /tmp/big.log grep -i foo /tmp/big.log 1.99s user 0.04s system 93% cpu 2.168 total
% time grep -P foo /tmp/big.log grep -P foo /tmp/big.log 0.05s user 0.01s system 82% cpu 0.073 total % time grep -Pi foo /tmp/big.log grep -Pi foo /tmp/big.log 0.08s user 0.01s system 86% cpu 0.097 total
なんかすごいいい感じだ。あまり速度低下がない。
ただし-Pのマルチバイト対応は2.15から。
4極プラグがやっと来た。つないだらちゃんときれいに映ってた。
これで5番組同時録画できる環境になったわけだが、
日曜の夜がなんかやたらと見たい番組が重なってるので、
まあそのうち出番も。
しかし特に問題なく使えてたもんだから気づかなかったんだけど、
4極プラグをRD-H1につないだ際にその辺りをもろもろいじってるうちに、
絶妙な配置が変化したらしくNHK、Eテレに影響が出た模様。
NEWS7の録画が失敗してやっと気づいた。
全然映らないわけじゃなくしばらく経つと問題なく映る。
録画時だとタイムアウトなんだろうな。
ぎりぎりの電界強度だったわけだな。
それにしてもいったいいつから外れていたのか。