Just another Ruby porter,

〜2009年9月下旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2009-09-21 (Mon)

[Net] jarpにつながらない理由

最初はDNSが調子悪かったけどそれが復活してからこんどはjarpにつながらない。

うは、これか。見逃してた。
gotoyuzo: 連休に引っ越しをするのでその間IP unreachableになります。


2009-09-22 (Tue)

[Git] 入門Git

昨日発送予定日が10/13以降になりますとメールが来たんで、
キャンセルして買いに行くか迷っていたら、
ご注文の発送メールが来たよ。
どういうことだよ。うれしいじゃねーか。


2009-09-23 (Wed)

[Google] 例のJOBS=0123問題

どういうわけか暗号表が

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
456789ABCDE2FGHIJKL0MNOP1QRS3TUVWXYZ

と並べられているものばかりだが、この場合はJOBS=0123を目立たせるために

JOBS0123456789ACDEFGHIKLMNPQRTUVWXYZ
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ

と並べるべき。あとT以降は同じだから、

JOBS0123456789ACDEFGHIKLMNPQR
0123456789ABCDEFGHIJKLMNOPQRS

でok。要するにtrだったら

tr JOBS0-9AC-IK-NP-R 0-9A-S

ってことで。


2009-09-24 (Thu)

[Tips] Get the total length of all videos in the current dir in H:m:s

最終的にawk使うなら全部awkでいいよね。

awk -F= '/ID_LENGTH/{s+=$2}END{printf "%dh:%dm:%ds\n", s/3600,s/60%60,s%60}'

gawkならstrftimeがあるのでちょっと簡単に。

gawk -F= '/ID_LENGTH/{s+=$2}END{print strftime("%Hh:%Mm:%Ss", s, 1)}

2009-09-25 (Fri)

[Net] jarp復活

引越し完了したようでjarpも復活。
おつかれさまー。

[Diary] この日記のRSSのdescriptionを微妙に調整

1行目じゃなくて最大78文字ぐらいに。

[Soft] NWCC 0.8

About:
nwcc is a C compiler for Unix systems. It targets Linux, Mac OS X, BSD, and Solaris on 80x86 (with nasm and gas), Linux, Mac OS X, and FreeBSD on AMD64 (with yasm and gas), Solaris and Linux on SPARC (64-bit), AIX and Linux on PowerPC (32- and 64-bit), and IRIX on MIPS (64-bit). Cross-compilation is also supported. It doesn't feature any software development support beyond plain compilation.

2009-09-26 (Sat)

[DVD] ハゲタカ

大森南朋って誰だよと思ったら麿赤兒の息子か!
そういえばなんとなく面影がある、の、か?


2009-09-27 (Sun)

[Tips] rsyncでmp3ファイルだけディレクトリ構造ごとコピー

不要なファイルを除いてとか書いたけど、
ほんとはmp3だけ指定したかったわけで。
でもman rsyncしてもよくわからなかった。
今回ちょっと気合入れて読んでみた。

最初に思いつくのは

-f '+ *.mp3' -f '- *'

なんだけど、これはだめ。正解は

-f '+ */' -f '+ *.mp3' -f '- *'

となる。'+ */'でディレクトリを含めておかないと'- *'に全部持ってかれてしまう。
あと結果的に空となるディレクトリもコピーの対象になるので、
--prune-empty-dirs(-m)も指定したほうがいい。

% ls foo/{a,b}
foo/a:
a.flac  a.mp3  b.flac  b.mp3  c.flac  c.mp3

foo/b:
a.txt  b.txt  c.txt
% rsync -auv -f '+ */' -f '+ *.mp3' -f '- *' -m foo /tmp
building file list ... done
foo/
foo/a/
foo/a/a.mp3
foo/a/b.mp3
foo/a/c.mp3

sent 228 bytes  received 75 bytes  606.00 bytes/sec
total size is 0  speedup is 0.00

実際は--dry-run(-n)で確認してからコピーしよう。

もう一個よくあるパターンとしてfoo/b/にもmp3ファイルがあるんだけど、
foo/a/だけコピーしたい場合。

