〜2010年3月下旬〜
【作業妨害用BGM】24時間聴けたら神【変則的選曲】を聴いていた。
6時間程進んだ。
Cygwin 1.7のutf-8環境に戸惑う。
昔Linuxでの設定を拝借した.zshrcにLANG=ja_JP.eucJPが残っていたのがまずくて、
いろいろ日本語ファイル名を壊してしまった。
元はnicovideo.jpにあるから復元は簡単だったんだけど、
最中は簡単じゃなかった。LANGが影響するようになったとは!
なんかいろいろと自動でUTF-8へ変換されるようだ。
まずcygwinを起動したコンソールがUTF-8化されている。
ls |nkf --guessしてみるとファイル名も自動でUTF-8になっている。
cat utf-8.txtすると化けずにutf-8で書かれたテキストが表示される。
cmd /c type utf-8.txtするとちゃんと化けるのでそういうttyになったってことだな。
日付けも変わろうかという夜中に1時間で一気に7度近くも気温が上昇している(tenki.jp)。
南風でこんなに上がるもんかな。
[さいたま市] 2010-03-20 17:00 気温21.0度 降水量0.0mm 南南西の風5m [さいたま市] 2010-03-20 18:00 気温19.6度 降水量0.0mm 南南西の風6m [さいたま市] 2010-03-20 19:00 気温19.5度 降水量0.0mm 南の風4m [さいたま市] 2010-03-20 20:00 気温18.2度 降水量0.0mm 南西の風3m [さいたま市] 2010-03-20 21:00 気温14.9度 降水量0.0mm 北の風1m [さいたま市] 2010-03-20 22:00 気温14.2度 降水量0.0mm 北北西の風2m [さいたま市] 2010-03-20 23:00 気温13.4度 降水量0.0mm 西北西の風2m [さいたま市] 2010-03-21 00:00 気温20.2度 降水量0.0mm 南の風5m [さいたま市] 2010-03-21 01:00 気温20.8度 降水量0.0mm 南の風6m [さいたま市] 2010-03-21 02:00 気温21.0度 降水量0.0mm 南の風6m [さいたま市] 2010-03-21 03:00 気温21.6度 降水量0.0mm 南南西の風8m [さいたま市] 2010-03-21 04:00 気温19.4度 降水量0.0mm 南南西の風14m [さいたま市] 2010-03-21 05:00 気温18.3度 降水量0.0mm 南南西の風16m [さいたま市] 2010-03-21 06:00 気温17.4度 降水量0.0mm 南南西の風9m [さいたま市] 2010-03-21 07:00 気温14.1度 降水量0.0mm 北西の風6m [さいたま市] 2010-03-21 08:00 気温13.8度 降水量1.0mm 北北西の風4m
そろそろ日記だけでも復活させようとnsmmの残骸を集めてCygwin上で実行してみたら動かない。
試行錯誤したらstrftimeの%Oが原因だったわけだが、本家ではそんなとこはすでに修正済みだったわけで。
もう5年も前の話だ。RSS対応までしてるらしい。
それはそれとしてまだ罠があって、スクリプトをUTF-8にしないとだめ。
もしくはLANG=ja_JP.eucJPとする。いや罠じゃないな。ちゃんとREADMEに書いてあるし。
本家版だと行末の~で改行が効かないな。どうして?doc/history.txtを見ると仕様変更とある。
いやいやこれ変えられちゃ困るのよ。過去を改竄できないじゃない。
18日の分まで更新した。一度に上げるのも面倒なので徐々に。
~の件はどうせRSS生成で後処理してるのでそっちで対応することにした。
VirtualBoxのスクリーンショットを取りたくてAlt+ScreenしてGIMPに貼り付けてみたが、
なぜかコピペされない。
どっちにしても枚数も多くてコピペじゃやってられないので、
専用のソフト(たしかキャプラとかいう名前)をダウンロードしてみたらこっちは問題なし。
まあ、よしとしよう。
find ... | xargs rmってパターンって多いよね。
いっそのことfindに-rmオプションでも新設したらどうなんだいと思ったら、
すでに-deleteオプションが存在してたよ。なんてこったい。
これで-execはどうのこうのとか説明しなくて済むよ。
牛丼PCが元気だったころはEmacsのelispで今日の日記を書くと、
勝手に日付つきのファイル名ができていたのでこの現在の状況でも欲しい。
vi ~/jarp/diary/$(date -d '-6 hour' +"%Y/d%Y%m%d.hnf")
こんな感じで実行してる。
-d '-6 hour'とすることで午前6時までは日付は変わらないという意味になる。
これは地味に便利。
Cygwin 1.7.2に上げたらstrftimeが腐ってしまってnsmmが動かなくなった。
% gawk 'BEGIN{print strftime("%Y")}' 2010 % gawk 'BEGIN{print strftime("%Y%s")}'
%sが対応してないのはいいとしても、他を巻き込まなくてもいいじゃない。
他に%o, %q, %vも同じ症状。
週末になったのでデスクトップPCの電源を入れてみたが、
今回は立ち上がってくれない。先週の一撃でいよいよ止めを刺したのだろうか。
まあ、ここまで来たら来週末まで待つことにする。
それでだめならいよいよ買い替えだな。
某IRCでちょっとひっかかったので調べた。
listだと思っていたが、rangeのほうだった。
scalar contextでは真偽値的なものを返す。flipflopだな。
範囲の最初で1から順にインクリメントされる。
範囲の最後ではその印としてE0が追加される。
範囲外は空文字。
% seq 4 | perl -nle 'print "$_:", scalar(2..3)' 1: 2:1 3:2E0 4:
というわけで
% perl -e 'print(("aa".."bb")."\n");' 1E0
となるのは"aa"も"bb"も真なので範囲の最初と最後になり、
その結果1E0になる。
ぐぐってみると何個か見つかる。
検索するときにどうしても無意識でmawkdown awkとか書いてしまうんだが、
これでちゃんとmarkdown awkを検索してくるあたりがすごいな、ぐぐる。
いやいやそういうことじゃなくて、どれもちょっと癖があったりでなかなか面白い。
さくらは放っておくとどんどん容量が増える。すばらしい。
Jsawk is like awk, but for JSON. You work with an array of JSON objects read from stdin, filter them using JavaScript to produce a results array that is printed to stdout. You can use this as a filter to manipulate data from a REST JSON web service, for example, in a shell script. Also, you can suppress JSON output and use the built-in printing functions to translate your JSON input to other formats and send that to stdout, to be piped to other processes. You can load JavaScript libraries on the command line to increase your processing power, and other things.