Just another Ruby porter,

〜2011年1月下旬〜


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

2011-01-21 (Fri)

iriverのプレイリストを表示

T30ではプレイリストのエントリー削除が可能なので、
もう聴かない曲はプレイリストから消したりするわけだが、
ふと気づいてみると何を消したかわからない。
大本のファイルのほうは消してないので、
そっちと比較すればわかるがそれをT30上でやるのは面倒。
というわけでPC上でプレイリスト表示。
まあ、メンテもしたいしね。

% ruby -e '$<.read(512).unpack("N")[0].times{puts $<.read(512).unpack("x2A*")[0].encode("utf-8", "utf-16be")}' playlist.pla

unpackはxで読み飛ばすことができ、Aで後続の不要なNUL文字を消してくれる。


2011-01-22 (Sat)

Dropquest 2011

1GB増やした。長すぎるので途中からはカンニングした。

まじこめ

"Rubyのエンコード指定マジックコメントを##<esc>で挿入できるようにした - LazyLoadLife"を見て、

inoreabbrev <buffer> ## # -*- coding: utf-8 -*-

と設定してみた。


2011-01-23 (Sun)

iriver ファイルリストの中にファイルリスト

意味があるかわかないけど、ファイルリストを自由にいじれるってことは、
ファイルリストの中にファイルリストを入れることも可能。
実際にやってみるとちゃんとPLというアイコンも出てきて認識してるっぽいが、
選択するとThe file does not exist!になってしまう。なんか惜しいな。


2011-01-24 (Mon)

Firefoxのcookies.sqlite

Firefoxのcookies.sqliteはロックされてるので、起動中は外からはどうにもならないと思っていたが、
cpしてからsqlite3すれば普通に読めて拍子抜けした。
クッキーはそんな動的に変化するもんでもないのでこの手は使えそうだ。


2011-01-25 (Tue)

sqlite3でcookies.sqliteからcookies.txtへ変換

cookies.sqliteをcpしたはいいが、このままでは使えない。
Firefox 2の時代に使われていた形式にしないとwgetとかも認識してくれない。
というわけでsqlite3で変換だ。

% sqlite3 -separator $'\t' cookies.sqlite 'SELECT host,
CASE host GLOB ".*" WHEN 1 THEN "TRUE" ELSE "FALSE" END, path,
CASE isSecure WHEN 0 THEN "FALSE" ELSE "TRUE" END, expiry, name, value FROM moz_cookies' > cookies.txt

長いな。


2011-01-26 (Wed)

クラウド型の無料オンラインストレージ ドライビー

davfs2でマウントしてみたが9MB弱しかないのにコピーに55分もかかるってのはちょっと遅すぎるなあ。
エラーも頻発してるし。残念ながらちょっと使えない。

rsync: mkstemp "/home/eban/drivee/anagol/.a.out.V515IR" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.countup-emasaka.sed.tQtwBF" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.permission+list.sh.GYsMAF" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.sedsed.prhGzI" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.sedsed-1.0.8yTEZw" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.tetris-1.in.5xGDbF" failed: Resource temporarily unavailable (11)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.applypatch-msg.sample.86kPUo" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.commit-msg.sample.XrwRdw" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.post-commit.sample.k4uTWE" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.post-receive.sample.B7fY0O" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.post-update.sample.EfBzE9" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.pre-applypatch.sample.t83u3v" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.pre-commit.sample.IQjxMT" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.pre-rebase.sample.bgyW6i" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.prepare-commit-msg.sample.mmtueK" failed: Invalid argument (22)
rsync: mkstemp "/home/eban/drivee/anagol/.git/hooks/.update.sample.xWY0wd" failed: Invalid argument (22)

sent 3383524 bytes  received 27144 bytes  1022.23 bytes/sec
total size is 3286459  speedup is 0.96
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1060) [sender=3.0.7]
zsh: exit 23    rsync -av ~/anagol ~/drivee
rsync -av ~/anagol ~/drivee  0.27s user 1.41s system 0% cpu 55:36.35 total


2011-01-27 (Thu)

toggleCASE

今回は惨敗だったわけだが。

#!ruby -p
gsub(/([A-Z])([a-z]*)([A-Z]?)/){$1+($2+$3).swapcase}

#!ruby -p
gsub(/([A-Z][a-z]*)([A-Z]?)/){$1.upcase+$2.downcase}

#!ruby -p
gsub(/([A-Z])([a-z]*[A-Z]?)/){$1+$2.swapcase}

#!ruby -p
gsub(/([A-Z])([a-z]+.?)/){$1+$2.swapcase}

#!ruby -nl
m=0
$_.bytes{|c|putc c^m;m^= ~c&32}
puts

#!ruby -nl
m=0
$_.bytes{|c|putc c^m;m^=32&~c}
puts

^を使うというのはわかったが、計算が苦手で縮まなかったな。
\nの扱いかたがひどすぎる。


2011-01-28 (Fri)

RubyでFizzBuzzが53B

そりゃもうびっくりだよ。まさかこんなに縮むとは。
定期的に流行るFizzBuzz祭りも役に立つんだな。
たまに思い出すとまた違った視点で考えられるのかな。


2011-01-29 (Sat)

Firefoxのプロファイルの位置をgit configで

Firefoxのプロファイルの位置は~/.mozilla/firefox/までは決め打ちでいいんだけど、
その後がランダムな文字列の組み合わせになっている。
~/.mozilla/firefox/profile.iniにその位置は書いてあるが、
これがini形式のファイルなのでshell scriptからはちょっと扱いにくい。

そこでgit configだ。gitconfigファイルもini形式なので値を読むことに使える。
現在使われているセクションはDefault = 1という記述があるので、
これ見つけるには

% git config -f ~/.mozilla/firefox/profiles.ini --get-regexp 'profile.*\.default'
profile0.default 1

でいける。git configは全部小文字で扱えばいいようだ。

% alias fx-prof='git config -f ~/.mozilla/firefox/profiles.ini'
% prof=$(fx-prof --get-regexp 'profile.*\.default' | cut -f1 -d.)
% echo $prof
profile0
% fx-prof --get $prof.path
pusupjaq.default

2011-01-30 (Sun)

Heavy Rotation

さて縮めるかと思ったら終わっていた。出題者は日本人か?

Bash版はパイプの部分を分けないとだめかと思ったらゴルフ場では通ってしまった。
いろいろなフックのおかげか?手元ではqをteeで書き換えるのが早いようで通らない。


2011-01-31 (Mon)

DynDNS.comからまた警告メールが届いた

まだ30日経ってないのになあ。もう面倒だから20日で更新するようにしよう。

ON Bit系

echo {0,1}{0,1}...で生成して必要なのだけフィルタリングする方法だと、32ビットもあると破綻する。
あと順番がよくわからないな。


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