■ 日記 2007/5

      May 2007      
Su Mo Tu We Th Fr Sa
       1  2  3  4  5 
 6  7  8  9 10 11 12 
13 14 15 16 17 18 19 
20 21 22 23 24 25 26 
27 28 29 30 31 
2007/5/1 Tue
ジュンク堂 Wikipedia
ジュンク堂

昨日テレビでとりあげられていました。 私はこのテレビをみるまでジュンク堂をしりませんでした。

お客様本意なので、多くのお客様に利用されているみたいですね。 業界として本の売り上げは下がっているのに、ジュンク堂は売り上げが増え続けているそうです。 お客様の希望を取り入れること、店員さんのこだわり。 とても素晴らしいと思いました。

一般の書店では扱わないよう専門書を読みたい人が多くいるようです。 その人たちの声に答えているようです。 普通なら採算とコストを考えて、効果がはっきりわからないことについては手を付けないことが多いように思います。 このジュンク堂は、お客様の声を聞いて答え続けている感じがしました。 その一つが、品揃え。 専門書を扱うことでお客様を増やしているそうですが、いつ売れるかわからないような本もちゃんと扱っているそうです。 次にお客様の声で導入された「イス」。 長時間本を探しまわるととても疲れるという声があったので導入されたそうです。 そして「机」。

数年前まで、本屋さん(ほとんど書泉)にかなりお金を使った人だったのですが、最近はあまり買っていないです。 でも、こんないい本屋さんがあるのなら、本との出会いを求めて歩いてみたいと思いました。

睡眠

むかしから睡眠が不安定なんだと再認識。 まずいなぁ。 でも、私の体はいろいろ微妙なので難しそう。

食欲

ここ一週間、食欲があって困った感じ。 カレーとかずーっと食べていなかったのですが、食べはじめちゃったり。 カロリーを考えて敬遠していたのですが。 お腹が空くのはいいことだと思いますが、私の場合代謝が悪くて一般の人みたいにカロリー消費ができないのでした。 あーお腹空いたー

刑務作業でRuby、世界初の受刑者によるソフトウェア開発

すごいですね。


2007/5/2 Wed
あしなが募金

交通遺児の勉強したい学生のみなさんのための募金。 この募金は、みかけたら募金していたり。 今回は中学生のみなさんがそろそろ限界というタイミングだったみたいで座り込んでいました。 大変だけどがんばってください。 この前新宿にいったときの話でした。

社内の「変人」を見いだし躍進の原動力とする 花岡清二氏 セイコーエプソン社長

いいかたは悪いですが、なにかにこだわっている人とかその分野に強いと思うのです。 マネジメント側が平均化を希望する場合は、管理のしやすさだと思いますが、それだといい結果がだせるでしょうか?

本屋で売れてる「聴診器」 1カ月で2万部

ほしいな。 私はなんか循環器系が不調のようなのです。 それとハードディスクが調子悪いときにも使えそう。

カメラ好きにはたまらないハイエンド広角デジカメ――リコー「Caplio GX100」

最近、デジカメの魅力に...

高脂血症薬、睡眠障害に効果? マウス、早寝早起きに

私にいいかも? 薬って副作用とかいろいろあるので、できれば飲みたくないのですけどね。

指紋採取に“新兵器”神戸の海保職員が開発

潮干狩りで見つけた笑顔のカニを展示中 高知・四万十市

もうロンサムじゃない? ガラパゴスゾウガメの親類発見

Emacs cmail

coLinux (Vine Linux 4.1CR) 上にインストール。 cmail-2.62+20031231.tar.gz は、 cmail-cfolder-mprop-cache が void だとエラーで初期化(load)できませんでした。 cmail-2.62+20030802.tar.gz の場合は問題なし。

すこしずつ準備。

ruby 1.9 HEAD でのメール関係。 受け取りは net/pop.rb で APOP は成功。 net/smtp.rb も認証なしは OK でした。 でも、CRAM-MD5 でエラーを確認。

/t/lib/ruby/1.9/net/smtp.rb:749:in `method_missing': undefined method `cram_md5_challenge' for nil:NilClass (NoMethodError)
        from /t/lib/ruby/1.9/net/smtp.rb:749:in `block in auth_cram_md5'
        from /t/lib/ruby/1.9/net/smtp.rb:917:in `critical'
        from /t/lib/ruby/1.9/net/smtp.rb:63964:in `auth_cram_md5'
        from /t/lib/ruby/1.9/net/smtp.rb:722:in `authenticate'
        from /t/lib/ruby/1.9/net/smtp.rb:566:in `do_start'
        from /t/lib/ruby/1.9/net/smtp.rb:525:in `start'
        from /t/lib/ruby/1.9/net/smtp.rb:463:in `start'
        from /home/tetsu/bin/nif2_smtp.rb:51:in `<main>'
make test でもエラーになるブロック関係?


2007/5/3 Thu 憲法記念日
中華 野菜炒め

バーミヤンで二日連続「鮮々野菜炒め」。 食べるのに時間がかかるくらい野菜多め。 これで油分がもうすこしすくなかったらいいんですけど。

生ピーマンとか好きで、独り暮らしをはじめたころはパックで買ってなにも付けずにそのままバリバリ丸かじりしてました。 スーパーなどの一人用の野菜セットってもうちょっとよくならないかな。 たぶんいいお店を探せばあると思うのですが。 そういうお店を探しにいったりしてないです。

野菜とかほとんど食べてないので体調悪いのかなぁ。

YARV アーキテクチャ
YARV: Yet Another Ruby VM
Ruby Magazine - るびま

現状を確認するのにはどこがいいのかな?

5%-95%

富裕層は上位 5% という話があったりします。 これ中国だと 12 億人いるとすれば、5% で 6 千万人になるんですよね。 市場として、すっごい魅力的な感じ。

日本にも富裕層向け特別サービス系の商売はたくさんあるそうですけど、日本の市場規模の 10 倍を見込めるとしたら、ほんとすごいですね。 日本でもいろいろ歪みがあるようなのですが、中国はこれからどうなるんでしょうね。

なんども同じこと書いているような...

今日は何曜日?

曜日感覚がおかしいです。 土曜日の気持。

寝て起きて昼です。 いまの生活パターンは、夜 7 時くらいに寝て夜 11 時くらいに起きだして朝まで。 朝 7 時に寝て昼 11 時くらいに起きて...

すこし前後することはありますが、こんな感じかも。 私の場合連続運転時間が短いんですよね。 それと連続睡眠時間も短いです。 なので、一日に二度寝とかができると体的には楽なんですが、でも胃とかには悪いかも。


2007/5/4 Fri みどりの日
ノート PC のキーボードとマウス

もっと自分の好きなキーボードが選べるといいですね。 ナチュラル系のキーボードを選べるノート PC とかでないかな。 US 配列で。

ノート PC だと、難しいところがたくさんあると思うのですが交換を簡単にできるようにして自分の好きなキーボードを選択きるといいなと思います。 無理かなぁ。

配列も気になりますが、キーボードの感触ってかなり気になります。 いま使っている VAIO type S のキーボードは、なれれば問題ないのですがタイプが違ってなれるまで「あれれ?」でした。

タッチパッドとトラックポイント、いまはみかけないトラックボール。 個人的な希望はトラックボールなのですが、選択の余地がないです。 次はできればトラックポイント。 指先が痛くなるものがむかしあって、長時間使うのが大変でした。 いまは動きがスムーズなものが多いようですね。 キーボードのホームポジションを外すことなく、マウスが使えるのでとてもいいと思います。 トラックボールも、ナチュラル系キーボード配列で、間のスペースに入れてくれないかなぁ。 親指操作できるくらいの位置で。

