2009-10-05 [長年日記]
_ auが知らん間にメールアドレスの仕様を戻したらしい
こういうのってまともなリリースが出ないので分かりにくいんだけど、2006年に au が*1 docomo の悪態に追随するという形で、一部技術の分かる人の間で大きく話題になった携帯メールアドレスの RFC 違反は
2009年秋の段階で新規登録については解消
ということいいのかな?
当然従来からそのアドレス使ってる人はそのままだろうけど、
もうそんなん知らん。
半角英数字および「_」(アンダーバー)、「.」(ピリオド)、「-」(ハイフン)の記号にて、3字以上30字まで設定することができます。 ただし、「.」は「..」などのように連続で使用することや@マークの直前で使用することはできません。
「.」をアドレス内での連続使用や「.」をEメールネームの最初/最後に使用することはできません。また最初に数字の「0」を使用することもできません。
Eメールアドレス変更方法 | 迷惑Eメール防止方法 | au by KDDI
*1 たぶん MNP のため
2009-10-08 [長年日記]
_ GitとMercurialのbundleファイルからの更新時の違い

いや、単に hg は bundle ファイルをそのまま pull できないんだなーと思って。git は bundle ファイルを pull すると .git/ の更新をして更新された情報に基づいてファイルの更新を行ってくれるんだけど、hg は update しないと反映されないってことに気づかなかった。
いろいろ細かい違いがあるもんだ。
本当は hg の方が CVS など古いバージョン管理システムを知っている人には馴染みやすいと思う。これは昔から感じている。
※ とかなんとか言いながらただの勘違いかもしれない。
2009-10-13 [長年日記]
_ tDiary を 2.2 系に上げた
超いまさら。
やったこと。
- tDiary のパッケージを落としてくる
- 展開
- 前のバージョンでいじったCSSを適用
- ローカルで動作の検証
- sync
の予定だったんだけど、sitecopy で作ってる sync の仕組みがここに来てうまく動かず。いろいろいじってるうちに逆方向(remote -> local)で sync が動いててオレ涙目。結構ビックリした。まぁDOC_ROOT以下とデータ置き場と全部別々に sync できるようにしてたので、全部いっぺんにひどいことにはなかなかならないんだけど。
でだ。実は 4 の動作検証というか動くようにするのにちょっと手間取った。
キモは tdiarysearch*1
2.3系の utf-8 で動くようになっていて、2.2 では conf を eval した瞬間にエラーで止まっちゃう。仕方ないのでバージョンを見て振り分けることにした。成果は coderepos へ上げたので 2.3 ですでに動いている人も試してみてほしい感じです。
/platform/tdiary/util/tdiarysearch – CodeRepos::Share – Trac
あと最後にHTMLが一部変わっててCSSを直し足したりした。cache もクリアした。
さて、やっとこれで読書日記書けるようになったよ。
*1 どうしても tdiary grep と呼んでしまうけど
2009-10-18 [長年日記]
_ no_comments.rdf を配信することにしました
さっき気づいたんですが、friendfeed に spam ツッコミが流れてしまいました。これはまずい、そう言えば tDiary にはツッコミを除外した feed を吐く機能がついたんでなかったか、と思い出して設定してみました。
すでに friendfeed の方は反映する feed を変更したので、以降はツッコミは含まれないはずです。feed reader で直接 aligach.net/diary の feed をチェックしていた人も、ツッコミ要らんなぁと思っていた場合は http://aligach.net/diary/no_comments.rdf に変更することをオススメします。
2009-10-19 [長年日記]
_ ImageMagickで画像の解像度を変える
なんとなくできるに違いないと思いながらちょっと見つけるのに苦労したのでメモ。
基本的には以下のログだけで終了なんだけど、
07:30:53 >wtnabe< ImageMagick の convert に -density を与えると解像度 を変更できることが分かった。でも例えば Xdpi で Ycm みたいな指定はでき ないよな。計算して出すしかないのか。 07:42:11 >wtnabe< -density と -units を同時に指定しないとダメなのか。 ちょっと面倒だな。ということは -scale -density -units の同時指定がよさ げか。
一応動く状態を作るフォーマットはこんな感じ。
convert INFILE -size SRC_SIZE -scale TARGET_SIZE -density 350x350 \ -units PixelsPerInch OUTFILE
これで 350dpi(ppi) x 350dpi(ppi) の解像度に変換することができる。
ポイントは density と units、そして resize ではなく scale を使うこと。size をわざわざ与えているのはその方が速いって聞いたから。
2009-10-23 [長年日記]
_ 簡単なWeb作り向けRakefile作った
ビックリするくらい素朴な作業向けです。要は
- HTML の文法チェックを tidy で
- リンク切れチェックを linkchecker で
- アップ作業を lftp で
- バージョン管理を svn か hg か git でやっているとして commit してないファイルはどれ?
- サイトマップは YAML で書いて XOXO で吐き出して Wiki に貼っちゃえば共有も楽じゃね?
というツールです。基本的には生HTMLの static なサイト向け。
本当は Windows でも自動化できるようにという意図があって tidy や linkchecker を採用してるんだけど、linkchecker の Windows バイナリは GUI になってて全自動にできないし、ftp は ncftp を採用するつもりだったけど ncftp だと exclude の指定ができないので諦めて lftp という構成になってます。しかもあとで気づいたけど Open3 は Windows で使えないし。
とりあえず自分は便利で楽になりました。満足してます。
疑問
hg stat -A の結果が変。
unknown なはずのファイルの表示が環境によって違う。
| version | package | 表示 |
| 1.2.1 | Fink | I |
| 1.3.1 | epel | I |
| 1.1.2 | ports | ? |
| 1.2.1 | MacPorts | ? |
こうして見ると ports 系が正しいように見えるんだけど、バージョンもバラバラなので何が正しいのかよく分からない。
ignored って ignore 指定したファイルだけなんじゃないの? ignore 指定もしてないし add もしていないファイルは unknown なんじゃないのかなぁ。
define_method 初めて使った
バージョン管理されているかどうかの判別用のメソッドがほぼ完全に同じなので、define_method で生成した方がいいやと思ったんだけど、class や module の中でないと使えないみたいなので module SCM を定義して include SCM することで Global な空間にメソッドを持ってきた。
これでいいのか、これしか方法がないのかよく分からない。もっといい方法ありそうな気もするけど。
不満
sitemaps.xml も吐ければとりあえず思いつく範囲では結構使えるツールになるかと思ってライブラリを探したけど、gem で入れられる範囲ではあんまりいいのがないような。
2009-10-29 [長年日記]
_ Windows での shlauncher のプラットフォームは PowerShell v2 がいいか?
CLI 大好きな wtnabe です。もう何回も書いているような気がしますが、CLI のよいところは
- 補完が利く
- 履歴から同じ作業をくり返しやすい
- 履歴から以前の作業を呼び出し、これを編集してちょっと違う作業をくり返しやすい
- ほぼそのまま sh スクリプト化して定型作業として切り出しやすい
などです。これだけでも十分強力なのですが、さらに一歩進めて作業の標準化を図るために shlauncher を作りました。しかし Windows の場合、このベースとなるコマンドライン環境がとても貧弱で困ります。
- コマンドを検索してくれない
- コマンドの対象となるファイル名を保管してくれない
- 履歴を辿れない
- Windowsで共同作業する際にまず必要となるであろう UNC に対応していない
などです。本当に悲しくなるくらいダメです。この問題に対するソリューションは昔からいくつかありましたが、cygwin は大げさなうえにファイルアクセスが遅い、NYACUS は UNC に対応していないなど、意外に普通の人の作業を普通に支援してくれるものがありません。
しかしついに出ました! PowerShell v2 が!
12:28:15 >wtnabe< おっ! Power Shell v2 は外部のコマンドも補完できるぞ! 12:28:51 >wtnabe< おっ! UNC のパスに cd できたぞ! 12:38:12 >wtnabe< あとはExplorerで開いてるフォルダをカレントに開ければ 無問題か?
v1 は外部コマンドの補完は利きません。v2 じゃないとダメです。
多少インストールも動作も重いけど、素の cmd.exe ではやはり不便なので、
- .NET Framework 3.5
- PowerShell v2
- Ruby
- shlauncher
を用意して Windows 上の作業を標準化&支援していくのがいいんじゃないかなぁと思い始めたところです。
※ Un*x 系の人間が管理しやすい環境としては期待していません :-P