結婚一周年 (紙婚式)
ちょうど 1 年たちました。
二人仲良く無事にこの日を迎えられてよかったです。
式場となったホテルから First Aniversary のお誘いがあったので、二人で行ってきました。式前は準備のために足繁く通っていたものの、その後はすっかりご無沙汰だったのでとてもなつかしい感じでした。
ビュッフェ形式のランチをいただきました。チョコレートフォンデュなんかもあって充実した品揃えでした。
#タダではないですよ(笑)
おなかが満たされたあとは、館内を軽く散歩がてら、結婚式をあげたアトリウムにも足を伸ばしました。1年前には、向かって右の階段をわたし、左の階段を新譜が降りて入場してきました。
ホテルをあとにして、そのままモノレールに乗ってディズニーシーへ。入口をはいるといきなりドナルドが熱烈な歓迎をしてくれました。久しくキャラクターに絡まれたことはなかったので、ちょっとびっくり。
午後からの入場でしたが、混雑もほとんどなく一通りアトラクションやショーを楽しむことができました。ストーリーがしっかりつくり込まれたタワー・オブ・テラーは面白いですね。偶像「シリキ・ウトゥンドゥ」 から目を離しちゃいけません(笑)
いろいろ歩きまわったんで疲れもしましたが、とても充実した楽しい記念日になりました。
また一年健やかに過ごせますように。 (-人-)
復刊ドットコムで 「Java 並行処理プログラミング」の復刊投票
幸運にも会社にありましたが、手元においておきたい本なので、ぜひ復刊してくれるとよいです...
Java並行処理プログラミング ―その「基盤」と「最新API」を究める― Brian Goetz, Joshua Bloch, Doug Lea, 岩谷 宏(訳) 復刊リクエスト投票
復刊を求めるコメントの一覧はこちらから。
これまでにコンピュータのカテゴリで復刊が決定したものを検索してみると、130 票くらい集まることが目安になるだろうか。
Java並行処理プログラミング ―その「基盤」と「最新API」を究める―
- 作者: Brian Goetz,Joshua Bloch,Doug Lea
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/11/22
- メディア: 単行本
- 購入: 30人 クリック: 442回
- この商品を含むブログ (174件) を見る
追記: 2009-09-08
復刊交渉がはじまったようです。リクエスト数は、現在 200 票越えでコンピュータジャンルのなかではかなり上位ですね。
「Java並行処理プログラミング」にリクエストいただいた皆さまにお知らせです。
《交渉結果》出版社へ復刊の可能性を打診
出版社へ交渉を開始いたしました。皆様へお伝えできる情報が入りましたら、ブログにてお知らせいたします。
なお、出版社や著者へ直接お問い合わせされることはご遠慮くださいますようお願い申し上げます。
Poken
「Poken しませんか?」 と聞かれて、恥ずかしながら、はじめて知りました。 (^^;
ポーケンはスイス生まれのデジタル名刺ガジェット!
いつでもどこでも携帯できる、ストラップ型の新しいコミュニケーションツールです。...(snip)...
ポーケンは、自分のプロフィール情報、例えば名前やメールアドレスだけではなく、自分のブログやホームページのアドレス、色々なSNS(ソーシャルネットワークサービス)での登録 IDなどを、簡単に相手と交換することができます。
使い方はとてもシンプル。
お互いのポーケンの手を1~2秒かざしあって「ハイタッチ」します。緑のランプがつけばデータ交換成功!これであなたの情報は相手に、相手の情報はあなたのポーケンに伝わります。
MOO に続くアイテムになるのでしょうか? Amazon あたりをみると、在庫切れになってる種類が多いので、流行りはじめてる...!?
- 出版社/メーカー: Poken SA (Switzerland)
- メディア: エレクトロニクス
- クリック: 8回
- この商品を含むブログ (15件) を見る
- 出版社/メーカー: Poken SA (Switzerland)
- メディア: エレクトロニクス
- 購入: 1人 クリック: 5回
- この商品を含むブログ (23件) を見る
個人的には最初の「ハイタッチ」は楽しめそうですが、何人もやってると大変そう。でも 1回はやってみたいかな...。
あと、交換した内容がその場で見れないのが、ちょっと残念。名刺や MOO だとそこに書かれていることをネタに話が展開することもあると思うのですが。
以下、気になったとこのメモ。
六義園に行ってきました
天気もよく、花粉の飛散もだいぶおさまってきたので、お散歩がてらに六義園まで行ってきました。
日陰は若干肌寒いですが、日向はぽかぽかしていて花見日和りでした。新宿御苑と比べるとだいぶ小じんまりとしていて、ビニールシートを広げて宴会という感じはないですが、春を感じるちょっとした気分転換にはちょうどよいくらいです。
# 広すぎると疲れちゃうので...。 (^^;
- 入口すぐのしだれ桜
- 桜とカラスと飛行機雲
- よーく見ると亀が岩の上で甲羅干し中
- 玉藻の磯から蓬莱島と茶屋を背景に
- 2本の桜の見事なコラボレーション?
- と思ったら、実は 1本の木でした!
- 桜に見えるけど梅の仲間
- 南国のフルーツのような、御歯黒の原料
- つつじ
- その名のとおり、枝がミツマタ
- 和紙の原料になります
- 太い幹からも新芽が
- カモと鯉の餌とり合戦
- 藤代峠からの一望
- つばき
- ぐるっと一周して最後にまたしだれ桜
ap4r-0.3.7 をリリースしました
追記: 2009-03-24
RubyForge への up がうまくいってなかったのか、サイトから直接 DL はできてたのですが、gem コマンドでのインストールで 0.3.7 がインストールできてませんでした...。さきほど、再度ファイルを up しなおしたところ、問題なく gem コマンドからインストールできました。
前回リリースからだいぶ間があいてしまいましたが、ようやくリリースしました。 (^^;
主な変更点
- Rails から AP4R サーバに接続する際の、可用性の向上および負荷分散
- メッセージの永続化先として、PostgreSQL を使用し、PostgresPR でつなぐ場合の不具合
- async_helper.rb を vendor/plugins 以下から移動
- サンプルの HelloWorld アプリを Rails-2.3.2 に対応
1. については以前、Rails から AP4R サーバへの接続の可用性とか、負荷分散とか... のエントリーに書きましたが、Rails -> AP4R の接続部分が SPoF (Single Point of Failure) になっていたので、障害時に別の AP4R サーバにフェイルオーバーするような設定を可能にしました。
2. については、id:cypher さんよりバグレポートをあげてもらってました。
ありがとうございます & 対応がとても遅れてしまってすみません。
3. の変更により、ap4r-0.3.7 以降を使用する場合は、vendor/plugins/ap4r 以下の async_helper.rb を削除してください。新規にインストールする場合は以下のとおりです。
%ruby script/plugin install http://ap4r.rubyforge.org/svn/tags/ap4r-0.3.7/samples/hello_world_for_rails2/vendor/plugins/ap4r
4. については、app/controllers/application.rb の名前が変わったくらいでしょうか。 :-p
注意点
rails-2.1.2 以前と rails-2.2.x 以降が混在した環境だと、下記のような GemException が発生する可能性があります。
% ruby186 script/mongrel_ap4r start -A config/queues_disk.cfg /var/lib/gems/1.8/lib/rubygems.rb:149:in `activate': can't activate activesupport (= 2.1.2, runtime), already activated activesupport-2.3.2 (Gem::Exception) from /var/lib/gems/1.8/lib/rubygems.rb:165:in `activate' from /var/lib/gems/1.8/lib/rubygems.rb:164:in `each' from /var/lib/gems/1.8/lib/rubygems.rb:164:in `activate' from /var/lib/gems/1.8/lib/rubygems/custom_require.rb:37:in `require' from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg/message-store.rb:389 from /var/lib/gems/1.8/lib/rubygems/custom_require.rb:32:in `gem_original_require' from /var/lib/gems/1.8/lib/rubygems/custom_require.rb:32:in `require' from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg/queue-manager.rb:23 ... 8 levels... from /var/lib/gems/1.8/gems/ap4r-0.3.7/lib/ap4r.rb:6 from /var/lib/gems/1.8/lib/rubygems/custom_require.rb:38:in `gem_original_require' from /var/lib/gems/1.8/lib/rubygems/custom_require.rb:38:in `require' from script/mongrel_ap4r:2
reliable-msg/message-store.rb で active_record/vendor/mysql を require していますが、このファイルが rails-2.2.x 以降でなくなった影響で、発生するようになりました。
# Rails の混在してない環境、あるいは mysql-ruby がインストールされている環境では発生しません。
メッセージの永続化先に MySQL を使用しない場合にも、こんなエラーがでてしまうのはちょっと嫌なので近いうちになんとかしようと思います。とりあえずの対応としては、reliable-msg/message-store.rb の 386 行目あたりを次のように修正してしまってください。 <(_ _)>
begin require "mysql" rescue LoadError => le #require "active_record/vendor/mysql" raise le end
require の呼び出しを表示
ふと気になって、起動時になにがどういう順に require されてるのかを簡単に確認してました。
以下のようなコードをパスの通ったとこに用意しておいて、起動時のコマンドに挟み込みます。
- show_require.rb
require 'rubygems' module Kernel alias __require gem_original_require def gem_original_require(path) puts "#{path.ljust(30, " ")} from #{caller(1)[1]}" __require path end private :__require private :gem_original_require end load ARGV.shift
たとえば、AP4R の起動であれば、いつもは下記のような感じですが...、
% ruby186 script/mongrel_ap4r start -A config/queues_disk.cfg
それを次のようにします。
% ruby186 show_require.rb script/mongrel_ap4r start -A config/queues_disk.cfg
すると、require が呼ばれるごとに、なにが require されたのかと、どこから呼び出されたかが表示されます。
% ruby186 show_require.rb script/mongrel_ap4r start -A config/queues_disk.cfg rubygems from ./script/mongrel_ap4r:1 ap4r from ./script/mongrel_ap4r:2 fileutils from /var/lib/gems/1.8/lib/rubygems.rb:340:in `ensure_gem_subdirectories' etc from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/fileutils.rb:973 fileutils from /var/lib/gems/1.8/lib/rubygems.rb:340:in `ensure_gem_subdirectories' fileutils from /var/lib/gems/1.8/lib/rubygems.rb:340:in `ensure_gem_subdirectories' fileutils from /var/lib/gems/1.8/lib/rubygems.rb:340:in `ensure_gem_subdirectories' ap4r from ./script/mongrel_ap4r:2 rubygems from /var/lib/gems/1.8/gems/ap4r-0.3.7/lib/ap4r.rb:5 reliable-msg from /var/lib/gems/1.8/gems/ap4r-0.3.7/lib/ap4r.rb:6 reliable-msg/queue from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg.rb:9 drb from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg/queue.rb:11 drb/drb from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/drb.rb:1 socket from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/drb/drb.rb:54 thread from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/drb/drb.rb:55 fcntl from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/drb/drb.rb:56 drb/eq from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/drb/drb.rb:57 drb/drb from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/drb/eq.rb:1 drb/invokemethod from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/drb/drb.rb:1562 reliable-msg/client from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg/queue.rb:12 drb from /var/lib/gems/1.8/gems/reliable-msg-1.1.0/lib/reliable-msg/client.rb:11 (snip) ** Starting AP4R Handler with config/queues_disk.cfg Loaded queues configuration from: /Users/kiwamu/work/temp/my_ap4r/config/queues_disk.cfg Using message store: memory Accepting requests at: druby://localhost:6438 (snip)
RubyGems の require でわらわら出るのもうざいので、require 'rubygems' のあとで require をひっかけるようにしています。caller のあたりはもうちょっとまともに書いたほうがいいかも... (^^;
ちなみに Rails だとこんな感じ。
あらためて見てみると、(同じものが何度も登場してるとはいえ) いろいろ require してますね...。
% ruby186 show_require.rb script/server ./script/../config/boot from ./script/server:2 rubygems from ./script/../config/boot.rb:85:in `load_rubygems' fileutils from /var/lib/gems/1.8/lib/rubygems.rb:340:in `ensure_gem_subdirectories' etc from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/fileutils.rb:973 fileutils from /var/lib/gems/1.8/lib/rubygems.rb:340:in `ensure_gem_subdirectories' fileutils from /var/lib/gems/1.8/lib/rubygems.rb:340:in `ensure_gem_subdirectories' fileutils from /var/lib/gems/1.8/lib/rubygems.rb:340:in `ensure_gem_subdirectories' initializer from ./script/../config/boot.rb:55:in `load_initializer' logger from /var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:1 monitor from /usr/local/pkg/ruby-1.8.6/lib/ruby/1.8/logger.rb:4 set from /var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:2 pathname from /var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:3 railties_path from /var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:6 rails/version from /var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:7 (snip) # 500行くらい action_controller from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' dispatcher from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' action_controller/dispatcher from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' rack/utils from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' time from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' rack/utils from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' rack/mime from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require' => Call with -d to detach => Ctrl-C to shutdown server
RubyForge で gem リリースの RSS 配信がはじまりました
ruby-talk でも流れていましたが、RubyForge での gem リリースが RSS 配信されるようになったそうです。
日次で更新されて、直近 2日分の情報を保持しているみたいですね
Thanks to the assistance of Tom Copeland, RubyForge now has an RSS feed of recent gems:
http://gems.rubyforge.org/index.rss
The feed is updated daily and contains the last two days of releases. If you forget, you can also access the feed via RSS autodiscovery on http://rubyforge.org
すでに Project News は配信されてましたが、リリースされてもニュースとして投稿されてないと分からなかったので、あわせて見ておくとよいかもしれません。 :-)
- RubyForge Project News
# いずれもトップページから自動検出されます。