Linux で Bookey
誰かが試してるだろうと思って検索してみたけど見つけられないよ。ということで Wine 0.9.10 でやってみた。
とりあえず mfc42.dll がないと動きません。どうにか入手して .wine/drive_c/windows/system32/ にコピーしておきました。
% cd .wine/drive_c/Program\ Files/ % lha x bookey007b.lzh % cd bookey007b % wine bookey.exe
一応動いているようです。 url のドラッグアンドドロップは出来無いけど、これは仕様がないかな。
あれ、MM/Memo と del.icio.us を同期させてると、同期の途中で落ちるな。"同期しますか"ダイアログがでて一括で同期しちゃうのがダメなんだろうか。
それと終了しても bookey.inf が作成されてないよ。というか何もファイルが作成されてないな。うーんどうしよう。
追記 2006/04/05
http://www.winehq.org/site/download から 0.9.11 を入手したところ、bookey.inf が作成されるようになりました。
Symbol#to_proc
これはいいな。すごいな。
irb(main):001:0> class Symbol; def to_proc; Proc.new{|obj,*args| obj.send(self,*args)}; end; end irb(main):002:0> require 'bigdecimal' irb(main):003:0> require 'bigdecimal/util' irb(main):004:0> [0.5,0.25,0.125].map(&:to_d) => [#<BigDecimal:b7e516d8,'0.5E0',4(8)>, #<BigDecimal:b7e51674,'0.25E0',4(8)>, #<BigDecimal:b7e51598,'0.125E0',4(8)>] irb(main):006:0> [0.5,0.25,0.125].map(&:to_d).map(&:to_r) => [Rational(1, 2), Rational(1, 4), Rational(1, 8)] irb(main):007:0> require 'mathn' irb(main):008:0> [0.5,0.25,0.125].map(&:to_d).map(&:to_r).map(&:inspect) => ["1/2", "1/4", "1/8"] irb(main):009:0> ["foo","","bar"].any?(&:empty?) => true irb(main):010:0> ["foo","","bar"].reject(&:empty?) => ["foo", "bar"] irb(main):011:0> ["foo","","bar"].reject(&:empty?).any?(&:empty?) => false irb(main):012:0> [["foo",2],["bar",3]].map(&:*) => ["foofoo", "barbarbar"] irb(main):013:0> {"foo"=>2, "bar"=>3}.map(&:*) => ["foofoo", "barbarbar"]
楽しいな。
TypeError: can't dump hash with default proc
ブロックで初期値を決めてる Hash オブジェクトを PStore で保存しようとしたら怒られた。ぶらさがってる Proc が Marshal.dump できないためだった。
こういう場合はどうすればいいんだろう。Object#marshal_dump と Obj#marshal_load(obj) を使えばいいんだろうか。
いや、transaction 内で出し入れするときに merge すればいいのか。
ソーシャルブックマークをクロスポスト
はてブとか MM/memo にポストする CGI を Ruby で書いてみた。
http://technetium.matrix.jp/xpostbm/xpostbm.rbhttp://technetium.matrix.jp/xpostbm/xpostbm_cgi.rbhttp://technetium.matrix.jp/xpostbm/xpostbm.tar.gz
やっぱりサービスにするには怖いっていうかイヤだなと書いてて思った。なぜかっていうと他人様のパスワードを保存するのはちょっと危険すぎるかな、と。自分のパスワードでも嫌なんだから。 というわけでポストする度にユーザネームとパスワードを入力する羽目になります。これはかなり面倒臭い。
んで今のところは、ローカルの WEBrick HTTP サーバでサーブレットとして使うという中途半端な使い方はどうだろうかと考え中。上記 tar ball の server.rb がそれです。興味のある方はどうぞ。
なお、はてなの認証には id:toward:20051225:ruby_hatena_wsse を勝手に使わせていただいてます。*1 また、MM/memo へのポストには [観] TypeKey による認証 を参考にさせて頂きました。ありがとうございました。
追記
とりあえず、ポストに失敗しても何も言ってくれないのはなんとかしないといけないのかな。
追記2
あー、Cookie 覚えとけばいいのかな?うんにゃ、認証とデータのPOSTが一括してる場合は駄目なのか。
*1:いいのかな
格子の変換(昨日の続き)
id:mercure:20060302:1141301010 の行列だと determinant (実は体積に等しい)があわない。なので自力で考えてみた。興味のある人だけどうぞ。
続きを読む