Just another Ruby porter,

〜2014年5月下旬〜


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

2014-05-21 (Wed)

zshのsubstring

bashと同じように

% foo=barbaz; echo ${foo:2:3}
rba

という感じの表記も可能だが、これはまさにbash互換なので0から数える仕様になってる。
startとlengthだ。一方zsh本来の記法は

% foo=barbaz; echo $foo[3,5] 
rba

のように1から数えてstart,endになってる。なんともすごい世界だ。
この記法だと代入もできて

% foo=barbaz; foo[3,5]=hoge; echo $foo 
bahogez

左辺にもなれる。start,endなので

% time=1234; time[3,2]=:; echo $time
12:34

のようにendをstart-1に指定すればその直前に挿入にすることができる。


2014-05-22 (Thu)

GMANEが更新されない

RSSが更新されないのが解消されたと思ったら、今度はGMANE自体が更新されなくなってしまった。
ruby-cvsだけじゃなくて全体なので、なんか非常事態が起きてるとしか。
bugsのRSSはruby-trunkとかプロジェクトごとに分かれてるので、
ちょっと扱いにくいしどうしたもんか。


2014-05-23 (Fri)

WindowsのタスクスケジューラにCygwinのシェルスクリプトを登録する

zshのschedもいいが、結局のところタスクスケジューラを使うことにした。
そのままだとPATHとかがWindowsのままなのでそのあたりを注意すれば特に問題はない。
うっとうしいのは実行時にコマンドプロンプトのウィンドウがちらっと表示されること。
How to run a cygwin executable with Windows XP TaskScheduler without opening a terminal? - Server Fault
によればrun.exeを使えとあるが、これではなぜか解決されなかった。その次のVBはいけた。

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Batch Files\syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing

これをちょっといじって、1行で。

CreateObject("WScript.Shell").Run "C:\Cygwin64\bin\sh /home/eban/bin/foo.sh", 0

0がウィンドウを出さないという指定。chr(34)は"で空白を含むパスのときには必要。
VBだと

WshShell.Run """C:\Batch Files\syncfiles.bat""", 0

とも書けるらしいが、これはやっぱわかりにくい。


2014-05-24 (Sat)

文字を回転させて重ねるときれいな模様になる

というtweetを数ヶ月ほど前にどこかで見かけたのを思い出したのでconvertで試してみる。
たしか「あ」とかだった気がするがまあきっと何でもいいんだろう。
適当に「%」にしてみる。

% convert -size 200x200 xc:none -font Courier-New-Regular -pointsize 100 -gravity center \
  -draw 'text 0,-30 "%"' +repage p.png

中心をずらさないと重ねたときに真っ黒になるのでちょっと上にずらした。
あとはrotateしてcompositeするだけ。

% convert -size 200x200 xc:white \( p.png -gravity center \( +clone -rotate 180 \) -composite \) -composite 180.png

180度回転して重ねる。これを90,45,22.5と進める。長くなるがわかりやすいのでそのまま。

% convert -size 200x200 xc:white \( p.png -gravity center \( +clone -rotate 180 \) -composite \( +clone -rotate 90 \) -composite \) -composite 90.png
% convert -size 200x200 xc:white \( p.png -gravity center \( +clone -rotate 180 \) -composite \( +clone -rotate 90 \) -composite \( +clone -rotate 45 \) -composite \) -composite 45.png
% convert -size 200x200 xc:white \( p.png -gravity center \( +clone -rotate 180 \) -composite \( +clone -rotate 90 \) -composite \( +clone -rotate 45 \) -composite \( +clone -rotate 22.5 \) -composite \) -composite 22.5.png

結果。

おお。なかなかいいね。もとが「%」だったとはとても思えない。


2014-05-25 (Sun)

1枚の画像でスライドショー

最近合成した東京アメッシュの画像をデスクトップに表示させてるんだけど、
スライドショーってやつは1枚だけだと更新しても再読み込みしてくれない。
しかたなく無駄に違う画像を置いてみるが、それはそれでなんか違う。
ふと思いついてもう1個は同じものをダミーとしてコピーすればいいんだとやってみるといけた。
symlinkでもいいようだ。


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