Just another Ruby porter,

〜2014年3月中旬〜


<Older(,) | Newer(.)> | Recent(/)>> | RDF

2014-03-11 (Tue)

sshでSendEnvをキャンセルさせるには

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って名前はどうなんだ。


2014-03-12 (Wed)

Hold off any screensavers/timeouts

わらった。
ぴくっと1pixelだけ動かして戻すってのを4分ごとに実行するらしい。

それはそれとしてxdotoolが便利そうだ。
マウスだけでなくキー入力もできる。

% xdotool getactivewindow windowmove --relative 100 0

とすれば現在使ってるターミナルを移動できる。
相対なのに0 0でも移動するのは謎ではあるが。


2014-03-13 (Thu)

視聴予約

4極ミニプラグがあればRD-H1へもつなげられるが、
考えてみると予約しようがない。
と思ったら、視聴予約なるものがあった。
チューナーは3つあるので2番組同時録画の他に普通に視聴できるわけだが、
こんな使いかたもあるわけか。
まあ、torneとnasneもあるのでさすがに出番はないはず。
でも面白そうなので4極ミニプラグを用意しておこう。


2014-03-14 (Fri)

またまた月末の日付

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に忘れずに確認せんと。


2014-03-15 (Sat)

faketimeで任意の日時でコマンド実行

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倍速になっている。


2014-03-16 (Sun)

faketimeをもっと簡単に

コマンドの前に一々つけるのも面倒。
要は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

うまくいってる。


2014-03-17 (Mon)

Yahoo! Pipesが不安定

先週末あたりからYahoo! Pipesの調子が悪くてbotが数時間置きにしか動かない。
ここにきてやっと安定してきたが、iftttのほうがなかなか元の間隔に戻らないようで、
なかなか難しい。


2014-03-18 (Tue)

grep -Pなら速度低下あまりなし

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から。


2014-03-19 (Wed)

アナログ録画

4極プラグがやっと来た。つないだらちゃんときれいに映ってた。
これで5番組同時録画できる環境になったわけだが、
日曜の夜がなんかやたらと見たい番組が重なってるので、
まあそのうち出番も。


2014-03-20 (Thu)

torneのアンテナ線が外れていたが結構なんとかなっていた

しかし特に問題なく使えてたもんだから気づかなかったんだけど、
4極プラグをRD-H1につないだ際にその辺りをもろもろいじってるうちに、
絶妙な配置が変化したらしくNHK、Eテレに影響が出た模様。
NEWS7の録画が失敗してやっと気づいた。
全然映らないわけじゃなくしばらく経つと問題なく映る。
録画時だとタイムアウトなんだろうな。
ぎりぎりの電界強度だったわけだな。

それにしてもいったいいつから外れていたのか。


<Older(,) | Newer(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!