Just another Ruby porter,

〜2012年7月下旬〜


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

2012-07-21 (Sat)

psとgrepの話

正規表現で[]を使えというのはよくある話だが、今回はちょっと違う話。
psしてgrepすると最初の1行のヘッダ部が消えてしまう。
これがないといまいちこれなんの数値だっけってなりがち。

% ps uxww | grep '[h]otot'
eban     14313  3.1  7.9 3622220 650180 ?      Sl   Jul20  55:06 /usr/bin/python /usr/bin/hotot

ちょっと離れるけどあらかじめ実行しておくという手もないわけではないが、
やはり離れてるとわかりづらい。

% ps uxww | head -1              
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
% ps uxww | grep '[h]otot'
eban     14313  3.1  8.2 3623956 673872 ?      Sl   Jul20  55:07 /usr/bin/python /usr/bin/hotot

そこでawkだ。

% ps uxww | awk 'NR==1;/[h]otot/'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
eban     14313  3.1  8.1 3622840 659636 ?      Sl   Jul20  55:08 /usr/bin/python /usr/bin/hotot

とすればいい。sedでもいい。

% ps uxww | sed '1!{/[h]otot/!d}'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
eban     14313  3.1  7.9 3621848 644520 ?      Sl   Jul20  55:09 /usr/bin/python /usr/bin/hotot
% ps uxww | sed -n '1p;/[h]otot/p'   
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
eban     14313  3.1  7.9 3621848 644520 ?      Sl   Jul20  55:09 /usr/bin/python /usr/bin/hotot

ああ、grepでも正規表現でヘッダもマッチするようにすればいいか。

% ps uxww | grep '^U\|[h]otot'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
eban     14313  3.1  8.0 3622592 657060 ?      Sl   Jul20  55:09 /usr/bin/python /usr/bin/hotot

なんだかんだでpgrepを使ったほうが短い。

% ps uww `pgrep hotot` 
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
eban     14313  3.1  7.9 3621848 644520 ?      Sl   Jul20  55:10 /usr/bin/python /usr/bin/hotot

というオチ。


2012-07-22 (Sun)

kobo touch

安いので試しに買った。cbzが読めるのがいいな。しかしカバーがないのはどういうことなん?
Sony Readerは専用のカバーを買ったので、元々付属のカバーを流用するかと入れてみたが、
微妙に大きい。無理すれば入るがこれは常用するにはきつい。
百均で買ってあったA6サイズのソフトケースがこれまたぎりぎりで入らない。
またよさげなもんを探してくるか。
使い勝手はアクティベートしてしまえば、Linuxからは普通にフラッシュと同じようなもんなので、
あとは/media/KOBOeReaderにコピーすればよし。ディレクトリを作ってもok。

中のフラッシュを交換できるらしいので、8GBぐらいにしてみるかな。
お約束的にはrubyを動かしてみないと。


2012-07-23 (Mon)

いつのまにかFirefoxが100%CPUを使ってる

ファンの回転数が上がるので気づくわけだけど、Firefoxを使ってるとなぜかCPUをやたらと食ってる。
地道に拡張のOn/Offを繰り返したら Google Search by Imageが犯人と判明。これは画像を右クリックすると似た画像を探してくれるという拡張だけど、
コンテキストメニューに追加するだけじゃないのかな。滅多に使わないのでdisableしておこう。


2012-07-24 (Tue)

crontabが話題なので1時間ごとにバックアップ取るようにしてみたよ

crontabなんだから当然crontabでバックアップだ。

0 * * * * mkdir -p etc; \
crontab -l > etc/tmp.txt; touch etc/crontab.txt; \
cmp -s etc/crontab.txt etc/tmp.txt || cat etc/tmp.txt | tee etc/crontab.txt | \
mail -s "crontab backup ($HOSTNAME, `wc -c < etc/tmp.txt` bytes)" eban

なんか面倒なことしてるけど、変化があったらメールでも保存する。
むしろgitかなんかで管理したほうがいいかもしれないが、
そんなにでかくなるもんでもないし、gmailにでも送っとく程度で。


2012-07-25 (Wed)

16日からなぜかやたらとruby-talkのメールがGmailでspam扱いされている

たまにしかspamラベルはチェックしないのであれなんだけど、
ruby-talkメールのほとんどがまたspam扱いされてた。
なんかメールが少ないなと思ったら案の定だよ。
いきなり返信のメールが来てるのはそういうことだったんだな。
というわけで未読の英語メールが突然増えたよ、まいったね。
しばらくspamラベルも頻繁にチェックしないとな。


2012-07-26 (Thu)

GmailのフィルターでMLを指定

MLに自動でラベルをつけるときは

Matches: list:(ruby-talk.ruby-lang.org)

でいける。実際のフィールドはList-Id: ruby-talk.ruby-lang.orgとなっている。
List-Id:はlist:になる。


2012-07-27 (Fri)

zshの識別子のマルチバイト対応

これはちょっと意外だった。

% zsh -c 'i=1; echo "ほげほげ$i巻"'
ほげほげ
% zsh -c 'i巻=1; echo "ほげほげ$i巻"'
ほげほげ1

zshはマルチバイトも識別子になってるようで。
このおかげで同じタイトルのepubがいっぱいできあがってあせった。
ちゃんと{}を使わないといけない。

% zsh -c 'i=1; echo "ほげほげ${i}巻"'
ほげほげ1巻

bashはそんなことないので区切り扱いになる。

% bash -c 'i=1; echo "ほげほげ$i巻"'
ほげほげ1巻

結構細かいとこで違いがあるんだな。


2012-07-28 (Sat)

Fedoraでrun levelを3に

/etc/inittabを見ると書いてある

# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To set a default target, run:
#
# ln -s /lib/systemd/system/<target name>.target /etc/systemd/system/default.target

Xが要らないならrun levelを3にすればいいのでmulti-userのほうで。

% sudo ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

runlevel3.targetという名前も用意されてるので、これでもいい。

% sudo ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

2012-07-29 (Sun)

今月も100冊スキャン

101冊目をスキャンしてたら読み込みエラーが発生して、
scansnap本体の電源をOFF/ONしてもxsaneがデバイスを見つけてくれなくなった。
たぶんPCのほうを再起動しないといけないんだろうな。
というわけでちょうど100冊ということで今月はこれで終了。

ちょっと暑すぎるので、8月はしばらく休止するか。


2012-07-30 (Mon)

101冊

今日はデバイスも見つかったようで、昨日の続きだけ完了させて今月は101冊。

kobo touchの空振り率

Sony Readerには物理的なボタンがあるのでページ送りはそっちをメインに使っていた。
でもkobo touchにはないのでこう叩いたりフリックしたりするが、なかなか反応しない。
空振りの多いこと。結構なストレスになる。
やっぱページ送りは必要だよな。ホームボタンなんかよりも。
あと辞書だのFacebookだののメニューが出てくるときもあるが、
逆にこれを出そうと思っても出てこない。
まじでこれ思い通りに操作できる人、いるのかな。


2012-07-31 (Tue)

slideshareで指定したページへのリンク

探してみたらヘルプに書いてあった。
How do I make a hyperlink (or link) to a specific slide number in the SlideShare presentation?
つまり、/33とかつければok。
http://www.slideshare.net/shinh/code-golf/33
みたいにね。


<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!