ノート PC の画面のサイズは 12 インチくらいで十分(解像度は高いほどいいです)なのですが、キーボードのサイズを考えると 13 インチくらいが私の場合よさそうです。 キーボードのサイズに余裕ができる大型画面のノート PC は、トラックボールを復活させてくれないかなぁ。 または、タッチパッドの上に置けるトラックボールとか(え

親指操作のトラックボールの場合、タッチパッドの位置でなんとかなりそうなんですよね。 タッチパッドだと親指操作が微妙。 いい方法ないかなぁ。

食事

月に数度いくお寿司屋さん。 千代田寿司さんなんです。 ここの「旬」は、十二カンで 1,680 円。 十二種類のネタが楽しめるのでいい感じです。 握ってもらうと、二カン単位になって種類が食べられないので、こういうのありがたいです。

青空

今日までみたいなので、食事をしにでかけたり。 駅近くまで歩くのって、普通の休みだとあんまりないのですけど、デジカメ買ってからかな。 一日、全天がみえるような場所で、青空とか雲とかぼーっと眺めていたいなと思うのでした。 ま、しばらくしたらあきるかもしれないですけど、でもそんな機会ってなかなかなくて。 ビルとか電信柱とかないような空間でしばらくごろごろしてみたいです。

コーヒー飲みながら鉄道模型 「鉄カフェ」、大阪で人気

写真がないですね。 あればいいのにな。 テレビで似たようなお店をみたことがあるのですが、車両のレンタルもしてくれて、自分で操作できるところもあるみたいです。 おもしろそうですね。

覚せい剤依存に遺伝子 名城大など発見

あらゆる依存に効果があるとしたら、人間社会がどうなるか...

「ゆっくり地震」大小、仕組みは同じ? 東大など調査

水星内部は「液体核」 米ロ観測チームが証拠

“さもない”日々こそニュース 地域の日常つづるブログ新聞「ぶらっと」

ぶらっと


2007/5/5 Sat こどもの日
録画していた番組

コードギアスというアニメをみていたのですが、最終回の放送時間がずれていて最初の歌だけ...

半年前のものなんですが、ハードディスクがいっぱいになったので消すためにみてたんですが、そりゃないよー (T-T)

やさしいオブジェクト指向 やさしいシリーズ 高橋麻奈(著)

本屋さんでみかけて、買ってみようかなと思っている本です。 Java のソースコードの横で UML での説明があり、UML を身につけるのに話ばかりの本より私にはあっているかなと。

作者の高橋さんは、「やさしいシリーズ」をだしていてトータルで 40 万部の売り上げとか。 すごいですね。

晴れ

すこし前の予想では、今日から雨だったように思ったのですが「晴れ」。 でかけた時間帯は薄曇りだったのですが、帰るころには雲がほとんどなくなっていていい感じでした。 この連休、かなり天気に恵まれた感じ。

アニメ 英國戀物語エマ〜第二幕

いい感じです。 原作 ビームコミックス エマ 8巻 (通常版) (コミック) 森薫(著) もとてもいいです。 音楽もいい感じ。

この連休

買いものはしたのに、読んでいない本。 観ていない DVD も。 それでも、すこしはできたかも。 もうちょっとできるようになるといいな。

時間

「ゆとり」ってほしいですね。 仕事とか時間の制限があるのがあたり前ですが、いい仕事をするためのゆとりというのは必要に思うのです。 それと年齢も加味して。 週休三日とかできたらいいなと思います。 ヨーロッパでは、パートタイムもフルタイムも同じ社員として扱われて、それぞれの生活パターンにあわせてうまく調整できている国もあるそうです。 柔軟性の高い働き方ができれば、いいのにと思ったりします。

偉い人の動機付け

どうやったらできるんでしょうね。 部下が「これはいい」と稟議を通そうとしても却下。 でも、似たようなものを自分でみつけてくれば「やるぞ」と。 みつけてくればというよりは、「訪問した先でみてくれば」かな。 「世の中、こんな感じでうちは遅れている」ということをアピールするのが一番なんでしょうか? 理想論を伝えてもぜんぜん動かないし。 もっとコンピュータを有効利用すべきだと思うのですが。

タッチパッドやトラックポイントでのスクロール

もう一つボタンを増やして、押しながら上下でスクロールするようにしてくれないかなと思ったりするのです。 タッチパッドの右端がスクロール用のエリアだったりしていますが、どうも反応がいまいちです。 どこかで実現されているというか使われているかな。

アニメ アナスタシア

MX テレビで 5/5 のこどもの日スペシャルのアニメ。 フルアニメで動きがすごいなと思ったけれど、モーションキャプチャーだと途中で気が付きました。 動きが人のそのままなのでした。 あんまりクネクネなので。

暑い室温

夜でもけっこう暑いです。 うーむ、これから大変になりそうな...

室内に熱の発生源がいろいろあるので、なんとかしたいな。


2007/5/6 Sun
アニメ ブレイブストーリー

とてもよかったです。 うるうるしちゃいました。

原作買ったんですがまだ読んでいないので、たぶん読んでいたら「はしょっている」ところなどが気になったと思いますけど、二時間のわくがあるしと。 放映されてたころにあれこれあまりよくない話があったようですが、私は楽しかったです。

mixi の日記でのキーワードランキングでも一位。 「よかった」系のコメントが多いみたいです。 映画って声の大きな人の意見が影響しますよね。 そういう影響があった一本かも。 否定的な場合は「期待」に答えられたか? という意味の意見だったかもしれないですね。

後ろに座る学生、教員に厳しく自分に甘く 産能大調べ

米連邦最高裁、特許の「自明性」を判定する法的基準の緩和を命じる

赤とんぼ、なぜ減った 全国サミット開催へ

そば処

駅ビルにそばを食べれるところが増えたみたい。 あまりいっていない場所だったので気が付かなかったのでした。 忘れるといけないので、メモ。 実は、すっかり忘れてたというか...

よみがえる昔の日本の光景 ネットで楽しむ古写真

テレビで絵画

絵を観るときの視線移動をアップにして誘導している感じ(わかりにくい説明ですいません)なのですが、アップにしないでほしい気持。 もっと全体が画面に入るようにして、自分でどこを観るか決めたいです。 なんか、アップにしちゃうと筆遣いとかはみえるかもしれませんが...

わりとたくさん降っている感じ。 雨も必要ですよね。 買いものにいきたいけど、さてさて...

睡眠

まとまって寝れない日々。 今日もなんですが、二三時間で目が覚めてしまいます。 二度寝するんですが、またすぐ目が覚めて。 中途半端に目が覚めるので、ぜんぜんすっきりしません。 目が覚めるきっかけが微妙なのでした。 あー

収入

あるテレビ番組で収入を比較するものがありました。 年代も同じくらいなので、気になってみてしまいました。 みなさんお子さんもたくさんいていい感じの家族です。 住んでいるところも広いし、すごいなと。 で、結果は 2007/1 の手取額の比較だったのですが、ほぼみなさん私よりも多い感じ。 最近ようやく家族がいてもなんとかなるかなとか思ったんですが、やはり厳しい感じなのを実感しました。

いまの年齢でようやく家族がいてもなんとかなるかなと思うというのは、感覚としてあたりだったのかも。 うちの会社かなりながく昇給がなかったんですが、そういうのがあればすこしは? 定期昇給というのもないので、この 10 年近くアップありませんでした。 マネージャさんとかは、給与の仕組みを変えることで、実質アップしていたらしいですけど。 世の中厳しいですよね。 私はたぶんがんばって昇給を目指すことはないので、これからも同じような感じかな。

時をかける少女

観ました。 連休最終日にようやく。 とってもいい作品でした。 うるうる。

この作品だから、口コミでどんどん広がったんでしょうね。

国際アニメフェア 2007

受賞作品が MX テレビで放映されていたのですが 5/3 分だけ録画... TAF2007 特別番組「Tokyo International Anime Fair 2007 〜ANIME〜」の放映が決定いたしました

気が付いたのは今日なのでした。 あーあーあー


2007/5/7 Mon
Ruby MD5

MD5 の扱いでエラーになっていたので、スクリプトをいくつか修正しました。 きっかけは net/smtp.rb の CRAM-MD5 のコードを読んでいて。

1.9 の net/smtp.rb の CRAM-MD5 は @nifty でエラーになったので、おしらせ。 以前のコードを読みながらパッチの作成。

--- smtp.rb.org 2007-04-15 01:53:25.000000000 +0900
+++ smtp.rb     2007-05-07 22:50:16.000000000 +0900
@@ -745,7 +745,7 @@
     def auth_cram_md5(user, secret)
       check_auth_args user, secret
       res = critical {
-        check_auth_continue get_response('AUTH CRAM-MD5')
+        res = check_auth_continue get_response('AUTH CRAM-MD5')
         crammed = cram_md5_response(secret, res.cram_md5_challenge)
         get_response(base64_encode("#{user} #{crammed}"))
       }
@@ -793,7 +793,7 @@
     def cram_secret(secret, mask)
       secret = Digest::MD5.digest(secret) if secret.size > CRAM_BUFSIZE
       buf = secret.ljust(CRAM_BUFSIZE, "\0")
-      0.upto(buf.size) do |i|
+      0.upto(buf.size - 1) do |i|
         buf[i] = (buf[i].ord ^ mask).chr
       end
       buf
@@ -943,6 +943,7 @@
       unless res.continue?
         raise res.exception_class, res.message
       end
+      res
     end

     class Response

無印良品、2,500円のコンパクトサーキュレーター

人型ケース「もぐも君」でメモリカードを持ち歩く

広角でも望遠でも撮りたい!「LUMIX DMC-TZ3」

マクロスプラスとマクロス7がHDリマスターでDVD-BOX化−マクロス25周年企画。マクロスプラスは音声もPCM

うーん、アニメって高すぎだと思うのですが。 どうして映画みたいに安くできないの?

飛ばしすぎ

連休明け初日。 帰宅は 22 時近く。 帰宅後 MD5 系のスクリプトを見直して、net/smtp.rb のパッチを作成して ruby-dev にメール。 とかしていたら、あーっというまに時間が経過。 睡眠不足のはずなのに...

Ruby している時間は、いい時間なので問題なし!


2007/5/8 Tue
「やったー」細胞と「しまった」細胞 脳に別々で存在か

寝た方が覚える 米ハーバード大、単語テストで実験

地球内部の動きが「見える」 「可視化」の技術を開発

「サイバーホームレス」が映し出す日本社会の変化

「鉄カフェ」大人気

そば処

昨日の夕食は、新しく駅ビルの中にできたそば処。 私はたいてい最初にいったお店では、天ざる系のそばをお願いしていたりします。 そばと天ぷらのどちらも、重要なポイントなので。 で、今回はそばはいい感じでした。 そばつゆは、私の好みとはちょっと違うかも。 そばをつゆに付けて食べたときの、あの香りというかいい感じがすくなかったような気がします。

でで、問題は天ぷら。 ほとんど容器の問題だと思うのですが、天ぷらがべちゃっとしちゃっています。 紙を一枚敷いてその上に天ぷらをのせていますが、容器にべったり密着していました。 容器に工夫がほしいです。 みた目重視な感じ...

あと、海老は身が大きいのですが味わいがすくないタイプでした。 なんだろう? 尻尾も食べたんですが、ずいぶんあっさりした海老でした。

ということで、「天ぷらせいろ」(天せいろ)は 1,480 円なのですが、もうすこし頑張ってほしい感じでした。 ちょっとしたところだと思うのですが。

そばを食べるところがほしかったので、よくなればと願ったりするのですが。

ということでまとめ(え

  • そばをつゆに付けて食べたときの香りをもっと
  • 天ぷらは、べちゃっとならないような工夫(味も? 天ぷら油関係かな?)
  • 天せいろの天ぷらは量がある(5 品)ので「海老x2」なしのもうすこし安くて量のすくないヘルシーな? ものがあれば!
できたばかりらしいので、頑張ってほしいものです。

微妙に調子が悪くて、もっと寝たい感じ。 途中目が覚めずにしっかり寝ることができればどんなにいいかとか思うのでした。 すこし食べてすこし飲んで、すこし回復。

【新製品レビュー】リコー Caplio GX100

ペット用ブラシ「FURminator」〜最強の抜け毛対策ツール

補色による色合わせ「カラーコーディネイタ」v1.071 好きなの色の“補色”と“やや暗い補色”を簡単表示、配色デザインに

各種画像を透かし文字つきで一括リサイズ・形式変換「おてがる画像変換」

LEGO社純正の3Dレゴブロックシミュレーター「LEGO Digital Designer」

Wiiリモコンを充電式に!「USBリモコンチャージャー」

専門家に聞くモデル駆動開発のメカニズム

サーバ監視にSNMPを使う理由

睡眠改善薬に参入続々 メーカー各社「ドリエル」へ挑戦

飲んですっきり眠れてすっきり目が覚めるようになったらすごいですよね。 私も 6 時間くらいすっきり眠りたいな。

ジャスダック女性経営者の SNS は Ruby on Rails による「Looops SNS」

おお!

画像スパムに新たな手口

自分の声で文章を読み上げる、音声合成サービス

"ユーザー"にシフトし続ける検索エンジン

「最も明るい超新星」確認 NASAが発表

絶滅危惧のツシマヤマネコ、23年ぶり個体確認

特攻隊映画の新城監督が会見 「事実曲げずに描写した」

CNET JapanSleipnir

IE エンジンだと CNET Japan 側から切られるような感じで接続できないです。 あれれ?

暗黒物質 ダークマター Wikipedia

この前テレビでみたんですが、不思議な感じですね。


2007/5/9 Wed
MS、「Silverlight」を複数プラットフォーム対応へ

IronRuby が!

1.9 系 net/smtp.rb と smtp.gmail.com

Gmail は、以前 port 587 で TLS が成功していたのですが、どうもうまくいかないので調査。 結果から書くと port 465 の SSL (最初から SSL) で送信できました。 それ以外は、ちょっとうまく行かないので引き続き調査予定。 とりあえず動いた系のサンプルです。

#! /usr/local/bin/ruby

# ?? smtp.gmail.com 587 TLS
# OK smtp.gmail.com 465 SSL

SMTP_server = 'smtp.gmail.com'

user = 'GMAIL のアドレス'
password = 'GMAIL のパスワード'
domain = '自分のドメイン名'

require 'net/smtp'

#see: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/42659

smtp = Net::SMTP.new(SMTP_server, 465)
smtp.enable_ssl
smtp.start(domain, user, password, :plain) do |smtp|

 smtp.send_mail(header_part_str + body_part_str, from_str, to_arr)

end
TLS (途中から SSL 通信) 系は、うまく動かなかったです。 確認した net/smtp.rb は 1.9 系の
$Id: smtp.rb 11994 2007-03-05 00:17:38Z aamine $
です。

そうそう smtp.gmail.com は、QUIT でいきなり切るので EOFError がでます。 rescue してしまいました。

メモ: その他のメール クライアントの設定

Sleipnir

SMTP のテストをしていたらノート PC の内部温度が 71 度。 あれれ? Sleipnir が CPU を使っていたのでした。 きっかけがなにかわからないのですが、どうしたのかな。 温度が下がれば 47 度。 24 度の差があるのかぁ。 3D ゲームしても 60 度越えるくらいだったような。 フルで回すとこのくらいということなのかな。

ウルフルズ「いい女」大合唱 アンジェラ・トークに爆笑

サン、Javaアプリ開発を簡便化する「JavaFX Script」を発表へ

Ruby 1.9

coLinux 上であれこれ試してみて、そろそろ移行する準備ができたかな。 make test でエラーがでるようですが、私が使う範囲では大丈夫そうです。 現状で使っている Ruby 1.9 は半年前のものなのでした。

ruby 1.9.0 (2006-11-22) [i686-linux]
この 1.9 系、メインに使っているのですが、半年前だと問題をみつけてもいまいちですし。 coLinux で新しいものを使いはじめて、なかなかいい感じなのでメインにしてしまおうと思うのでした。 coLinux であれこれ試しているときに、気が付いたこともあっておしらせしたりもできたし。 実際の移行は、ライブラリ系の再コンパイルなどもあって、作業は土日になるかな。

使っている Vine Linux も 4.1 系にしたいな。 これはなかなか難しいのでした。 もう一台 PC がほしいー(おい

2ヵ月半で新星発見 水戸のアマチュア天文家

「鉄子の旅」TVアニメ化 テツブームの予感

鉄ブームというけれど、以前からでは? 最近増えていたりするのでしょうか?

塩分排出妨げ、高血圧起こす仕組み発見 新薬に期待

パナソニック LUMIX DMC-TZ3【第6回】10倍ズームは動物園に最適

やじうまミニレビュー デジタル歩数計3製品を試す

「Twitter」風サービス、国内ベンチャーから続々

180万種掲載のオンライン生物図鑑プロジェクトが始動

東大を中心とした研究チーム、インターネット最速記録更新でIPv6の実用性を提示

Sun、スクリプトサポート加速はNetBeans 6.0でも

Linux開発者はSunで何をしているのか

知識はあっても生計は…… openSUSE調査に見るデスクトップLinuxのユーザー像

“Javaのオープンソース化は好機”--サンの要人が語るJavaの現状と未来

広がり続けるWikiの世界--何に使われどこへ向かうのか

Camellia

NTT のオープンソースの暗号エンジン。 仕事ですこし調べてみました。 帰宅後 Ruby の拡張モジュールを書いてみたり。 128bit (16byte) 固定ブロックの暗号化、複合化をサポートするだけの拡張モジュールなのですが...

暗号エンジンについて「テストベクトル(t_camellia.txt)」と一致するか? ということを確認することが必要のようなので、確認スクリプト。 入力は t_camellia.txt ファイルです。

#! /usr/local/bin/ruby
# /t/src/camellia-GPL-1.2.0/ck2.rb
# created: May 10,2007 Thursday 00:39:15
# author: tetsu(WATANABE Tetsuya)

def str2hex(str)
  str.unpack('C*').collect{|x| sprintf('%02X', x) }.join(' ')
end

def hex2str(hex)
  arr = []
  hex.scan(/ ([\da-fA-F]{2})/) do |x|
    arr.push(x[0].hex)
  end
  arr.pack('C*')
end

require 'Camellia'

f = File.open('t_camellia.txt')

pt = ''
ct = ''
pt_r = ''
ct_r = ''

k_count = 0
p_count = 0
c_count = 0

while l = f.gets
  case l[0, 2]
  when 'K '
    k_count += 1
    key = hex2str(l[10 .. -1])
    Camellia.keyset(key)
  when 'P '
    p_count += 1
    pt = hex2str(l[10 .. -1])
    ct_r = Camellia.encrypt(pt)
  when 'C '
    c_count += 1
    ct = hex2str(l[10 .. -1])
    pt_r = Camellia.decrypt(ct)
    if str2hex(pt) == str2hex(pt_r) and str2hex(ct) == str2hex(ct_r)
    else
      p str2hex(pt)
      p str2hex(pt_r)
      p str2hex(ct)
      p str2hex(ct_r)
    end
  end
end
f.close

puts "k:#{k_count} p:#{p_count} c:#{c_count}"
拡張モジュール用の C のプログラム。
/*****
 *  /t/src/camellia-GPL-1.2.0/camellia_ruby.c
 *  Created: May 09,2007 Wednesday 23:19:32
 *  Author: tetsu(WATANABE Tetsuya)
 *
 *  $Source: /t/src/camellia-GPL-1.2.0/camellia_ruby.c,v $
 */

#ifndef lint
static char *rcsid_c =
"@(#)$Id: camellia_ruby.c,v 1.1 2007/05/09 16:44:42 tetsu Exp $";
#endif

#include "ruby.h"
#include "camellia.h"
#include <stdio.h>
#include <string.h>

static VALUE mCamellia;
static VALUE eCamelliaError;

static int keyBit = 128;
static KEY_TABLE_TYPE keyTable;
static unsigned char rawKey[32];

static VALUE
camellia_keyset(VALUE class, VALUE key)
{
  int len;

  Check_Type(key, T_STRING);

  memset(keyTable, 0, sizeof(keyTable));
  memset(rawKey, 0, sizeof(rawKey));

  len = RSTRING_LEN(key);

  switch (len) {
  case 16: keyBit = 128; break;
  case 24: keyBit = 192; break;
  case 32: keyBit = 256; break;
  default:
    rb_raise(eCamelliaError, "bad key length(16byte:128bit, 24byte:192bit, 32byte:256bit byte:%d", len);
  }
  memcpy(rawKey, RSTRING_PTR(key), len);
  Camellia_Ekeygen(keyBit, rawKey, keyTable);

  return class;
}

static VALUE
camellia_encrypt(VALUE class, VALUE str)
{
  char buf[16];
  int len;

  Check_Type(str, T_STRING);
  len = RSTRING_LEN(str);

  if (len != 16) {
    rb_raise(eCamelliaError, "bad length(16byte:128bit byte:%d", len);
  }
  Camellia_EncryptBlock(keyBit, RSTRING_PTR(str), keyTable, buf);

  return rb_str_new(buf, sizeof(buf));
}

static VALUE
camellia_decrypt(VALUE class, VALUE str)
{
  char buf[16];
  int len;

  Check_Type(str, T_STRING);
  len = RSTRING_LEN(str);

  if (len != 16) {
    rb_raise(eCamelliaError, "bad length(16byte:128bit byte:%d", len);
  }
  Camellia_DecryptBlock(keyBit, RSTRING_PTR(str), keyTable, buf);

  return rb_str_new(buf, sizeof(buf));
}

void
Init_Camellia()
{
  mCamellia = rb_define_module("Camellia");
  eCamelliaError = rb_define_class("CamelliaError", rb_eException);

  rb_define_module_function(mCamellia, "keyset", camellia_keyset, 1);
  rb_define_module_function(mCamellia, "encrypt", camellia_encrypt, 1);
  rb_define_module_function(mCamellia, "decrypt", camellia_decrypt, 1);
}

/*
 * $Log: camellia_ruby.c,v $
 * Revision 1.1  2007/05/09 16:44:42  tetsu
 * Initial revision
 *
 */
extconf.rb です。 camellia-GPL-1.2.0.tar.gz (Version 1.2.0, 18 KB) を展開したディレクトリに camellia_ruby.c と同じディレクトリに置いてください。
#! /usr/local/bin/ruby
# /t/src/camellia-GPL-1.2.0/extconf.rb
# created: May 09,2007 Wednesday 23:08:10
# author: tetsu(WATANABE Tetsuya)

require 'mkmf'

have_header("camellia.h")
create_makefile("Camellia")
コンパイルとテストの手順です。
$ ruby extconf.rb
$ make
$ ruby ck2.rb
なにも表示されなければ、入力と出力の結果が一致しているということになります。

Camellia は、128bit ブロックで入出力するので汎用的に扱うためにどうすればいいのかよくわかっていないので、テスト用ということで。 この手の暗号化のライブラリ関係の確認してみようかな。 自分なりの暗号キーの管理を導入して、遊んでみるとおもしろいかも。


2007/5/10 Thu ruby 1.9.0 (2007-05-10 patchlevel 0) [i686-linux] 12272
Camellia

Camellia 暗号エンジン。 Ruby のモジュールを作ってはみましたが、実際の利用を考えるともっと大きな単位で処理を行なえるように拡張しないと、メモリの確保などのオーバーヘッドが大きくて遅いと思うのでした。 問題は、128bit(16byte) ブロック単位の処理なのですが端数はどうしようかなと。 ちなみに tar コマンドは、作成したファイルが切りのいいサイズになります。 圧縮する前の話ですけど。 使えるかも?

梅沢女流棋聖に客員教授辞令

ヒカルの碁の続きがみたい...

「東京タワー」 ロケ地が大人気

有袋類のフクロネズミ、初めてゲノム解読 国際チーム

百式さん: 椅子の座部分を取り外して座椅子に、残った足はテーブルにできる

スリック「フリーターン雲台SH-707E」〜キッチリと水平を出したい方に最適?


2007/5/11 Fri ruby 1.9.0 (2007-05-11 patchlevel 0) [i686-linux] 12273
やじうま Watch 絵を描く過程を、これでもかというほど連続再生してみせる

私もこういうのとても興味あります。 絵を描いてみたいな。

やじうま Watch 久しぶり。 もっとちゃんとみにいかないと。 おもしろそうな話題がいくつかあるー

#! /usr/local/bin/ruby
# /tmp/j.rb
# created: May 11,2007 Friday 04:55:56
# author: tetsu(WATANABE Tetsuya)

1.upto(100) do |i|
  print i, ':'
  if i % 3 == 0
    print 'Fizz'
  end
  if i % 5 == 0
    print 'Buzz'
  end
  puts
end
公倍数を特別扱いしなくてもいいよね。

Ruby 1.9

メールの受信と送信に問題ないことが確認できたので、移行してしまいました。 いままでだと動いていたもので、動かなくなった機能として気が付いたのは

  • Array クラスのイテレータ中に Array クラスそのものの要素を増やすような処理
    `[]=': can't modify array during iteration (RuntimeError)
    
なんですが、ほかにもあるかな。

私は SMTP でメールの発送、POP でのメールの受信どちらも Ruby スクリプトです。 これが動けば、あとはなんとか。

PCはミニマルなデスクトップで素っ気ない付き合いを 小川浩

太陽系外惑星を探せ〜惑星形成の秘密とは?

社員は孤独なんです “顔”見えるSNSで活性化

ワークフローとは一体何か

仕事の流れを可視化できるといいですよね。 個人でも使えるといいなと思ったり。

「失敗恐れないで」ハイリスク研究に補助金 文科省検討

社保庁の年金記録、生年月日の誤りが30万件

普通の会社とかなら到底許されないことを、いくつも重ねてやってくれているこんなところに、まだお金を任せるのは間違いでは?


2007/5/12 Sat ruby 1.9.0 (2007-05-12 patchlevel 0) [i686-linux] 12275
ノート PC のメモリ

WinXP がメイン OS で coLinux が動いています。 現在 1GB のメモリなのですが、もう 512MB くらいあるといいなと思います。 coLinux をがんがん使うときは、そこそこメモリがほしいです。 ま、たまに重いと思うくらいで、いまのままでも大丈夫そうなんですけど。

アニメ 精霊の守り人

BS で放送されているアニメなのですが、とてもいい感じです。 ビデオが壊れたままなので、録画できないので毎週土曜日の朝にみていたり。 マスターキートンもいっしょにみれるので、さらにいいです。 PC で録画できるものは、ほぼ地上アナログなのですが、早くいろいろ録画できるものがほしいな。 私の場合、解像度などぜんぜんいらないのでいまのアナログで十分だったり...

昨日の帰宅時、西の空に光る星。 私の視力では他に星がみえないのですが、その星だけはすごく目立っていました。 金星かなと思ったのですが、星図では金星はもっと低い位置のようです。 スピカかそれとも ブロキオン なのかな。 高さは 30 度くらいかな。

空のきれいなところで、ぼーっとながめていたい感じ。

デジカメで試しに撮ってみたかったのですが、なんか場所的に建物の窓を撮っているようにもみえるし、難しいのでした。 あーあれこれ試してみたいな。

昨日は風が強かったですが、空はあまりきれいではなかったです。 雨上がりのすっきりした空だと思ったのにな。

手軽に高橋メソッドな PDF v2

あんまりややこしくしてもなんですが、ちょっと応用として修正案を考えています。

  • 背景の色と文字の色の指定
  • 文字の表示を
    な
    ぜ
    手軽なのか
    
    日常で使
          え
          る
    
    Ruby
      で
        PDF
    
考えているだけだったりするかも...

ま、自分で使うことがなさそうなのでなおさら。 Haru Free PDF Library II は、なかなかいい PDF ライブラリなので、自分で PDF を作ってみたいと思う人は、あれこれ試してみるといいと思いますよ。

ネットで講義 「サイバー大」

禁断の花、フェンス越しに公開

「花やしき少女歌劇団」の「元気」聴いて

メルマガで自殺防止策発信 映画批評と絡め人気に

お仕事

休日でも仕事とか。 すこし微妙な気持。 数字的にはぜんぜん問題がない系なのもあって、レポートに力が入らないです。 依頼は金曜日の夕方。 結果は月曜日午前中だそうです。 うーん、力が入らない...

さっさと終わらせるのがいいとは思いつつ...


2007/5/13 Sun
手軽に高橋メソッドな PDF v2

テスト的に

な
ぜ
手軽なのか
をサポートしてみました。 行修飾子「L:, C:, R:」を入れてみました。 本当は「L:なぜ手軽なのか」とすると、勝手に「L」字のように折り曲げるといいかなと思ったんです。 でも、これだと折り曲げ位置を自動にするといまいちになりそうだったので「左よせ」「右よせ」をサポートしました。
L:な
L:ぜ
L:手軽なのか

これもテスト的なのですが、文字色と背景色のサポートです。

//c r,g,b r,g,b
で最初が文字色、次が背景色です。 背景色は省略可能です。 お遊びで
//c r,r,r r,r,r
と書くとランダムに色を作成します。 けっこういいかも(え

Ruby 1.9 ruby 1.9.0 (2007-05-12 patchlevel 0) [i686-linux]

スムーズに動いているのにタイムアウトになってしまうようです。

/t/lib/ruby/1.9/net/protocol.rb:135:in `sysread': execution expired (Timeout::Error)
	from /t/lib/ruby/1.9/net/protocol.rb:135:in `block in rbuf_fill'
	from /t/lib/ruby/1.9/timeout.rb:46:in `timeout'
	from /t/lib/ruby/1.9/timeout.rb:62:in `timeout'
	from /t/lib/ruby/1.9/net/protocol.rb:134:in `rbuf_fill'
	from /t/lib/ruby/1.9/net/protocol.rb:116:in `readuntil'
	from /t/lib/ruby/1.9/net/protocol.rb:126:in `readline'
	from /t/lib/ruby/1.9/net/pop.rb:963:in `recv_response'
	from /t/lib/ruby/1.9/net/pop.rb:959:in `get_response'
	 ... 6 levels...
	from /t/lib/ruby/1.9/net/pop.rb:634:in `each_mail'
	from /home/tetsu/bin/nif_pop.rb:95:in `block in 
' from /t/lib/ruby/1.9/net/pop.rb:508:in `start' from /home/tetsu/bin/nif_pop.rb:92:in `
'
あれれ?

ということで、ちょっとデバック用にメッセージを表示するようにしてみたり。 Timeout::timeout の戻値って、残り時間かと思ったらちょっと違ってたり? あ、そうかブロック内の値がそのままでてくるのか。

スムーズに受け取っていて、待ち時間などがあるわけではなく、落ちてしまいます。 データの欠損とかがあるわけではないのですが、さてなにが関係しているのかな?

サッカーくじのビッグ、1等出ず 繰越金約15億円に

「ラニーニャ現象」で猛暑・渇水の恐れ

明治の便器に観光客感嘆「トイレ目的」も 山梨・勝沼

中年男性もデコメール 急速に普及

光化学スモッグは中国発? 環境研・九大が推計

これ困ったことですよね。 日本海側など、本当は発生するはずがないのに...

コレステロール、ダイヤで測定 食肉成分分析で新手法

クールビズでもネクタイ復権? イオンが専用コーナー

反対です! ネクタイするだけで、首元から熱を発散できないのでかなり暑くなります。 夏場のネクタイなんかするから冷房を強くする人が多くでてきてしまいます。 絶対反対!!

日本IBMやソニー、女性登用すすめるNPOを設立


2007/5/14 ruby 1.9.0 (2007-05-14 patchlevel 0) [i686-linux] 12278
速報 風太の子どもも立った

2006/10/16 の情報ですが、写真がかわいいので。

5/12 の mixi の日記のキーワードランキング(5/14 の朝の付け)

  1. 誕生日 (736pt)
  2. 母の日 (407pt)
  3. トリビア (372pt)
  4. 電脳コイル (277pt)
  5. 伊東美咲 (269pt)

なんと「電脳コイル」が「伊東美咲」を越えてます。 えー

あ、後ろのほうのランキングをみたら「23 位 伊藤美咲 (131pt)」だそうです。 なーんだ

2007 JavaOneのトピック「JavaFX」とは何か

内部統制を前に見直せ!ワークフロー:第3回内部統制を実現するアプローチ

IRCの初心者向けガイド

【インタビュー】スクエアモードはブログ文化が生んだ〜リコー Caplio GX100開発陣に聞く

家電製品ミニレビュー 無印良品「デスクファン AT-DF09R3」〜デザインと使い勝手を両立させた簡易扇風機

めんどくさがり御用達の机上CDスタンド

スクリーンショット中のテキストを認識して貼り付け可能にしてくれる

SEって、質問に質問で返すよね?

現状把握ということなんですが、どうしてそういう質問しているか説明しながらならいいのにね。

Rubyを飲み込んでしまうJava

うーん、そんなに心配しなくてもいいような。 と、安心していてはいけないのかな。

Linux搭載ノートPCのバッテリを長持ちさせる「PowerTOP」が公開

光当てると瞬時に変形 分子結晶で微細機械の夢広がる

東大で女子高校生のための「サイエンスカフェ本郷」

赤外線での金星観測、おもしろそう。

Yahoo ニュース

以前はコンピュータ関係とかサイエンスやテクノロジー系のニュースを Yahoo ニュースでみていたのですが、分野が細分化されてみにくくなってしまいました。 大きなわくのほうがいいように思うのですが、世の中は違いそうですね。


2007/5/15 Tue
土星

西の空に明るく光っているのは土星だそうです。 kazu さんありがとー

国立天文台、国産天体シミュレーター「Mitaka」の正式版を公開

Ruby hotlinks 五月雨版

hotlink 最近確認していなかったー

日記だけではなくて Ruby のページも最近ちょっとがんばっているので、のせてもらえるようになるといいなぁ。 今日は テキストから高橋メソッドな PDF へ変換するスクリプト の bug fix してたりします。

ruby-ldap / 0.9.7 と Ruby 1.9

もともとは 0.9.5 用に作成したパッチですが、0.9.7 でもコンパイルできたので。 パッチのオプションはこんな感じですが、スペース関係の -l オプションも入れたほうがいいかも。

$ patch -s -b -p0 < ../ruby-ldap.patch
--- conn.c.org  2006-04-21 01:39:46.000000000 +0900
+++ conn.c      2007-05-15 12:31:28.000000000 +0900
@@ -210,10 +210,10 @@
   VALUE ary = rb_iv_get (self, "@args");
 
   if (rb_obj_is_kind_of (self, rb_cLDAP_SSLConn) == Qtrue)
-    return rb_ldap_sslconn_initialize (RARRAY (ary)->len, RARRAY (ary)->ptr,
+    return rb_ldap_sslconn_initialize (RARRAY_LEN(ary), RARRAY_PTR(ary),
                                       self);
   else
-    return rb_ldap_conn_initialize (RARRAY (ary)->len, RARRAY (ary)->ptr,
+    return rb_ldap_conn_initialize (RARRAY_LEN(ary), RARRAY_PTR(ary),
                                    self);
 }
 
@@ -847,18 +847,18 @@
          else
            Check_Type (attrs, T_ARRAY);
 
-         if (RARRAY (attrs)->len == 0)
+         if (RARRAY_LEN(attrs) == 0)
            {
              cattrs = NULL;
            }
          else
            {
-             cattrs = ALLOCA_N (char *, (RARRAY (attrs)->len + 1));
-             for (i = 0; i < RARRAY (attrs)->len; i++)
+             cattrs = ALLOCA_N (char *, (RARRAY_LEN(attrs) + 1));
+             for (i = 0; i < RARRAY_LEN(attrs); i++)
                {
-                 cattrs[i] = StringValueCStr (RARRAY (attrs)->ptr[i]);
+                 cattrs[i] = StringValueCStr (RARRAY_PTR(attrs)[i]);
                };
-             cattrs[RARRAY (attrs)->len] = NULL;
+             cattrs[RARRAY_LEN(attrs)] = NULL;
            }
        }
     case 3:
@@ -1180,18 +1180,18 @@
          else
            Check_Type (attrs, T_ARRAY);
 
-         if (RARRAY (attrs)->len == 0)
+         if (RARRAY_LEN(attrs) == 0)
            {
              cattrs = NULL;
            }
          else
            {
-             cattrs = ALLOCA_N (char *, (RARRAY (attrs)->len + 1));
-             for (i = 0; i < RARRAY (attrs)->len; i++)
+             cattrs = ALLOCA_N (char *, (RARRAY_LEN(attrs) + 1));
+             for (i = 0; i < RARRAY_LEN(attrs); i++)
                {
-                 cattrs[i] = StringValueCStr (RARRAY (attrs)->ptr[i]);
+                 cattrs[i] = StringValueCStr (RARRAY_PTR(attrs)[i]);
                };
-             cattrs[RARRAY (attrs)->len] = NULL;
+             cattrs[RARRAY_LEN(attrs)] = NULL;
            }
        }
     case 3:
@@ -1382,11 +1382,11 @@
 
   GET_LDAP_DATA (self, ldapdata);
   c_dn = StringValueCStr (dn);
-  c_attrs = ALLOCA_N (LDAPMod *, (RARRAY (attrs)->len + 1));
+  c_attrs = ALLOCA_N (LDAPMod *, (RARRAY_LEN(attrs) + 1));
 
-  for (i = 0; i < RARRAY (attrs)->len; i++)
+  for (i = 0; i < RARRAY_LEN(attrs); i++)
     {
-      VALUE mod = RARRAY (attrs)->ptr[i];
+      VALUE mod = RARRAY_PTR(attrs)[i];
       RB_LDAPMOD_DATA *moddata;
       Check_Kind (mod, rb_cLDAP_Mod);
       GET_LDAPMOD_DATA (mod, moddata);
@@ -1435,13 +1435,13 @@
 
   GET_LDAP_DATA (self, ldapdata);
   c_dn = StringValueCStr (dn);
-  c_attrs = ALLOCA_N (LDAPMod *, (RARRAY (attrs)->len + 1));
+  c_attrs = ALLOCA_N (LDAPMod *, (RARRAY_LEN(attrs) + 1));
   sctrls = rb_ldap_get_controls (serverctrls);
   cctrls = rb_ldap_get_controls (clientctrls);
 
-  for (i = 0; i < RARRAY (attrs)->len; i++)
+  for (i = 0; i < RARRAY_LEN(attrs); i++)
     {
-      VALUE mod = RARRAY (attrs)->ptr[i];
+      VALUE mod = RARRAY_PTR(attrs)[i];
       RB_LDAPMOD_DATA *moddata;
       Check_Kind (mod, rb_cLDAP_Mod);
       GET_LDAPMOD_DATA (mod, moddata);
@@ -1489,11 +1489,11 @@
 
   GET_LDAP_DATA (self, ldapdata);
   c_dn = StringValueCStr (dn);
-  c_attrs = ALLOC_N (LDAPMod *, RARRAY (attrs)->len + 1);
+  c_attrs = ALLOC_N (LDAPMod *, RARRAY_LEN(attrs) + 1);
 
-  for (i = 0; i < RARRAY (attrs)->len; i++)
+  for (i = 0; i < RARRAY_LEN(attrs); i++)
     {
-      VALUE mod = RARRAY (attrs)->ptr[i];
+      VALUE mod = RARRAY_PTR(attrs)[i];
       RB_LDAPMOD_DATA *moddata;
       Check_Kind (mod, rb_cLDAP_Mod);
       GET_LDAPMOD_DATA (mod, moddata);
@@ -1543,13 +1543,13 @@
 
   GET_LDAP_DATA (self, ldapdata);
   c_dn = StringValueCStr (dn);
-  c_attrs = ALLOC_N (LDAPMod *, RARRAY (attrs)->len + 1);
+  c_attrs = ALLOC_N (LDAPMod *, RARRAY_LEN(attrs) + 1);
   sctrls = rb_ldap_get_controls (serverctrls);
   cctrls = rb_ldap_get_controls (clientctrls);
 
-  for (i = 0; i < RARRAY (attrs)->len; i++)
+  for (i = 0; i < RARRAY_LEN(attrs); i++)
     {
-      VALUE mod = RARRAY (attrs)->ptr[i];
+      VALUE mod = RARRAY_PTR(attrs)[i];
       RB_LDAPMOD_DATA *moddata;
       Check_Kind (mod, rb_cLDAP_Mod);
       GET_LDAPMOD_DATA (mod, moddata);
@@ -1703,7 +1703,7 @@
   c_val = StringValueCStr (val);
 #endif
   bval.bv_val = StringValueCStr (val);
-  bval.bv_len = RSTRING (val)->len;
+  bval.bv_len = RSTRING_LEN(val);
   sctrls = rb_ldap_get_controls (serverctrls);
   cctrls = rb_ldap_get_controls (clientctrls);
 
--- entry.c.org 2005-03-15 19:15:32.000000000 +0900
+++ entry.c     2007-05-15 12:57:30.000000000 +0900
@@ -152,7 +152,7 @@
   Check_Type (attrs, T_ARRAY);
   rb_hash_aset (hash, rb_tainted_str_new2 ("dn"),
                rb_ary_new3 (1, rb_ldap_entry_get_dn (self)));
-  for (i = 0; i < RARRAY (attrs)->len; i++)
+  for (i = 0; i < RARRAY_LEN(attrs); i++)
     {
       attr = rb_ary_entry (attrs, i);
       vals = rb_ldap_entry_get_values (self, attr);
@@ -173,11 +173,18 @@
 {
   VALUE str;
   char *c;
+#if 1
+  char buf[2000];
 
   c = rb_obj_classname (self);
+  sprintf (buf, "#<%s:0x%lx\n", c, self);
+  str = rb_str_new2(buf);
+#else
+  c = rb_obj_classname (self);
   str = rb_str_new (0, strlen (c) + 10 + 16 + 1);      /* 10:tags 16:addr 1:nul */
-  sprintf (RSTRING (str)->ptr, "#<%s:0x%lx\n", c, self);
-  RSTRING (str)->len = strlen (RSTRING (str)->ptr);
+  sprintf (RSTRING_PTR(str), "#<%s:0x%lx\n", c, self);
+  RSTRING_LEN(str) = strlen (RSTRING_PTR(str));
+#endif
   rb_str_concat (str, rb_inspect (rb_ldap_entry_to_hash (self)));
   rb_str_cat2 (str, ">");
 
--- misc.c.org  2005-03-15 19:15:31.000000000 +0900
+++ misc.c      2007-05-15 12:49:37.000000000 +0900
@@ -53,11 +53,11 @@
   info->ldapai_protocol_version =
     FIX2INT (rb_struct_getmember (data, rb_intern ("protocol_version")));
   r_extensions = rb_struct_getmember (data, rb_intern ("extensions"));
-  len = RARRAY (r_extensions)->len;
+  len = RARRAY_LEN(r_extensions);
   c_extensions = ALLOCA_N (char *, len);
   for (i = 0; i <= len - 1; i++)
     {
-      VALUE str = RARRAY (r_extensions)->ptr[i];
+      VALUE str = RARRAY_PTR(r_extensions)[i];
       RB_LDAP_SET_STR (c_extensions[i], str);
     }
   info->ldapai_extensions = c_extensions;
@@ -160,7 +160,7 @@
   else
     {
       RB_LDAP_SET_STR (ctl->ldctl_value.bv_val, val);
-      ctl->ldctl_value.bv_len = RSTRING (val)->len;
+      ctl->ldctl_value.bv_len = RSTRING_LEN(val);
     }
 
   return val;
@@ -449,7 +449,7 @@
     return NULL;
 
   Check_Type (data, T_ARRAY);
-  len = RARRAY (data)->len;
+  len = RARRAY_LEN(data);
   ctls = ALLOC_N (LDAPControl *, len + 1);
   for (i = 0; i < len; i++)
     {
--- mod.c.org   2005-03-08 07:57:34.000000000 +0900
+++ mod.c       2007-05-15 12:56:59.000000000 +0900
@@ -153,15 +153,15 @@
 
   if (mod_op & LDAP_MOD_BVALUES)
     {
-      bvals = ALLOC_N (struct berval *, RARRAY (vals)->len + 1);
-      for (i = 0; i < RARRAY (vals)->len; i++)
+      bvals = ALLOC_N (struct berval *, RARRAY_LEN(vals) + 1);
+      for (i = 0; i < RARRAY_LEN(vals); i++)
        {
          VALUE str;
          struct berval *bval;
          str = RARRAY (vals)->ptr[i];
          Check_Type (str, T_STRING);
          bval = ALLOC_N (struct berval, 1);
-         bval->bv_len = RSTRING (str)->len;
+         bval->bv_len = RSTRING_LEN(str);
          RB_LDAP_SET_STR (bval->bv_val, str);
          bvals[i] = bval;
        }
@@ -170,8 +170,8 @@
     }
   else
     {
-      strvals = ALLOC_N (char *, RARRAY (vals)->len + 1);
-      for (i = 0; i < RARRAY (vals)->len; i++)
+      strvals = ALLOC_N (char *, RARRAY_LEN(vals) + 1);
+      for (i = 0; i < RARRAY_LEN(vals); i++)
        {
          VALUE str;
          char *sval;
@@ -275,10 +275,17 @@
   VALUE hash = rb_hash_new ();
   char *c;
 
+#if 1
+  char buf[2000];
+  c = rb_obj_classname (self);
+  sprintf (buf, "#<%s:0x%lx ", c, self);
+  str = rb_str_new2(buf);
+#else
   c = rb_obj_classname (self);
   str = rb_str_new (0, strlen (c) + 10 + 16 + 1);      /* 10:tags 16:addr 1:nul */
   sprintf (RSTRING (str)->ptr, "#<%s:0x%lx ", c, self);
   RSTRING (str)->len = strlen (RSTRING (str)->ptr);
+#endif
 
   switch (FIX2INT (rb_ldap_mod_op (self)) & ~LDAP_MOD_BVALUES)
     {
--- rbldap.h.org        2006-04-21 01:47:00.000000000 +0900
+++ rbldap.h    2007-05-15 12:52:09.000000000 +0900
@@ -36,8 +36,8 @@
 
 #define RB_LDAP_SET_STR(var,val) {\
    Check_Type(val, T_STRING); \
-   var = ALLOC_N(char, RSTRING(val)->len + 1); \
-   memcpy(var, RSTRING(val)->ptr, RSTRING(val)->len + 1); \
+   var = ALLOC_N(char, RSTRING_LEN(val) + 1); \
+   memcpy(var, RSTRING_PTR(val), RSTRING_LEN(val) + 1); \
 }
 
 #if defined(HAVE_LDAP_SEARCH_EXT_S)
--- saslconn.c.org      2006-02-14 02:20:32.000000000 +0900
+++ saslconn.c  2007-05-15 12:58:17.000000000 +0900
@@ -95,20 +95,20 @@
       dn = StringValuePtr (arg1);
       mechanism = StringValuePtr (arg2);
       cred->bv_val = StringValueCStr (arg3);
-      cred->bv_len = RSTRING (arg3)->len;
+      cred->bv_len = RSTRING_LEN(arg3);
       break;
     case 4:
       dn = StringValuePtr (arg1);
       mechanism = StringValuePtr (arg2);
       cred->bv_val = StringValueCStr (arg3);
-      cred->bv_len = RSTRING (arg3)->len;
+      cred->bv_len = RSTRING_LEN(arg3);
       serverctrls = rb_ldap_get_controls (arg4);
       break;
     case 5:
       dn = StringValuePtr (arg1);
       mechanism = StringValuePtr (arg2);
       cred->bv_val = StringValueCStr (arg3);
-      cred->bv_len = RSTRING (arg3)->len;
+      cred->bv_len = RSTRING_LEN(arg3);
       serverctrls = rb_ldap_get_controls (arg4);
       clientctrls = rb_ldap_get_controls (arg5);
       break;

Googleの補足インデックス地獄を抜け出す11の方法

油を使わず電子レンジで野菜チップスが作れる「チンしてチップス」

【新製品レビュー】パナソニック LUMIX DMC-FZ8


2007/5/16 Wed ruby 1.9.0 (2007-05-15 patchlevel 0) [i686-linux] 12283
[ruby-list:43514] Re: rubyのテキストについて

高校で生徒さんに Ruby を教えているという話。 いいですね。 私も教わりたい(おい

パナソニック「Leica D Summilux 25mm F1.4 ASPH.」交換レンズ実写ギャラリー

パナソニック LUMIX DMC-TZ3【第7回】手ブレ補正でトヨタ博物館を撮る

ウィルコム向けに「Amazon モバイル」オープン

公式メニューってどこだっけ?

ケータイカメラで広角撮影をするためのコンバージョンレンズ

やじうまミニレビュー 東プレ「ラクネス L14」〜浴槽のフタを交換してバスルームをリフレッシュ

グーグル文化の担い手S・サリバン氏の仕事

グーグル文化いいですね。

「サイトの10%にドライブバイダウンロードの危険性」--グーグル調査

63歳の世界的デザイナーが挑む、新しきウェブデザインの世界

Rubyとアジャイル開発のソフトウェア開発で提携--永和システムと応用通信研究所

Unicode悪用の不正トラフィック、ファイアウォール通過も

まつもとゆきひろのハッカーズライフ:第3回 ハッカーと仕事

眼をいたわるワタシに――「低反射デスクスタンド」

蛍光灯が直接目に入るようなオフィスなんですが、こういう考えかたを取り入れてほしい...

coLinux による仮想化

coLinux について、IBM の developerWorks の翻訳です。 IBM っていいですね、こういうの。

coLinux は、私にとって仕事を含めてとても強力なツールになっています。 WinXP 上に作成した coLinux の環境があれば、Linux のそのままのツールたちが動きますから。 これのおかげでずいぶん助かっています。

coLinux で使用している Linux は Vine Linux です。 4.1 と 3.2 です。 CPU というか core が二つある core 2 duo などの CPU がノート PC でも使えるようになったので、coLinux などを利用するのはとてもいいと思います。

WinXP が現在私のウィンドウマネージャのような感じになってしまっています。 ブラウザも WinXP 上だったりします。 以前は全部 Linux だったのですが、ちょっとしたことで動かないアプリや使えないファイル形式などがあって、いまの形に落ち着いています。 自宅でも会社でも、メインの作業用の Linux があったりするのですが、こちらには TeraTerm でアクセスしています。

Picasa v2.7.0 ビルド 36.40.0 07/05/10


2007/5/17 Thu ruby 1.9.0 (2007-05-17 patchlevel 0) [i686-linux] 12289
テキストで手軽に高橋メソッドな PDF へ変換するスクリプト

自分ではプレゼンの機会もなくて、あまり使わないかなと思ったら「ここにものを置かないでください」という張り紙に使えたり。 えーえーえー

「高橋メソッド」「ruby」をキーワードにぶらぶら。 高橋さんのプレゼンの評判、高橋メソッドの実際の効果についての検証、みなさんがあれこれ工夫していることなどが読めて楽しい時間です。 いやーいいなぁ。 私も人前で話せるといいんですが、とっても苦手なのでした。 ま、苦手苦手といっていてはいつまでも苦手なままなんですが、私の場合からだの反応がかなりきついので微妙なのでした。 こんな私でも「高橋メソッド」なら、なんとかなるツールなのでした。

「無理なソフト開発」は常態 技術者が生き残る鍵は交渉力 エドワード・ヨードン氏 『デスマーチ』著者・コンサルタント

楽しくソフトウェア開発ができるところっていいなぁ。 私ではお役に立てないかなと思いますが、そういうところの近くにでもいられたらいいなぁ。

Java プログラマのための Ruby 入門

ruby 1.9.0 と net/pop.rb でのエラー

ときたま発生するのですが、Linux で strace の結果 Thread 関係とシグナルあたりかも? ときたまなので starce がとれたのはまだ一回なのでなんとも。

ruby 1.9.0 (2007-05-15 patchlevel 0) [i686-linux] 12283
$ nif_pop.rb
0.000035
.........................../t/lib/ruby/1.9/net/protocol.rb:135:in `sysread': execution expired (Timeout::Error)
        from /t/lib/ruby/1.9/net/protocol.rb:135:in `block in rbuf_fill'
        from /t/lib/ruby/1.9/timeout.rb:46:in `timeout'
        from /t/lib/ruby/1.9/timeout.rb:62:in `timeout'
        from /t/lib/ruby/1.9/net/protocol.rb:134:in `rbuf_fill'
        from /t/lib/ruby/1.9/net/protocol.rb:116:in `readuntil'
        from /t/lib/ruby/1.9/net/protocol.rb:126:in `readline'
        from /t/lib/ruby/1.9/net/pop.rb:963:in `recv_response'
        from /t/lib/ruby/1.9/net/pop.rb:959:in `get_response'
         ... 6 levels...
        from /t/lib/ruby/1.9/net/pop.rb:634:in `each_mail'
        from /home/tetsu/bin/nif_pop.rb:95:in `block in <main>'
        from /t/lib/ruby/1.9/net/pop.rb:508:in `start'
        from /home/tetsu/bin/nif_pop.rb:92:in `<main>'

ruby 1.9.0 (2007-05-17 patchlevel 0) [i686-linux] 12289
$ nif_pop.rb
0.000035
.............../t/lib/ruby/1.9/net/protocol.rb:135:in `sysread': execution expired (Timeout::Error)
        from /t/lib/ruby/1.9/net/protocol.rb:135:in `block in rbuf_fill'
        from /t/lib/ruby/1.9/timeout.rb:46:in `timeout'
        from /t/lib/ruby/1.9/timeout.rb:62:in `timeout'
        from /t/lib/ruby/1.9/net/protocol.rb:134:in `rbuf_fill'
        from /t/lib/ruby/1.9/net/protocol.rb:116:in `readuntil'
        from /t/lib/ruby/1.9/net/protocol.rb:218:in `each_message_chunk'
        from /t/lib/ruby/1.9/net/pop.rb:921:in `block in retr'
        from /t/lib/ruby/1.9/net/pop.rb:979:in `critical'
        from /t/lib/ruby/1.9/net/pop.rb:6:in `retr'
        from /t/lib/ruby/1.9/net/pop.rb:775:in `pop'
        from /home/tetsu/bin/nif_pop.rb:100:in `block (2 levels) in <main>'
        from /t/lib/ruby/1.9/net/pop.rb:634:in `each'
        from /t/lib/ruby/1.9/net/pop.rb:634:in `each_mail'
        from /home/tetsu/bin/nif_pop.rb:95:in `block in <main>'
        from /t/lib/ruby/1.9/net/pop.rb:508:in `start'
        from /home/tetsu/bin/nif_pop.rb:92:in `<main>'
SIGVTALRM 関係かな? 正常時には SIGVTALRM ありませんでした。
24553 15:33:01.698976 --- SIGSTOP (Stopped (signal)) @ 0 (0) ---
24553 15:33:01.698999 modify_ldt(1, {entry_number:4, base_addr:0x40d74be0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, 16) = 0
24553 15:33:01.699054 getpid()          = 24553
24553 15:33:01.699097 rt_sigprocmask(SIG_SETMASK, ~[KILL SEGV STOP VTALRM RT_1], NULL, 8) = 0
24553 15:33:01.699159 sched_setscheduler(0x5fe9, 0, 0x40d74cf8) = 0
24553 15:33:01.699215 time(NULL)        = 1179210781
24553 15:33:01.699260 gettimeofday( <unfinished ...>
24510 15:33:01.699308 <... nanosleep resumed> {6, 1075730400}) = 0
24510 15:33:01.699342 nanosleep({0, 10000000},  <unfinished ...>
24553 15:33:01.699372 <... gettimeofday resumed> {1179210781, 699366}, NULL) = 0
24553 15:33:01.699405 time(NULL)        = 1179210781
24553 15:33:01.699447 sched_yield()     = 0
24508 15:33:01.700611 <... select resumed> ) = 1 (in [5])
24508 15:33:01.700744 rt_sigprocmask(SIG_SETMASK, NULL, ~[KILL SEGV STOP VTALRM RT_1], 8) = 0
24508 15:33:01.700812 rt_sigsuspend(~[KILL SEGV STOP VTALRM RTMIN RT_1] <unfinished ...>
24553 15:33:01.701033 kill(24508, SIGVTALRM <unfinished ...>
24508 15:33:01.701067 --- SIGVTALRM (Virtual timer expired) @ 0 (0) ---
24508 15:33:01.701096 <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call)
24508 15:33:01.701128 sigreturn()       = ? (mask now ~[KILL SEGV STOP VTALRM])
24508 15:33:01.701203 rt_sigsuspend(~[KILL SEGV STOP VTALRM RTMIN RT_1] <unfinished ...>
24553 15:33:01.701245 <... kill resumed> ) = 0
24553 15:33:01.701283 kill(24508, SIGRTMIN <unfinished ...>
24508 15:33:01.701308 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
24508 15:33:01.701330 <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call)
24508 15:33:01.701360 sigreturn()       = ? (mask now ~[KILL SEGV STOP VTALRM])
24508 15:33:01.701536 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
24508 15:33:01.701642 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
24508 15:33:01.701749 close(5)          = 0
ruby 1.9 で core

ちゃんとバックトレースできないのですが、core が。

$ rg.rb SIGVTALRM *.c
zsh: 29139 segmentation fault (core dumped)  rg.rb SIGVTALRM *.c

(gdb) bt
#0  0x0805e8af in ruby_xmalloc (size=48) at gc.c:238
238	    RUBY_CRITICAL(mem = malloc(size));
$ rg.rb yyvsp *.c
zsh: 29201 segmentation fault (core dumped)  rg.rb yyvsp *.c

#0  0x08092114 in match_at (reg=Cannot access memory at address 0xbf800940) at regexec.c:1458
1458	  STACK_PUSH_ENSURED(STK_ALT, FinishCode);  /* bottom stack */

デバックオプション付でコンパイルしてしばらく様子をみるかな。 あとで単純な再現コードがかけるか確認してみいと。 ファイル一つだと core しないので、ファイルを大量に扱ったようなときに起きるみたいです。

ヨドバシカメラ吉祥寺店、6月下旬開店に向け工事進む

6 月下旬なんですか。 また人が増えそう。

VAIO type Tファーストインプレッション

ソニー、VAIO 10周年記念モデル「type T」〜カスタマイズで32GBフラッシュも搭載可能

リコー Caplio GX100【第1回】私にこの「ナイフ」は必要だろうか?

BGM付きスライドショーが可能な「Zorg デジタルフォトフレーム」

複数画像をレイアウトして大きな1枚に「Panelize.exe」連結や入れ替えも簡単、サイズを変えて組み合わせられる

家電製品ミニレビュー 無印良品「KJ-R071」〜2,500円のシンプルなサーキュレーター

10年の歴史がはぐくんだ極上の「持つ喜び」――「VAIO“New”type T」

ルータ2000台が3秒でダウン 「フレッツ」「ひかり電話」大規模障害

Vista Aeroによる電力消費増はごくわずか――MSが反論

CPU がその瞬間は回りますよね。 ノート PC とかだと数字でみえると思うけれど、違うのかな?

約22.5mmのVAIO type T 10周年記念モデルも登場--ソニー夏モデル4製品発表

グーグル、「ユニバーサル検索」モデルに対応した新デザインのサイトを披露

肩こりや腕の疲れを軽減--MS、人間工学デザインのマウスに関する実験結果を発表

肩凝りする人は、肩の筋肉の緊張が普段から継続するような姿勢などになっていると思うのです。 PC などを使うときに、手は重要な入力のためのインターフェースですが、手の重さが肩にかかっていませんか?

緊張して肩が自然に上がってしまっている人とかいるようです。 電子レンジで温める肩の上にのせるタイプのものや、温熱シップなどを使ってみるといいかも。 あと、肩の力を抜けるような姿勢で作業できるといいですね。


2007/5/18 Fri ruby 1.9.0 (2007-05-18 patchlevel 0) [i686-linux] 12293
ruby 1.9 rg.rb で core

(gdb) run /tmp/j.rb *.c *.h */*.c
Starting program: /t/src/ruby/1.9/head/ruby-1.9.0 /tmp/j.rb *.c *.h */*.c

Program received signal SIG32, Real-time event 32.
0x4002a1d4 in pthread_getconcurrency () from /lib/i686/libpthread.so.0
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x080a890c in tr_setup_table (str=0, table=0xbf800170 '\001' <repeats 200 times>..., init=1) at string.c:3160
3160            buf[c & 0xff] = !cflag;
(gdb) bt
#0  0x080a890c in tr_setup_table (str=0, table=0xbf800170 '\001' <repeats 200 times>..., init=1) at string.c:3160
#1  0x080a8d6b in rb_str_count (argc=1, argv=0x40309024, str=1080892360) at string.c:3384
#2  0x080bd325 in call_cfunc (func=0x80a8d06 <rb_str_count>, recv=1080892360, len=0, argc=1, argv=0x406d1bbc) at call_cfunc.ci:36
#3  0x080bb4a4 in th_eval (th=0x814fef0, initial=0) at insns.def:1279
#4  0x080bcc76 in th_eval_body (th=0x814fef0) at vm.c:1620
#5  0x080bd15f in rb_thread_eval (th=0x814fef0, iseqval=1076863380) at vm.c:1826
#6  0x080be51d in yarvcore_eval_iseq (iseq=1076863380) at yarvcore.c:97
#7  0x080be5ba in yarvcore_eval_parsed (node=0x402fa1d0, file=1076863420) at yarvcore.c:129
#8  0x08059057 in ruby_exec_internal () at eval.c:210
#9  0x08059087 in ruby_exec () at eval.c:223
#10 0x080590bd in ruby_run () at eval.c:242
#11 0x08056abd in main () at main.c:47
#12 0x400d9c1f in __libc_start_main () from /lib/i686/libc.so.6
(gdb)

[ruby-dev:30791] 1.9 coredump

おしらせメール。

コトノハ○×

暇なときにちょっとしてみたり。 私の性格では「○」といい難いタイプなのか「×」が多いです。 質問そのものとの相性ともいえるんですけど。

「暗黒物質の輪」とらえた NASAなど発表

写真あり。 こういうの写真必要ですよね。

エスケイネット、ワンセグ/デジタルラジオ搭載USBチューナ〜Windows XP/Vista対応、受信感度を向上

デジタルラジオが気になります。

オリンパス CAMEDIA SP-550UZ【第5回】もっと遠くを、天体を

ズームで星を撮るのはありかも?

リンク集 便利ツールで仕事は効率よく! ビジネスお役立ちサイトリンク集

第二十景:マルチディスプレイに超小型アイコンの「アンバランスな」デスクトップ 山口真弘

やじうまミニレビュー コールマンのLEDランタン3製品

LED 照明がほしいのでした。 読書灯がまくら元にあればいいなぁ。 乾電池だとランニングコストがよくないので、なにかいいものないかな。

HP、そしてシリコンバレー発祥の地、米国の「史跡」に指定

むかしの HP Way はよかったなぁ。

NY警察、Segwayを採用

いいなぁ。

IrSimple対応の昇華型フォトプリンタ――キヤノン「SELPHY CP750」

個人で買うプリンタは CANON だなぁ。 なぜでしょ?

荻窪圭の携帯カメラでこう遊べ:“快適”だからこそもっとがんばろうよ、カメラを─「EM・ONE」

「ウイルスに感染しませんか」広告に多数のクリック「PCをウイルス感染させるにはここをクリック」 GoogleのAdwordsでこんな広告を掲載したところ、400人以上がクリックしたという

よく読んでいない人と、わかっていて試した人の数がわかるといいんですが、無理ですしね。

SNMPとv3セキュリティ

使っているネットワーク接続のプリンタとか調べてみると紙切れとかトナー不足とか SNMP でわかるかも? うちの会社のプリンタはわかるんですが、私の真横にプリンタがあるので微妙。 ステータス確認にいいのは、表示されている LED のメッセージをそのまま持ってくるのがプリンタの状態がわかりやすくていいです。 私は Ruby から SNMP でアクセスして情報を持ってきています。

監視社会とネット利用の変化

地球温暖化。 チームマイナス 6% に参加しているうちの会社は、「これでいいの?」と思うことがあったり。 いまの自分がよければ系にみえるんですが。 役員会議でどう決定したか、ちゃんとした正式見解を聞きたいものです。 自分の子供たちが困ることになるとか考えないの?

スーツにネクタイという変な商習慣ができたのは、エアコンがでてきたから? むかしは開襟シャツになんとか帽子だったように思うのですが。 扇子片手に。 こういう日本らしい姿に戻ってもなにも問題ないでしょう。 都心部の気温から考えたら「アロハ」で十分に思います。 いまなにをすべきか、どうして硬直しちゃった人たちはわからないのでしょうね(硬直しているからだけど

ベンダー発はもう古い!? 大手の支援で勢いづくコミュニティーによる開発

日本でもこういうオープンなやりかたが盛んな会社ってどの辺かな? 積極的なところって、まつもとさんの会社( ネットワーク応用研究所 )くらいしか思いつかないです。 あ SRA とかもあるかな。

百式さん 写真をアップすると似ている有名人を教えてくれる

日本受けすると思うので、日本の有名人も入れてほしいな。

町工場衛星「まいど1号」来夏に宇宙へ行きまっせ

うまくいきますように

[ruby-dev:30770] 1.9 net/smtp.rb cram_md5

以前にだしたおしらせメール。 メモ

日本のIT投資への意識は世界最下位、ガートナー調べ

これいままでの IT 投資が失敗しているとかが理由だったりすると微妙だったり。 有効にコンピュータを使えていないということですよね。 MS-PowerPoint、MS-Excel、MS-Word、Outlook だけを使っているパターンが多いのかな? もっと自分のビジネスをバックアップ、パワーアップしてくれることにコンピュータを使えばいいのですが。 自分のためのにサービスしてくれるシステムがほしいですよね。 チームで作業しているなら自分たちのためにサービスしてくれるシステムがほしいですよね。

まるで酔っぱらい!? 物理演算で動く3D相撲ゲーム「SUMOTORI DREAMS」

スキンが豊富なアナログ時計「すっきんやねん!」

数々の工夫が光るRPG「呪いの海に願いを」快適さとやり込み要素、そして力の入った演出を見よ!

特集 PHP

PukiWiki のユーザ程度で、実際には書きませんけどメモ。

山田祥平のRe:config.sys 【WinHEC編】ビル・ゲイツの後ろ髪を引くもう1つのPC

「あと、何回、ビル・ゲイツのスピーチを聞けるのか」だそうです。

toto、史上最高の売り上げを記録

「看護師やめたい」44% 国立大病院職員組合が調査

どういう職場でもですが、働く人をちゃんとフォローする仕組みがすくないですよね。 コストカットとかきつくなる話ばかり。 看護士(師)さんは技能職なので高給でもいいのに、きつい話を聞きます。 これでは安心して病気にもなれないというか。 世の中間違っている方向にたくさん進んでいるように思うのですが、これってだれのためにそうなっているのでしょう?

「昭和を駆けた路面電車」、ペットボトル飲料のおまけで登場

公道の上に動物の橋 「効果あれば全国へ」

効果あるといいですね。

内部統制を前に見直せ! ワークフロー:第4回「3点セット」の作成と整合

Linuxのパフォーマンスを向上させる秘密の方法

ものを作ってハッカーはゆく――まつもとゆきひろ

作って作って作って!

ハッカーという称号をもらうには、ある程度の規模というか普通ならすぐにはできないようなことや、すばらしいアイディアがあったりしますよね。 私は自分が「こういうのがあればいいな」系ですが、ハッカーの人たちも最初は同じかな。 こういうのがあればいいなと思ったら、実現方法を考えてみるといいなと思います。 プログラムを作れるということは、実現できる可能性があるということですから。

次期Debianプロジェクトリーダー、アンソニー・タウンズ氏に聞く

開発者のお互いの信頼関係を作るのには時間がかかるから、信頼されるための資格テストを導入? うーむ、どこかの会社みたいな。 マネジメントとか考えるとこうなってしまうのかなぁ。

「CVSの言い訳」と途方にくれるユーザー

タイトル短くしすぎ...

Red Hatのマーク・コックス氏、セキュリティについて語る

オープンソース開発者を雇う前に解決すべき課題


2007/5/19 Sat ruby 1.9.0 (2007-05-19 patchlevel 0) [i686-linux] 12302
年金増える可能性 社保庁、受給者に確認呼びかけ

確認したほうがよさそう。

コミュニティへの参加は、好きだからこそ続けられる

まつもとさんの日記から。 たしかにそうですよね。 私なんか仕事でも嫌なことは嫌だし(おい

「本家Rubyより速い」、JRuby開発者に聞く

これもまつもとさんの日記から。 作っている人が「JRuby を作る仕事が楽しい」とコメント。 これがなによりですね。

[ruby-dev:30791] 1.9 coredump

レポートの時に書いた再現スクリプト。 これで大量のファイルを検索すると core してしまうのでした。 で、このスクリプトの各行それぞれ一行でもないと起きない...

#! /usr/local/bin/ruby

require 'nkf'

while gets("\n")
  l = $_
  break if l.count("\n") > 1
  l = NKF.nkf('-Se', l)
  if l =~ /SIGV/
  end
end
落ちる場所がちょっとはっきりしないので、タイミング系? (pthread 系かな) 最新のカーネルとか最新の glibc なら落ちないかも? 手元は Vine Linux の 3.2 と 4.1 だし。 うむむ

指の使いすぎ

昨日はキーボード使いすぎで、左手の指が微妙。 休まないとね。

自動音声翻訳は20年までに実現 科技会議が行程表

青ガエル見つけた! 北上市和賀町

漢字バナー(花文字) kbanner.rb

「文字」を使ったロゴ 「 WATA 32x32 GIF 」 の大きい version を作成しようとして、kbanner.rb の bug に気が付いたので修正。 フォントサイズ 200 まで動いていて、それより大きいと CPU が 100% 状態になってしまったのでした。

文字のもとデータを kbanner.rb で作成して、その後 ppm へ変換するスクリプトがあり ppmtojpeg などで変換しています。 鏡文字で寝転がっている(90 度回転)とか自作の kbanner.rb でしていたりします。 もともとの VFlib2 でもサポートしている機能を Ruby で書いていたりするところがなんともなんですが。

kbanner.rb は、こんな感じに漢字のバナー(花文字)を出力するコマンドです。

$ kbanner.rb -32 -f uzura 'うずら'
                                                                                                
                                                                                                
                                                                                                
             *                                          **  **                                  
            ***                                   **    **  **                                  
             ***                                  **    **  **             ***                  
             ***                                  **    **  **             ****                 
              **                                  **     *  **              *****               
              ***                                 **                          ****              
              ***                    ********************                       ***             
               *                     ********************                        *              
          ********                                **                     **                     
        ************                              **                     **                     
         **      ****                             **                     **                     
                   ***                         ** **                     **                     
                   ***                       *******                     **                     
                    **                      ********                     **                     
                    ***                    ****   **                     **                     
                    ***                    ***     *                     ** ********            
                    ***                    ***    ***                    *************          
                    **                     ***    ***                    *****     ***          
                    **                     **** *****                    **         ***         
                   ***                      *********                                **         
                  ***                         **  ***                                **         
                ****                              ***                                **         
               ****                               **                                 **         
              ****                                **                                ***         
              **                                  **                               ***          
                                                  **                                *           
                                                                                                
                                                                                                
                                                                                                
Unix には banner コマンドというものがあってターミナルやプリンタなどで大きく文字を表示するために使われていました。 印刷字に一枚目の紙にログイン名を出力したりしていたものです。

現在はあまり利用価値がないかもしれないのですが、私の場合は文字でロゴを作るときに使っていたりします。 新しい TrueType フォントをみつけたときの確認とか。

文字ロゴを作るだけなら GD ライブラリのほうがよさそうですね。 Ruby の場合 GD 拡張ライブラリがいくつかでています。

『顔ちぇき 〜誰に似てる?〜』

空腹

食欲あるなぁ。 というか、いま昼ですが朝早く起きてなにも食べてなければ、お腹減りますよね。 さて、どうしたものか。 テレビとかみていると美味しそうなものがでてきて刺激が強いので困った感じ。 食べにいくには時間が早いしなぁ。 まだまだ混雑していそうだし。 むぅ

晴れ間

てくてく歩いて昼食というか夕食。 そらがちょっときれいになったり曇ったり。 デジカメでたくさん写真を撮ったり。 本も買ってきたり。 Rubyクックブック ―エキスパートのための応用レシピ集 なんですが、原書より分量がすくないそうですね。 でもおもしろそう。


2007/5/20 Sun
漢字バナー(花文字) kbanner.rb

320x320 の文字サイズまで拡張。 文字の鏡文字とか回転を VFlib2 を使うのではなくて Ruby で実施していたりするんですが、ぜんぜん重くないようなのでサイズアップしてしまいました。 VFlib2 側でできることを Ruby で書いているような気がするんですが...

マニュアルを読んでみたら VFlib2 レベルでは無理そうです。 できたのは VFlib3 だったかな?

バナー目的だけでは 320x320 は不要なんですが、でっかい文字を使いたいときがあるので。

Ruby hotlinks 五月雨版

わぉ、hotline に Ruby の項目で。 感激!

あれこれ系は、ネットワークの基本的なスクリプトなども入れたいと思いつつ、Ruby on Rails も自分のために試してみたいし。 coLinux の環境整備がちゃんとできたら開始しようと思っているのですが、Emacs あたりで止まっていたり。 coLinux 上での Ruby 1.9 の確認はかなり助かっています。

自分のための道具のページも別に作っておかないと。 作業用の道具って大切ですよね。 Ruby に Emacs に Z shell に Vine Linux に coLinux に TeraTerm に FileZilla に Sleipnir に weirdx に iTunes かも。

読みたい本、最近買いはじめたのですが未消化になりそうな予感。 私ってばコンピュータを触りはじめると止まらないので、なかなか。 読むことの多くがコンピュータの上だったりするのでした。 買った本の内容について、オンラインで読めるような仕組みとかあるといいなぁ。 コピーガードとかある程度必要とは思いますが、なにかいい方法はないものかな。 Ruby 本も Ruby on Rails を含めて今年になってたくさん買っているのでした。 買うだけじゃだめだよねー

文庫本サイズの読書端末「Words Gear」発表
文庫本サイズの読書端末「Words Gear」に、PDF閲覧ソフト

発表はちょっと前のですが PDF が閲覧できるようになるみたです。 PDF の閲覧なら PDA でもできるような?

重さもそこそこあるので、文庫本のような手軽さがあればいいのですが。 値段も文庫本 100 冊くらい買えそうだし。 バッテリーが切れるとなにもできなくなってしまいますよね。 文庫の手軽さを考えると微妙な感じ。 すごくきれいに音読してくれたりしたらいいんですけど。

携帯電話にどれだけ期待していいかわかりませんけど、携帯電話で小説を読んでいる人もそれなりにいるようです。 私は、文字だけの文庫のようなものなら、携帯の画面で十分かなと思ったりします。 ちょっと挿絵が入るくらいなら携帯電話でも対応できますね。

技術書を含めて、手軽に携帯できるような仕組みができるといいなと思います。 技術書市場はそんなに大きくないのか、あまり「携帯端末で」という話は聞かないです。 個人的な希望は、携帯電話に A5 サイズのフイルムディスプレイを装着してとかあるといいなぁ。 もうそろそろできそうな気がするんですが、なかなかでてこないですね。

スタックオーバーフローのハンドリング(Stack Overflow Handling)
[ruby-dev:30791] 1.9 coredump

どうもこれがあたりっぽい。 スタックサイズを倍にしたら回避しました。 扱うファイル量で core するようなのですが、core する場合はスタックサイズを増やすことで回避できるようです。 私がテストした範囲で Ruby のトップディレクトリの「*.c」で core したときにスタックサイズは 8192 でした。 これを倍にすると回避しました。 扱うファイルを「*.c, *.h, */*.c」とすると三倍の 24576 で OK でした。

ということでおしらせメール。 [ruby-dev:30794] Re: 1.9 coredump です。

ビルドアップ、世界一お酢にくわしい“お酢専用ロボット”を開発

/.jp ネタ。 かっこいいですね。 デザインがすばらしいな。

iTunes への希望

アンケートで希望しておいたのですが、「星の数」に種別を導入したいです。 静かな曲、熱い曲、ぐっとくる曲、それぞれ星の数が「五」でも分けて聴きたいことがあります。 色でもいいんですが、なにか分ける方法を導入してくれないかな。 青系が静かな曲で、赤系が熱い曲とか。

ランダム再生が多いのですが、まだ再生回数が 0 のものがそこそこあったり。 買ったばかりの CD は、それだけ再生することもあるんですが、古い CD を入れてすぐランダム再生してしまうこともあって。

ほのぼの系と熱くなれる曲を増やしたいです。 いい CD ないかなぁ。

彗星の内部構造初めて解明 原始太陽系の物質残る

宇宙のファッション、ここが違う

無重力状態のときの「ひらひら感」も考慮して作られているそうです。 ほえー

学生科学フェア 日本人4人入賞 米国で開催

すごいですね。

「ウェブは星、フィードは光」--小川浩プロデュースのRSS生成サービス「MODIPHI」

うーん

オープンソース開発支援ツールの利用は4割--日経SYSTEMSの調査で明らかに

独自開発したツールのなかにオープンソースな 軽量プログラミング言語 - Wikipedia LL (Lightweight Language) を使っているものも含まれているのかな?

ちょっとした自動実行系やソースコードの確認等にかなり LL が使われそうな気がするんですが、気がするだけ?

RubyでTwitterしちゃおう - Twitter4R登場

Twitter 系って共同開発やプロジェクト系にも応用できますよね。 仕事系は、あんまりやりすぎるとなんですが。 うまく回るとおもしろいかも。

小さなチーム(三人から五人くらい)での作業がいいなと思うのですが、いつも気心がしれたメンバーで動けるような形で仕事をこなす感じ。 このときにもこういうツールよさそうですよね。 うまく回るチームが構築できればですけど。

もしも自分が超人ロックだったら

mixi ネタなんですが、自分だったら「空を飛ぶ」かな。 たぶんロックなら瞬間移動なんでしょうけど、ある程度の高度で空を自由に飛んでみたいです。 下手に音速を越えちゃうと衝撃波が発生して危ないみたいですけど。

超人ロック、新刊とか復刊とかいろいろでているのですが、どれを読んでいてどれを読んでいないのか不明で買えていません。 好きなんですけど、どうしたものか。 私の場合しばらくすれば二度目に読んだとしても十分楽しめるはずなので、そのうち買おうかなと。

昼間の星

デジカメのズームで空や雲を撮っていたら、「白い点」が写りました。 どうも昼間の星らしいです。 これ四月の下旬のことなのです。 それ以来、空をついついズームで撮ってしまっています。 写ったのは二日だけなんですけど。 また偶然写らないかな。 肉眼ではみえないのでした。

青い空

今日は地平線近くもきれいな空。 雨の後、風もそこそこあるし、とてもいい感じです。 夏用のワイシャツは風通しがよくて気持よかったです。

こういう空をみていると、ベランダとかでぼーっと一日空を見上げることができたらいいなぁとか思ったりします。 私の部屋からは空がほとんどみえないので、引っ越すしかないのですが。 いいなぁ。 青い空。

財布の中身

昨日 Rubyクックブック ―エキスパートのための応用レシピ集 を買ったときに残金がすくないなと思っていたんですが、すっかり忘れて食事へ。 千円札が二枚あったので助かったのですが、これでお札がなくなりました。 鯛のお刺身定食なんて食べちゃったから。 帰り道、「明日の朝? 昼? の食事のときに気をつけないと」と考えたり。 また忘れてしまいそう...

寝て起きて

体が重くてとってもだるい状態。 どこか変だなぁ。


2007/5/21 Mon ruby 1.9.0 (2007-05-21 patchlevel 0) [i686-linux] 12304
RubyによるビルドツールRakeの覚え書き

(Java+Derby)* Ruby on Rails プログラミング

朝、寒い寒い

ちょいびっくり体が変です。 室温的にはそんなに低くないかも? 腎臓とか肝臓とかちゃんとみてもらったほうがいいかも。 相談はしたことあるんですけどね。

“ハッカー大国”露政府、IT国エストニアにサイバー攻撃か

クラッカーって書けばいいのに。 もうメディアはだめだめ?

高層マンション 今後3年間で続々完成 07年以降522棟

高層階って窓開けられないんですよね? 開いたらすごいかも。 風が強いので夏はよさそうな気がするんですが、冬は寒そう。 あと、エレベータに乗らないといけないので大変そう。 人数が多くなるしエレベータ苦手な私には無理かなぁ。 お金ないですけどね。 ベランダとかあるのかわかりませんが、見晴らしはよさそうなので、空ながめていたいな。

「手つなぎラッコ」の動画、2ヶ月で604万アクセス

やじうま watch でも紹介されていたあれですね。 すっごくいい感じなんですよ。

非常に強い台風2号、沖ノ鳥島近海を北東に進む

中心気圧が 935 だそうです。 すごい

男性長寿、日本2位に 女性は1位、WHO統計

男性の平均寿命なんですが、社会の歪みとか関係ないかな?

交通事故遺族の会が総会、ドライブレコーダーの普及目指す

ドライブレコーダーのような、確立した技術は義務化してもいいと思うのです。 事故を起こしたほうよりも被害者側が圧倒的に不利な立場になってしまう現状を、なんとかしてほしいです。

トレーニングサポート

技術系トレーニングで聴覚で困っている方のサポートを社内で求めていたりします。 「発言を文字にする」というのがサポートする側の対応です。 昨年からあったりするのですが、私も参加したいと思いつつ、参加できないでいます。 手書きは私には無理なんですが、キーボード入力での場合 Emacs と Egg/Wnn にとても依存しているために普通の PC などでは文字入力遅いのです。 オンラインゲームでもそうなんですが、普通の状態ではキーボード入力が遅くて困った感じ。 Emacs にキー操作をそのまま使える Win 系漢字入力とエディタ系のアプリケーションがもっとあればなぁ。 いまなら coLinux 上で Emacs を動かせば対応できるかもしれないなと思ったりするんですが。

天才ギタリストのスピリッツを伝える「ZO-3 Little Wingモデル」

ギターほしいな。 ショートスケールは久しぶりに弾くにはいいかも。

LED照明器具を階段に取り付ける〜暗い階段をLEDで明るく

図解で知るSNMP――MIB情報のすべて

Art.Lebedev、フル有機LEDキーボード「Optimus Maximus」の予約を開始

たかーい、けどかっこいー

キヤノンMJ、「セグウェイ」の販売を開始 〜日本SGIとの提携関係強化

ああ、セグウェイが必要な「お庭」がほしいー

広角24mmのオールマイティなコンパクトデジカメ「Caplio GX100」

PHP開発はじめの一歩 第1回:PHPの基礎とインストール

PHP の総力特集だそうです。

“スカウター”デザインの新型眼鏡ディスプレイで通勤を天国に

まだまだ高いですね。

デファクトスタンダードからオープンスタンダードへ、OSSの世界を広げるのは“人材”だ--日本IBM

人ですよね。 その人とうまくやっていけるかどうか。

ネットワークとは? プロトコルとは??--ネットワークのイロハ(1)

わかりやすいかな?


2007/5/22 Tue ruby 1.9.0 (2007-05-22 patchlevel 0) [i686-linux] 12305
アイデンティティはオープンソースプログラマ かずひこ

かずひこさんすごいですね。 がんばってくださーい (^-^)/

仕事関係

なかなか流れないうちに期日がきそう。 途中で参加する私のフォローをする人が必要になるわけで、お手伝いを必要とする側が依頼するときにはそれなりの覚悟が必要なんですが、大丈夫かな? とりあえず私は状況把握をしたいのですが、なかなか難しいです。 どうしようかな。 相手側が要求想定していたタイプとは違うが現われて、放置状態かなぁ? システムの「待ち」部分を早く明示して手を打ちたいのですが。

深海の貝、シマイシロウリガイは細菌を「家畜化」

もう「死にかけ」ではない――ネット効果で復興する着物

着物素敵ですよね。 職人さんの技ってすごいです。

社内 SNS 導入率は9.4%、社内 Blog は4.4%

うちの会社も社内 Blog できました。 私はこの前自分を「五流エンジニア」なんて書いたんですが、某氏が一流エンジニアという話題を書いていたので、書いちゃったり。 ま、私の年齢と給与の額をみれば、五流くらいかもとかあとで気が付いてちょっと微妙。

私は一部にとんがっていますが、会社が求めるようななんでもできるエンジニアではありません。 とんがっている一部については、私は惜しむことなく情報を公開しながら作業しているつもりなのですが、なかなか。 いまの上司に拾われて、ようやくなんとかという感じ。 うちの部署は PukiWiki を使っているし、メールもメーリングリストを活用しているし、いいです。 もっと活用できる余地はあるとは思いますが、きつきつなのもめんどうですしね。

朝の気温のためか、寝覚めが微妙。 体が重いのは肝臓とか腎臓かなと気になったり。 近く人間ドックなので、確認してもらえるとは思うけど、昨年と変わらない気もするなぁ。 そういえば、オデコのあたりがヒヤリとする感覚が昨日からときどき起きたり。 神経系統が誤送信? 脳硬塞とかだったりして?

三洋電機「USB専用充電器セット N-MDU01S」 〜エネループをUSBから充電

即活用!PHPリンク集

ThinkIT が PHP に力を入れているみたいですが、今後ほかのものもあれこれしてほしいところです。

オープンソース化に満足?――Javaの父ゴスリング氏に聞く(後編)

オープンソース化に満足?――Javaの父ゴスリング氏に聞く(前編)

入隊

私の会社でも入隊している人がたくさんいるみたい。 みなさん若いなぁ。

雲が流れる「Second Life」実現へ――Lindenが画像技術を獲得

[ruby-dev:30806] ruby 1.9 RSTRING_LEN HP-UX arg0

HP-UX の arg0 系パッチ。 1.9 系は文字列の長さがマクロ扱いで代入できないためのもの。

--- ruby.c.org  2007-05-18 20:26:09 +0900
+++ ruby.c      2007-05-22 16:17:32 +0900
@@ -1092,18 +1092,18 @@
     s = RSTRING_PTR(val);
     i = RSTRING_LEN(val);
 #if defined(PSTAT_SETCMD)
-    if (i >= PST_CLEN) {
-       union pstun j;
-       j.pst_command = s;
-       i = PST_CLEN;
-       RSTRING_LEN(val) = i;
-       *(s + i) = '\0';
-       pstat(PSTAT_SETCMD, j, PST_CLEN, 0, 0);
+    if (i > PST_CLEN) {
+       union pstun un;
+       char buf[PST_CLEN + 1]; /* PST_CLEN is 64 (HP-UX 11.23) */
+       strncpy(buf, s, PST_CLEN);
+       buf[PST_CLEN] = '\0';
+       un.pst_command = buf;
+       pstat(PSTAT_SETCMD, un, PST_CLEN, 0, 0);
     }
     else {
-       union pstun j;
-       j.pst_command = s;
-       pstat(PSTAT_SETCMD, j, i, 0, 0);
+       union pstun un;
+       un.pst_command = s;
+       pstat(PSTAT_SETCMD, un, i, 0, 0);
     }
     rb_progname = rb_tainted_str_new(s, i);
 #elif defined(HAVE_SETPROCTITLE)
「j」という名前が気になっていたのでついでに変更です。

パッチ採用ありがとうございます。

HP-UX 11.23 ia64 は miniruby でこける...

「TeX」の利用環境を自動でダウンロード・インストール「TeXインストーラ3」

私は TeX するなら Vine Linux ですが、TeX 目的だけならこういうのもありですね。 私の場合 make コマンドも使いたいし Emacs も必要だしあれこれ考えると Vine Linux がいいなぁ。

スタックオーバーフローのハンドリング(Stack Overflow Handling)
[ruby-dev:30791] 1.9 coredump

core 関連。 gdb 中で実行するだけスタックとレースがとれるのは pthread しているから? この手前で SIG32 なんどかプロセスは止まるので continue してます。

Program received signal SIGSEGV, Segmentation fault.
0x08059dda in rb_yield_values (n=2) at eval.c:940
940         val = rb_ary_new2(n);
(gdb) bt
#0  0x08059dda in rb_yield_values (n=2) at eval.c:940
#1  0x080c47f3 in sort_1 (ap=0x8180704, bp=0x8180704, data=0xbf0001d0) at array.c:1496
#2  0x080b113e in ruby_qsort (base=0x81806f0, nel=11, size=4, cmp=0x80c47d8 <sort_1>, d=0xbf0001d0) at util.c:516
#3  0x080c4970 in sort_i (ary=1102095300) at array.c:1534
#4  0x0805a416 in rb_ensure (b_proc=0x80c4932 <sort_i>, data1=1102095300, e_proc=0x80c4977 <sort_unlock>, data2=1102095300) at eval.c:1191
#5  0x080c49f3 in rb_ary_sort_bang (ary=1102095300) at array.c:1569
#6  0x080c4a16 in rb_ary_sort (ary=1102095300) at array.c:1594
#7  0x080bd53b in call_cfunc (func=0x80c49fd <rb_ary_sort>, recv=1102095320, len=0, argc=0, argv=0x4) at call_cfunc.ci:36
#8  0x080bb5f6 in th_eval (th=0x81510f8, initial=0) at insns.def:1279
#9  0x080bce8c in th_eval_body (th=0x81510f8) at vm.c:1622
#10 0x080bd375 in rb_thread_eval (th=0x81510f8, iseqval=1076837900) at vm.c:1828
#11 0x080be735 in yarvcore_eval_iseq (iseq=1076837900) at yarvcore.c:99
#12 0x080be7d2 in yarvcore_eval_parsed (node=0x402f3e48, file=1076837940) at yarvcore.c:131
#13 0x0805908f in ruby_exec_internal () at eval.c:210
#14 0x080590bf in ruby_exec () at eval.c:223
#15 0x080590f5 in ruby_run () at eval.c:242
#16 0x08056af5 in main () at main.c:47
#17 0x400d9c1f in __libc_start_main () from /lib/i686/libc.so.6
(gdb) 
Program received signal SIGSEGV, Segmentation fault.
0x080a8883 in tr_setup_table (str=1080892020, table=0xbf800150 "\200", init=1) at string.c:3144
3144        tr.p = RSTRING_PTR(str); tr.pend = tr.p + RSTRING_LEN(str);
(gdb) bt
#0  0x080a8883 in tr_setup_table (str=1080892020, table=0xbf800150 "\200", init=1) at string.c:3144
#1  0x080a8da3 in rb_str_count (argc=1, argv=0x40309024, str=1080892040) at string.c:3384
#2  0x080bd53b in call_cfunc (func=0x80a8d3e <rb_str_count>, recv=1080892040, len=1080892020, argc=1, argv=0x7) at call_cfunc.ci:36
#3  0x080bb5f6 in th_eval (th=0x81510f8, initial=0) at insns.def:1279
#4  0x080bce8c in th_eval_body (th=0x81510f8) at vm.c:1622
#5  0x080bd375 in rb_thread_eval (th=0x81510f8, iseqval=1076863380) at vm.c:1828
#6  0x080be735 in yarvcore_eval_iseq (iseq=1076863380) at yarvcore.c:99
#7  0x080be7d2 in yarvcore_eval_parsed (node=0x402fa1d0, file=1076863420) at yarvcore.c:131
#8  0x0805908f in ruby_exec_internal () at eval.c:210
#9  0x080590bf in ruby_exec () at eval.c:223
#10 0x080590f5 in ruby_run () at eval.c:242
#11 0x08056af5 in main () at main.c:47
#12 0x400d9c1f in __libc_start_main () from /lib/i686/libc.so.6
(gdb) 
試したスクリプト。
require 'nkf'

while gets("\n")
  l = $_
  break if l.count("\n") > 1
  l = NKF.nkf('-Se', l)
  if l =~ /SIGV/
  end
end
実行ディレクトリを ruby-1.9 のトップディレクトリにして、gdb はこんな感じで
run foo.rb *.c *.h
glibc と ptherad が違えば変化しそうなので、coLinux 環境用意しようかな。 さて、どこがいいかな...

18. デバッガに SIG32 が出ています。 どうやって解決したらいいのですか? あとで確認しないと。

HP-UX 11.23 ruby 1.9 現状

miniruby で core

cc -O  -L.  -Wl,-E   main.o dmydln.o libruby-static.a -lpthread -ldld -ldl -lm   -o miniruby
-- stack frame ------------
0000 (401da680): 00000000
0001 (401da684): 00000004
0002 (401da688): 00000001
0003 (401da68c): 4019c508
0004 (401da690): 00000004
0005 (401da694): 00000004
0006 (401da698): 00000004
0007 (401da69c): 00000004
0008 (401da6a0): 00000004
0009 (401da6a4): 00000004
0010 (401da6a8): 00000004
0011 (401da6ac): 00000004
0012 (401da6b0): 00000004
0013 (401da6b4): 00000004
0014 (401da6b8): 00000004
0015 (401da6bc): 00000004
0016 (401da6c0): 00000004
0017 (401da6c4): 00000004
0018 (401da6c8): 00000004
0019 (401da6cc): 00000004
0020 (401da6d0): 00000004
0021 (401da6d4): 00000004
0022 (401da6d8): 00000001 <- lfp <- dfp
0023 (401da6dc): 00000004 <- bp
-- control frame ----------
c:0003 p:-328340 s:0024 b:0023 l:000022 d:000022 TOP    /t/src/ruby19-070521/lib/fileutils.rb:1548
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
---------------------------
/t/src/ruby19-070521/lib/fileutils.rb:1548: -- stack frame ------------
0000 (401da680): 00000000
0001 (401da684): 00000004
0002 (401da688): 00000001
0003 (401da68c): 4019c508
0004 (401da690): 00000004
0005 (401da694): 00000004
0006 (401da698): 00000004
0007 (401da69c): 00000004
0008 (401da6a0): 00000004
0009 (401da6a4): 00000004
0010 (401da6a8): 00000004
0011 (401da6ac): 00000004
0012 (401da6b0): 00000004
0013 (401da6b4): 00000004
0014 (401da6b8): 00000004
0015 (401da6bc): 00000004
0016 (401da6c0): 00000004
0017 (401da6c4): 00000004
0018 (401da6c8): 00000004
0019 (401da6cc): 00000004
0020 (401da6d0): 00000004
0021 (401da6d4): 00000004
0022 (401da6d8): 00000001 <- lfp <- dfp
0023 (401da6dc): 00000004 <- bp
-- control frame ----------
c:0003 p:-328340 s:0024 b:0023 l:000022 d:000022 TOP    /t/src/ruby19-070521/lib/fileutils.rb:1548
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
---------------------------
[BUG] unknown insn: 252706560
ruby 1.9.0 (2007-05-21) [ia64-hpux11.23]

gmake: *** [.rbconfig.time] IOT trap (core dumped)


2007/5/23 Wed ruby 1.9.0 (2007-05-23 patchlevel 0) [i686-linux] 12379
アイ・オー、ブースター内蔵で感度を高めたUSBワンセグチューナ

あらま、新しいのがでるのか。 アンテナも便利そう(前ので自作しちゃいました)。

ユーザー体験に重点を置くIBM

IBM に Sun にそれぞれ特徴がありますね。

ジミー・ウェールズ氏、Second Lifeに現る

GyaO、「ふしぎの海のナディア」をネット初配信−無料で視聴可能。毎月10話配信

みてみたいな。 GyaO って一気にみれないことが多くてあんまり使っていなかったり。 みにいかないから、どんなものが配信されているかしらなかったりするし。 でも、やっぱりみる時間ってあんまりないかな。 小さな小さな小窓で常に手前に表示されるように設定できればみれるのですが、ほとんど別のことをしながらという感じなので。

サンコー、USB姿勢矯正アラーム「VISOMATE」〜ディスプレイに近づきすぎると音と光で警告

うちの会社で、「ディスプレイが遠すぎて悪い」みたいなことをいっている人がいて、どうしてかよくわからなかったり。 目に悪い? 姿勢が悪い? 私はできるだけ遠くのほうがいいと思うけれど、発光体のディスプレイを明るくして目の近くに置いておくなんて大変。 ま、太陽の下で活動することを考えると大丈夫という考えかたもあるんですけど、「焼き付き」に近いことが目に悪そうですよね。 同じところを注視しそうだし。

カメ命拾い3千キロの旅 中国で僧侶が放流 父島で保護

エピソードがいいですね。

ヒメボタル、黄金色の光放ち舞う 名古屋天白区の緑地

自販機でヤマガラのひな、すくすく 山口・秋芳町

瓶(ビン)ジュースの自販機の栓抜きのところに!

ここ三日かな? 二日かな? いつもより寝ている時間が長くなったのですが、寝起きが悪いです。 複雑な気持。 短時間で目が覚めるよりいいとは思うのですが。 寝ていると水分補給できないから?

準備していて、会社メールの確認とかあれこれしていたら、体調が悪くなってきてしまったのでした。 あーあ

せっかく朝風呂入って準備してたのに、休むことに...

ひたすら寝る

昼近くになって、寝ることにしたんですが夜まで寝てしまうのでした。 あーあ

昨日はかなり早めに寝て、朝まで寝てたのになぁ。 体調悪いということか。

食べるものもないのでプチ断食かも。 ぜんぜん食べないわけではないのですが、総カロリー 1000kcal いかないかも。 買いものいかないと、ときたまこういう感じになってしまったり。 書いた時点は朝に食べた「日清の温そうめん」(125kcal)と 500ml のアクエリアス(95kcal)のみ。 追加で「明星 飲茶三昧 キムチ豆乳 春雨」(100kcal)。 「SOYJOY」(136kcal)も食べるかも。

スタックオーバーフローのハンドリング(Stack Overflow Handling)
[ruby-dev:30791] 1.9 coredump

本日の状態。 使っている rg.rb は「 rg コマンド ruby grep 」です。 落ちている場所ですが、昨日の小さなスクリプトとは違います。 glibc と pthread 関係かな。

$ gdb ruby-1.9.0
GNU gdb 5.2.1
(gdb) run ~/bin/rg.rb SIGV *.c
Starting program: /t/src/ruby/1.9/head/ruby-1.9.0 ~/bin/rg.rb SIGV *.c

Program received signal SIG32, Real-time event 32.
0x4002a1d4 in pthread_getconcurrency () from /lib/i686/libpthread.so.0
(gdb) c
Continuing.
signal.c:#ifdef SIGVTALRM
signal.c:    {"VTALRM", SIGVTALRM},
signal.c:    sigdelset(&mask, SIGVTALRM);
signal.c:    if (sig == SIGVTALRM) {
signal.c:       rb_raise(rb_eArgError, "SIGVTALRM reserved for Thread; can't set handler");

Program received signal SIGSEGV, Segmentation fault.
0x40134a6f in mallopt () from /lib/i686/libc.so.6
(gdb) bt
#0  0x40134a6f in mallopt () from /lib/i686/libc.so.6
#1  0x40133d23 in malloc () from /lib/i686/libc.so.6
#2  0x0805eaf9 in ruby_xmalloc (size=1075819392) at gc.c:238
#3  0x0805eb8b in ruby_xmalloc2 (n=1075819392, size=1) at gc.c:258
#4  0x080a47ae in rb_str_resize (str=1102128800, len=34) at string.c:718
#5  0x080a822b in rb_str_replace (str=1102128800, str2=1102128820) at string.c:2329
#6  0x080bdb8b in call_cfunc (func=0x80a7fff <rb_str_replace>, recv=1102128800, len=1075819392, argc=1, argv=0x401fb390) at call_cfunc.ci:36
#7  0x080b8935 in th_call0 (th=0x8166678, klass=1076533760, recv=1102128800, id=3008, oid=0, argc=1, argv=0xbf000240, body=0x402a98d4, nosuper=0) at vm.c:543
#8  0x0805aaa5 in rb_call (klass=1076533760, recv=1102128800, mid=3008, argc=1, argv=0xbf000240, scope=3) at eval.c:1414
#9  0x0805ad16 in rb_funcall (recv=1102128800, mid=3008, n=1) at ruby.h:772
#10 0x080705ca in init_copy (dest=1102128800, obj=1102128820) at object.c:149
#11 0x080706e0 in rb_obj_dup (obj=1102128820) at object.c:220
#12 0x080bdb8b in call_cfunc (func=0x8070680 <rb_obj_dup>, recv=1102128820, len=1075819392, argc=0, argv=0x401fb390) at call_cfunc.ci:36
#13 0x080bbc46 in th_eval (th=0x8166678, initial=0) at insns.def:1279
#14 0x080bd4dc in th_eval_body (th=0x8166678) at vm.c:1622
#15 0x080bd9c5 in rb_thread_eval (th=0x8166678, iseqval=1076838480) at vm.c:1828
#16 0x080bed85 in yarvcore_eval_iseq (iseq=1076838480) at yarvcore.c:99
#17 0x080bee22 in yarvcore_eval_parsed (node=0x402f408c, file=1076838520) at yarvcore.c:131
#18 0x0805929b in ruby_exec_internal () at eval.c:210
#19 0x080592cb in ruby_exec () at eval.c:223
#20 0x08059301 in ruby_run () at eval.c:242
#21 0x08056d01 in main () at main.c:47
#22 0x400d9c1f in __libc_start_main () from /lib/i686/libc.so.6
(gdb)


2007/5/24 Thu ruby 1.9.0 (2007-05-24 patchlevel 0) [i686-linux] 12382
「ソフトウェア特許は技術革新のスピードを鈍らせている」--レッドハットCEOが発言

グーグル、「Hot Trends」機能を公開--最も注目されている話題をほぼリアルタイムに

IOデータ、USB接続ワンセグチューナーの新版「GV-SC200」--ブースター回路搭載で感度アップ

ニンテンドーDS:授業に導入 英単語「めざましい効果」

/.jp ネタ。 暗記系は、この手のゲーム機による補助っていいですよね。 私は暗記が大っ嫌いなので、学生時代にこういうのあったらなぁ。 ちゃんと暗記がうまくいけば、それを認めるし、うまくいかないときはフォローが入るし、こういう個別にフォローがいいタイミングで入るのってポイント高いですよね。

試験とかではなくて、いろいろな場面で覚えたほうがいいものについて、こういうソフトが提供されるといいかも。

暗記系は、ゲームと同じようにリズム、それに結果に対して正当な評価がされることがポイントだそうです。 脳もこういうのがあって、うまく動くそうなので。 私みたいに「嫌々暗記」とか効果がないわけですよね(あー

紆余曲折を経てウェブデザイナーに転身――FM放送「J−WAVE」に出演の東野みさとさん

J-WAVE よく聞くのですが、東野さんの声ってとても素敵です。

オデコの冷たい感覚

そういえば、左足先も冷たい感覚が一か月くらい前にあったような。 神経系かな? 温度感覚のあたりの脳硬塞かも。

早起き。 昨日の昼にかなり寝たのに早寝。 最近眠れるのはなぜ? 体調悪いからかな。 朝からお仕事。 おまけに空腹。

高度成長に自信あるが、慢性的な人材不足に危機感--Fast500ランキングCEO

リーダーが大切なのはよくわかるけど、優秀なリーダーだけでも話にならないような。

クールビズに関する調査(中)--クールビスの実施で環境への意識が高まる?!

意識が高まっていない人が担当者だったりする場合はどうすればいいのかな?

リコー Caplio GX100【第2回】一期一会だから

ケンコー「デジカメスタジオDS-600」 〜レフ板のような構造がユニークな小型撮影スタジオ

癒し系フェイスの小さなロボット「ハコロボ」

ペットと暮す バックナンバー

いいですね。

気温

室温もけっこう上がってきたり。 あらま

東京・銀座に個性派ビル 時計メーカーのスウォッチ

福岡で29.3度、今年一番の暑さ

4億年前の化石は巨大キノコ 150年論争に決着

プライベート打ち上げ花火でプロポーズ

油断大敵・子供の片頭痛 「仮病」と取らず受診を

「限りなくゴミを出さぬよう」 環境に優しい生活雑貨

白しっくいを好む 彫刻家イサム・ノグチ


2007/5/25 Fri ruby 1.9.0 (2007-05-25 patchlevel 0) [i686-linux] 12384
システムの状態

最近は、規模が大きいので作る人は大変だと思います。 ネットワークでだれもが使うレベルのサーバなどは、アクセスが集中したときのシステム側の動きをアプリケーションを作る人がすこしはしっていたほうがいいと思います。 本来はシステム側の人間がちゃんとできるのが一番なのですが。

人気ネットゲームに不正アクセス 容疑の少年4人

ハッキングとか書いてあるんですが、うーむ

押切もえさん、ロボット「かっこいい」 日産が新車発表

たしかにロボットかっこいいな。

ネットの利用量と利用料

やじうま watch ネタ。 従量課金にしたらこのくらいという数字はみえるようにしたほうがいいかも。

ブロードバンド大国ニッポンの幸せ

新海監督の新作「秒速5センチメートル」が7月にDVD化−3枚組みBOXも。「近々に次世代DVD版の予定はない」

新海さんの作品、どれを観ていないのかはっきりしないけど、ほしいな。

流行のLEDミニ懐中電灯に「バッテリー直結型」登場!

9V 電池かぁ。

第二十一景:ショートカット命! ひたすら「迅速化」を目指すデスクトップ 甲斐祐樹

四則演算の計算式を筆算で表示する電卓「筆算Calc」 難しい操作は不要、子どもの宿題を親がチェックする場合に利用しよう

豊富なブラシで絵を描けるフリーの多機能ペイントソフト「Artweaver」

女性のかわいらしさを感じる手書き風フォント「Aikoフォント」

パナソニック、モトクロスをイメージした電動アシスト自転車 〜開発にはBEAMSも参加

車重が増えちゃうけど、その分アシストされるのかな? 瞬発力はどうなんでしょ? あまり瞬発力あると危ないか。

技術系起業家として次々と頭角を現す若者たち

【第12回】太陽系外惑星を探せ2 〜生命が存在できる条件とは?

「これこそVAIOだね」というアイデンティティ――VAIO 10年の歩みとこれから

薄くて曲がるフルカラー有機EL 有機TFT駆動で世界初・ソニー

“石庭”から“雫”に変身した“Santa Rosa”ノートPC――HP Pavilion Notebook PC dv6500/CTd

“超リアルな麻雀ゲーム”の次は“誰も作ったことのないゲーム”を作りたい――シグナルトーク栢孝文社長

グループウェアとモバイルをつないでみよう

「オープンソースは市民権を得た」――Red HatのズーリックCEO

はしか流行や拳銃立てこもり――事業継続リスクは意外なところに

都心は伝染病などがあると、どうしようもないでしょうね。 流通が止まってしまっては、これだけの人がやっていけないし。

プロジェクトの進捗状況報告書は必要か

百式さん メールでファイルを送ると PDF に変換して送り返してくれる


2007/5/26 Sat ruby 1.9.0 (2007-05-26 patchlevel 0) [i686-linux] 12390
タッチパッド

いまいちな感じ。 最近右端でのスクロールが調子悪いです。 私の指先と相性が悪いのかな?

「家庭内禁煙」米で急増、7割に ユタ州では9割も

テレビでも家庭内の喫煙の話がでていました。 換気扇の側で吸っても室内は「汚染される」(こういう表現でした)そうです。

「生きた化石」シーラカンス釣る インドネシアで漁師

ミズバショウ見ごろに 尾瀬ケ原

三次元お絵かきソフトTeddy開発者・五十嵐健夫

紅の豚

いいなぁ。 たくさん笑えるし、かっこいいし。 ジブリ作品だと「ラピュタ」が一番で次がこれかな。

スタックオーバーフローのハンドリング(Stack Overflow Handling)
[ruby-dev:30791] 1.9 coredump

ruby-trunk がアップデートする度に確認していたりしますが、ほぼ同じパターン。 このページのどれかのパターンなのでした。 実験準備が進んでいないので、新しい glibc とか試せていませんです。 pthread 関係のスタックの使い方とかかな?

[ruby-dev:30770] 1.9 net/smtp.rb cram_md5
[ruby-dev:30797] Re: 1.9 net/smtp.rb cram_md5

対応していただきました。 ありがとうございます。

ruby 1.9 net/pop.rb していて timeout の件

[ruby-dev:30806] ruby 1.9 RSTRING_LEN HP-UX arg0

久しぶりに ChangeLog に。 うれしいなー (^-^)/

C

/.jp ネタ。 死んだスキルということで C がありました。 まともに C が書けるということはそれなりにいろいろできるはずですが、さてさて

C は、文字列処理とかめんどうですよね。 ときたま必要になって書こうとすると、文字列処理部分はなんとかしたいとよく思います。 自分用の便利なライブラリなどを作ろうかと考えたこともあったのですが...

稚アユの遡上、本格化 兵庫・円山川

9千年前の女性土偶 シリアで見つかる

持っている力

決定権を持っている人が、「できることがあるのにしない」という「先送り」や「聞いたふり」の状態が、すべてのはじまり。 そういうことって多くありませんか? 自分の持っている権限や決定権を有効に使えない人は、その決定権を持っている必要があるでしょうか? 給与額は、ほとんど決定権の大きさだといえると思います。 そういうことがわかっている人に、決定権、権限を与えてほしいものです。

行き違いとかいろいろ

人って難しいですよね。 同じようなことは前にも書いたような気がします。 小説を読んだりテレビドラマをみたりしているときは背景もみえてくるのですが、リアルでは相手の考えていることもわからないですし、発言も一部しか伝わってきません。 自分のことをどううけとっているかというのは、まったくわかりません。 予想もできないようなうけとりかたをされていたりします。

大昔の上司がそうでした。 いろいろ勝手に解釈されて困った感じでした。 考えすぎだと思うのですが、どうしてそんなになってしまうのか。 世の中難しいです。


2007/5/27 Sun ruby 1.9.0 (2007-05-26 patchlevel 0) [i686-linux] 12393
国立病院の医師「バイト収入」、3カ月で933万円

これだと三か月働いて、残りを勉強したり休養したりという生活ができる金額ですね。 三か月くらいなら、がんばれるかな(おい

アイ,ロボット

テレビでやってたのでみました。 設定年が 2035 年。 28 年後ですね。 そのころ、あんな感じの世界になるかなぁ? 技術革新のすばらしい成果が有効利用されれば、可能性あるかも? いやー、私的にはたぶん無理と思うのですが、でもいろいろできたらいいな。

空に白い点

昨日もデジカメで空を撮っていたら写りました。 肉眼ではみえないので、狙って撮るわけではなくて、空を撮していると偶然に。 倍率が高くできれば、太陽に近いので丸い円ではなくて他の形が確認できるのかな?

リンダさん調子悪そう

忙しいためか調子悪そうです。 個人にこんなに負担をかけなくてもいいのにと思ったり。 やっぱり分散して動けるようにして、人が育つような仕組みをつくらないと、休めなくなっちゃう...

私の場合一人で特殊なことをやっているんですが、私がいなくてもなんとかなるだろうから、休める感じかも。 いいんだか悪いんだか。 チームで動くときは、チームのみなさんがすばらしいし。

工数見積もり

Matz 日記ネタ。 私のその? 大昔の上司は、私が進言した工数 x 3 してました。 こういう部分はよく理解していたというか、この業界ではこういう係数ありますね。 「なにかを作る」のには、集中できる状態になってはじめて可能だったりします。 そういう時間をどうやったら作れるか? という難問もあったりします。 たいていの場合、工数見積もりをすると理想的な数字になってしまうので、それを 3 倍くらいが適当だったりします。 すごく集中した時間を適時持てるということは、とても難しいですから。

昨日はほとんど雲がない空でした。 今日はほとんど雲でした。 雲っていろいろ表情があっていいですね。 合間にすごいきれいな空がみえたり。 上空は風が強そうです。


2007/5/28 Mon ruby 1.9.0 (2007-05-28 patchlevel 0) [i686-linux] 12398
東京・下町の銭湯でひそやかに

2羽のキジ、愛の季節それともケンカ

元気だなぁ

認知症の原因のひとつ? 異常たんぱく質の正体解明

ヒトES細胞大量培養に成功 従来の100倍以上の効率

河瀬直美監督の「殯の森」、カンヌで2席のグランプリ

心筋梗塞や脳卒中、メタボじゃなくてもご用心

うーん、どちらにしてもリスク高いな

退職後に人気の国内旅行、財布のヒモは意外に堅い?--団塊世代の国内旅行動向調査

国内旅行いいなぁ。 のんびりどこかで過ごしてみたいです。 財布のヒモが堅いのは、このご時世仕方がないのでは?

言語解析でブロガーの興味を探る--キーウォーカーがリサーチ向けの新サービス

ブログやSNSを開設している企業は全体の4.4%--総務省調べ

フォトレポート:米国の大量消費を可視化する

「ひとのフリ見て我がフリ決める」という人の行動心理をつかむ

膨大な時間とお金があれば、自分で試せるんですけどね。 どちらもないので、ある程度参考にしちゃったり。

インテル:「ソフトウェアもムーアの法則に従う必要がある」

「一石二鳥」書籍デジタル化プロジェクトの仕組み

Linux と対称型マルチプロセッシング SMP システムで Linux の能力を解き放つ

ブロガーの4割に解雇の危険?

あらかじめ登録した形の和音を入力できるようになった「Domino」v1.18

五月

終わりそう。 積み残しなかったかなー


2007/5/29 Tue ruby 1.9.0 (2007-05-29 patchlevel 0) [i686-linux] 12402
大規模掲示板サイトの人気にかげりが…

離れた無線LANにガッチリ接続、バッファローの電波バズーカ

ディスクトップで無線 LAN とかいいかも。

国立国語研究所、1,000万語分の日本語コーパスを試験公開 第1弾は「Yahoo!知恵袋」と政府刊行白書のデータ、最終的には1億語が目標

Word、Excel、Accessの操作で困ったら!「モーグ 速攻テクニック集」

「Second Life」内でHIV予防キャンペーン〜コンドームの着ぐるみ配布

百式さん やたらハイテクなピルケース。薬の補充やメールでのリマインドもしてくれる

これいいかも。 私ってば薬を飲むのを忘れるんですよ。 毎日飲まないといけないらしいですけど...

情報処理推進機構、15名の天才プログラマーを認定

いいなぁ「天才」(え

“全部入りママチャリ”は自転車の最終進化形か

仏師が手彫り 木製ガンダム

すごい!

gFTP――多機能で便利なLinuxファイル転送の万能ナイフ

こういう紹介記事も大切ですね。 出会いがなければ、しらなかったで終わってしまいますし。

1次南極観測隊の上陸地点確認 日の丸掲げた竹ざお発見

矮小銀河が4千個以上も 宇宙望遠鏡で観測 NASA

写真がなーい

国宝三尊、7年ぶりにそろって公開へ 奈良・唐招提寺

やじうまWatch Googleの画像検索で顔の画像だけを表示させる技があった


2007/5/30 Wed ruby 1.9.0 (2007-05-30 patchlevel 0) [i686-linux] 12415
NOD32アンチウイルス - Wikipedia
最強はどれ? 2007年版セキュリティソフト徹底比較(前編)
最強はどれ? 2007年版セキュリティソフト徹底比較(後編)

いいらしいですね。 でも入れ替えるのには勇気が必要だなぁ。 いま使っているものが、重くて嫌なんですけど、相性もあるし(えー

昨日

一昨日早寝して、早起き。 仕事のデータがとれていて、解析。 秒間のトラフィックを LAN I/F 単位で確認するスクリプトを書いたり。 とかしていると午前が終わってしまって、あっというまに 6 時間。 休憩なしでそのまま午後へ。 15 時にはヘトヘトだったり。 あーあ

Ruby 1.9 trunk

Fiber 導入。 軽い thread らしいです。 まだお試しコードは書いてみていないのですが、IO などのない thread に使えそうです。 thread 数が多くてもいいそうなので、分散できるものを書いてみようかなと。 8 Queen の thread 版は 8 thread だけしか使わないのですが、試すのにいいかな。 全部のパターンで thread を作るような実装にはしていないのですが、試しに書いてみてもいいかも。

南極大陸で異常事態 大規模な融雪判明 温暖化の影響か

温室効果ガス排出量7.8%増 05年度確定値

進む少子高齢化…2025年から全都道府県で人口減少

代替エネルギーをめぐる盛んな議論--「Future in Review」カンファレンスで

温暖化とか、代替エネルギーとか、こういう話題は気にしている人には伝わるんですが、気にしていない人には伝わらないですよね。 ま、どんな話題も似たようなものですが。

会社関係で、決定権を持っている人がこういう話に熱心かどうか? は、株主が熱心かどうかということでも起きないと、だめかなぁ? 50 年後なんて、私は生きていませんけど、でも気になります。

いい方向に進むことはできないのかな...

アルプス社、動画とルート地図を同期させて公開する「ALPSLAB video」を公開

フォトレポート:米陸軍が構想する最新ハイテク軍事兵器

Ruby

Kita さんの日記を読んで。 社内ツールかぁ。 私もけっこうあるんですが、これはここでは書けないし。 LDAP でメールアドレスを引っ張るのとか、LDAP 内の構造違いますしね。 仕事でスクリプトを書いて、データをいろいろな視点から確認したりとか便利に使っています。 でも、汎用的なものは書いてないような。 いい課題がないかな。

Vine Linux 4.1

CR をアマゾンで買って、coLinux に入れたんですが Wnn8 は結局使わないままなのでした。 anthy よくわかっていませんが、coLinux の使い方からするとこれで十分そう。 Emacs Egg で Wnn8 は、実際のところどうなんでしょう? ちょっと試して「あれれ?」だったので、それから試していないのです。 もうちょっと試してみたほうがいいかなぁ。

既存の Vine Linux 3.2 を上げたいと思いつつ、なかなか手がつかないのでした。 さてさて、どうしたものか。 会社のシステムも古いのあるので更新しないとなぁ。

スティール監督、ドキュメンタリー映画「ブリッジ」で自殺者に迫る

自殺、最近もニュースに何件もでています。 それぞれ事情があるとは思いますが、悲しいことです。 なんとかできればいいのに。

蚊やりは、おまかせ 三重県菰野町

「蚊やり豚」ってわかります? 蚊とり線香を入れるブタさんの焼き物なんですね。

rg コマンド ruby で grep

以前から $_ 依存の書きかたとか気になっていたので修正してしまうのでした。 私が普段から使っている grep コマンドです。 シェルで

alias grep=rg.rb
して使っています。 漢字を検索するときだけ -k オプションを付けることを意識する必要がありますが、あとはほとんど grep です。 ちょっとだけ便利機能がついていたり。 便利な機能の一つが Ruby の正規表現がそのまま使えることです (^-^)/

一足先に夏の音色 駅に南部風鈴飾りつけ 岩手

スタックオーバーフローのハンドリング(Stack Overflow Handling)
[ruby-dev:30791] 1.9 coredump

rev 12411 で現象が起きなくなったことを確認。 スタックサイズをもとに戻しても大丈夫でした。 よかったよかった。 いろいろ対応いただいているみなさまありがとうございます。

Ruby 1.9 trunk Fiber

なんとか書いてみるものの、うまい使いかたが想像できないのでした。 さて、いい応用あるかな。

ITエンジニアを襲う「新しいうつ」の正体とは?

IT エンジニアは「人類がいままで経験したことがない職業」

ITエンジニア進化論:失敗から学ぶ人、学ばない人【その2】

SNMPによるネットワークモニタリング「第2版」:第7回 RRDtoolでグラフ化モニタリング

2台のパソコン間でコピーや環境移行に対応! 「SUGOI CABLE EASY」

キュウリ味の炭酸飲料、飲んでみた

Thread.stop、Thread.suspend、Thread.resume、および Runtime.runFinalizersOnExit が推奨されない理由

【コラム】漢のzsh

zsh ユーザなんですが、たくさんの機能は使っていないかも。 ということで、見直ししようかな。

alt.lang.jre: JRubyを好きになってください

アイ・オー、WXGA+/SXGA+対応のUSBディスプレイアダプタ 〜DVD再生や画面回転機能をサポート


2007/5/31 Thu ruby 1.9.0 (2007-05-31 patchlevel 0) [i686-linux] 12418
Java ソフトウェア 手動ダウンロード

JRuby を試すのに入れてみたり。

JRuby

JRuby 入れて JAVA_HOME を設定して bin/jruby で動かすと、そこそこ動いたのでした。 へー

JRuby は、普段は使わないので coLinux で試したんですが、手軽ですね。 Java であれこれする人は便利かも?

受動喫煙

受動喫煙で死亡率が 30% もアップするそうです。 分煙は難しいです。 ニオイがするだけでも危険だそうです。 なんとかなればいいのに...

キーワード: Ruby 継続

検索するといろいろ楽しいページに。 よくわかっていないので、勉強しないと。 そうそう、以前にも

  • キーワード: Ruby 高橋メソッド
で、楽しい検索ができました。

やじうまミニレビュー コンテック「メガネライト KE-16」 〜メガネ専用のハンズフリーLED照明器具

SWF形式のFlashファイルをEXE化する「swf2exe」v1.02

シェリーカードでSuicaやEdyなどの枚数超過エラーも万全!!

竹炭を使った「パンだ」

鼻の下の「点」は不要かもー

恐竜は泳げた? 湖底のひっかき跡発見 スペイン

西ナイル熱、鳥にも猛威 全米各地で野鳥が激減

心配ですね。

スタイリッシュに、モトクロスな電動自転車

YMOも復活! 世界7地域で「ライブアース」

これからのWeb開発どうなるの?OSSとの関わりは?Google語る

SNMPによるネットワークモニタリング「第2版」:第8回 SNMPによる異常値検出テクニック

とりあえず、平常時というものを確認しておくといいですよ。

わが社のビジネス継続性を確立する!:不祥事への対応――個人に腹を切らせてはならない

でも、個人が犠牲になること多くありません? せっかくの学習する機会が失われますよね。

約40%が「ブラインドタッチ」できる〜タイピングに関する調査

できます?

「タッチタイピング」って書いたほうがよさそうですね。 タッチタイピング - Wikipedia

Linux は IT 技術者にも敷居が高い? 自宅 PC 環境で約8割が Windows 派

私の場合は、Emacs 上でかなりのことをするので Linux が必要なのですが、Window Manager レベルのことは WinXP です。 音楽を聞くのも iTunes だし。

品質向上にも貢献する Eclipse

ツールを使うことで、品質が向上するのはいいですね。 ツールに振り回されるのは困りますけど。

百式さん 複数の URL をまとめてブックマークするためのツール

DYNAUDIO、初のマルチメディア用アクティブスピーカー −ペア136,500円のAUDIENCEシリーズ2ウェイも

すごいなぁ。 値段が。 PC を使っているときは、スピーカーの間に入りやすいので、音場は作りやすと思うのです。 そこそこの値段でいいものできないかなぁ。

【短期集中連載】一家に1台! NASで変わる家庭内のデータ保管術 第3回:「データが消えた!」そんな事態に備えるNASのバックアップ機能

一台導入して、ネットワークも Gbit にすると幸せかなぁ。 設置場所関係が難しいかも。

やじうま Watch 「タラララン ララ ランララ ララララン」だけで曲名が判明

すごい!

やじうま Watch 脳卒中患者のリハビリに、Wiiリモコンでプレイするのは理想的

最近

寝起きは悪いですが、連続睡眠時間は長くなりました。 食欲ありすぎで困っています。 普通に一人前食べてしまいます。 よく眠れて食欲あるというのは健康な感じですが、私の場合は普通に一人前食べると確実に体重が増えるのでした。 あーこんな悩みがなくなるといいのにな。 思うだけではだめなんですけどね。

Palm、フルキーボードのモバイルコンパニオン「Foleo」発表

おもしろそうだけど、重さは 1.13 Kg だそうです。

LinuxWorld Conference and Expo/Tokyo Report: Googleを衝き動かすOSSの影響力

「管理者パスワード悪用で盗み見経験アリ」の社員が3割超 - 米調査

自分の持っている権限を正しく使えない人っていますよね。 困った感じ。

【コラム】 音楽をはじめよう!(42) DTMの基礎知識 - オーディオインタフェース(1)

【お知らせ】IT戦士の記事が書籍に 「IT戦士」こと岡田有花記者による記事をまとめた書籍「ネットで人生、変わりましたか?」が6月1日に発売される

患者を救う「ポータブル」超音波検査装置

すごい雨に雷

以前は東京電力の雷雲情報を確認したりしたのですが、いまは使いたいときにアクセスが集中しすぎて使えません。 残念。 雨量だけなら アメッシュ でいいのですが、雷が近いと気になるので使えるようにしてほしいな。



渡辺哲也(WATANABE Tetsuya): Tetsuya.WATANABE atmark nifty.com