% rsync -auv -f '+ foo/' -f '+ foo/a/' -f '+ *.mp3' -f '- *' -m -n foo /tmp
building file list ... done
foo/
foo/a/
foo/a/a.mp3
foo/a/b.mp3
foo/a/c.mp3

sent 109 bytes  received 27 bytes  272.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)

となるんだけど、だったら最初から--files-fromを使ったほうがいいか。

% ls foo/a/*.mp3 |rsync -av --files-from=- . /tmp   
building file list ... done
foo/
foo/a/
foo/a/a.mp3
foo/a/b.mp3
foo/a/c.mp3

sent 223 bytes  received 75 bytes  596.00 bytes/sec
total size is 0  speedup is 0.00
% ls /tmp/foo/a                                  
a.mp3  b.mp3  c.mp3

こっちのほうが全然わかりやすい。


2009-09-28 (Mon)

[SMTP] eximのメールをgmailのsmtp経由で送る

Yan Li's Words: Use Exim with Gmail SMTP on Fedora を参考にやってみたが、
エラーになってeximが立ち上がらない。

exim を起動中: 2009-09-29 01:38:36 Exim configuration error in line 961 of /etc/exim/exim.conf:
  authenticator send_via_gmail: cannot find authenticator driver "manualroute"
                                                           [失敗]

どうしたもんかな。

% exim -bV|grep -o manualroute
manualroute

ちゃんとあるしねえ。

ああ、そういうことか。begin routersとか飾りじゃなくてセクションに分かれていて、
後ろにまとめて追加じゃなくてちゃんと別々に置かないとだめなんだな。

あとはFrom:をgmail.comにしないと受け付けてくれないので、
その設定を調べる。


2009-09-29 (Tue)

[SMTP] eximのメールをgmailのsmtp経由で送れた

結局昨日の設定ではeximは無事立ち上がるものの、
実際にメールを送ってみるとキューにたまるだけで出ていかないのであった。
Fromをgmail.comにしないといけないのかと思ってたが、それは関係なかった。

で、よくよく/etc/exim/exim.confを見てみると気になる記述を発見。

dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

# Alternatively, comment out the above router and uncomment this one to
# route all mail to a smarthost instead of sending it directly to the
# intended recipients. If your smarthost requires authentication, change
# 'remote_smtp' to 'remote_msa' and set up the 'client_auth' authenticator
# later in this file. You might need to change the port number in the
# remote_msa transport.
#
#smarthost:
#  driver = manualroute
#  domains = ! +local_domains
#  transport = remote_smtp
#  route_data = smarthost.myisp.net
#  no_more

今回はsmarthostを使うわけで、まさにこれに該当する。
実際dnslookup:からno_moreまでをコメントアウトすることで、
ちゃんとgmail経由でメールが送れるようになった。

以上まとめるとFedora 11の場合は/etc/exim/exim.confを編集して、
begin routersのセクションに

# routers section
send_via_gmail:
  driver = manualroute
  domains = ! +local_domains
  transport = gmail_smtp
  route_list = * gmail-smtp.l.google.com

を追加し、dnslookup:の部分はコメントアウト。
begin transportsのセクションに

# transports section
gmail_smtp:
  driver = smtp
  port = 587
  hosts_require_auth = gmail-smtp.l.google.com
  hosts_require_tls = gmail-smtp.l.google.com

を追加。
begin authenticatorsのセクションに

# authenticators section
gmail_login:
  driver = plaintext
  public_name = LOGIN
  hide client_send = : youraccount@gmail.com : yourpassword

を追加する。

[Mail] GmailのSMTP経由でのFrom:の置き換え

どんなFrom:で送っても結局Gmailの設定のFrom:で書き換えられる。
まあ、Gmailから送ってるのと同じなのである意味当然か。


2009-09-30 (Wed)

[Mail] GmailのSubjectとスレッド

GmailはIn-Reply-To:もReferenses:も無視するのかと思ったら、そうではないようで。
なんかルールがよくわからない。
でもSubjectが違えば別スレッドになるのは間違いないようだ。
で、[Hoge]のようなタグの有無は関係なく同一視されるが、
そのときはIn-Reply-To:かRefereneses:を見てるようだ。
どちらも存在しないと別スレッドになる。
こんな感じかな。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


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

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