2005年09月の雑感

更新日:2005-10-01
[トップページへ] [8月] [10月] [過去の雑感へ]

9月29日(木)

 nono 0.1.4

fnono.rb をちょっとだけ修正しました。


9月26日(月)

 『夢見るミノタウロス』 (スティーヴン・シェリル)

人間社会で普通に生きているミノタウロスの物語。 ミノタウロスというのは、ギリシャ神話に登場する半牛半人の怪物。 そのミノタウロスが普通に人間社会で、ステーキハウスのコック見習いとして働いているのです。 ステーキハウスですよ。ほとんど共食いみたいな設定です。 豚汁を作ったり、トンカツを食べたりする山崎ぶたぶたの世界(『ぶたぶた』)を連想してしまい、 この設定だけに魅かれて手に取りました。

その容姿ゆえ、からかわれたり、角が邪魔になったりする出来事はあるものの、 わりと普通に、ごく淡々と不器用なミノタウロスの日常が描かれます。 普通の変な小説という点では、ぶたぶたの世界に通じるものがあります。

違うのは、その異常な存在に驚く人が中心的存在として登場するかしないかです。

ぶたぶたの世界では、必ず、山崎ぶたぶたの存在に驚く人が登場し、 その人物の視点で山崎ぶたぶたが描かれます。 また、典型的なストーリーは、 その人物が、ぶたぶたを通じて自分の抱えている悩みや問題の解決の糸口をつかみ、一歩を踏み出すまでを描くというものです。

一方、ミノタウロスの世界では、驚く人は、あくまでもサブストーリーで登場するだけで、 メインストーリーの登場人物は、みんなミノタウロスの存在をごく普通に受け入れています。 ストーリーの視点もミノタウロスに据えられ、悩みを抱えながらも、淡々と生きているのは、ミノタウロスの方なのです。

劇的なストーリーを期待する人には退屈なだけじゃないかと思います。 山崎ぶたぶたのような世界を期待する人にも、不満が残るかも知れません。 普通の変な小説を読みたい人にだけオススメします。


9月23日(金)

 サイトの修正

ほんのちょこっとこのサイトを修正しました。

 [Ruby][Win32OLE]

Ruby 1.9 の Win32OLEも同じように修正しました。


9月19日(月)

 泣きながら... (3)

別に泣いてもいないし、徹夜もせずに早く寝たし、石もかじってないし、死んでもいませんが、 原因がわかって、それなりに何とかしました([ruby-dev:27160]、[ruby-dev:27177])。

ここのところ、週に一回はパソコンを触らないでおこうデーを設けるというのを心掛けています。 実際には、メール見たりとかするんだけど、基本的に、プログラミングやそれに近い作業は一切してません。 意識してしないようにしてます。 今週は、それができなかった分だけ、疲れてるような気がします。

Ruby 1.9 のWin32OLEも同じ修正をする必要がありますが、私がお手伝いできる範囲で1.8の作業を優先させたいと思います。 もうちょっとお待ちください。

 [Ruby] make check

いつも、make test はやってるんだけど、やっぱりいつも make checkした方がいいのかな。 で、なんかあったらレポートするべきなんだろうな。 つい、自分に関係ないものだと無視しがちなんだけど。


9月18日()

 泣きながら...

「バグがあった場合、担当者は泣きながら直す。」の「泣きながら」になんか実感というか生々しさがこもっているような気がした ([ruby-dev:27093])。

...

えーと。

...

ひょっとして、お仕事だと、もっと生々しくなって、 「泣きながら」の後に、「徹夜してでも」とか「石にかじりついてでも」とか「死んででも」 とか誰かがつけたりするんでしょうか。 (←そんなフレーズをつけるのは、絶対、間違ってます。)

多分、私が、どっか、メールの内容を誤解しているに違いない。 そう思いたいです。

こんなこと書くと、現実に、私がそういうハメに陥りそうでメチャクチャ嫌だなあ。

 泣きながら... (2)

現実にそうなってしまった([ruby-dev:27133])。 どうしよう。 余計なこと書くんじゃなかった。


9月17日()

 OSC 2005

2Fの展示をちょっと覗いて、 Seasar2のセッションRubyのセッション に参加。

印象に残ったこと。


9月15日(木)

 [Ruby] Zero to Rails

これを見れば、DBMSが無くても、Railsを試せるようになるのかな?

 [Ruby][Ruby-GNOME2] フォント選択ダイアログを表示する

Gtk::FontSelectionDialog を使えば、フォント選択のダイアログを表示できます。 あらかじめ指定したフォントを選択状態にして、ダイアログを表示するには、 Gtk::FontSelectionDialog#font_name= メソッドを使用します。

require 'gtk2'

def font_clicked
  win = Gtk::FontSelectionDialog.new
  win.font_name = $font_name if $font_name
  ret = win.run
  if ret == Gtk::Dialog::RESPONSE_OK
    STDERR.puts win.font_name
    $font_name = win.font_name
  end
  win.destroy
end

Gtk.init
win = Gtk::Window.new

menubar = Gtk::MenuBar.new
menuitem = Gtk::MenuItem.new("File")
menu = Gtk::Menu.new
mitem = Gtk::MenuItem.new("font...")
mitem.signal_connect("activate") do |win, evt|
  font_clicked
end                             
menu.append mitem
menuitem.set_submenu menu
menubar.append menuitem   

box = Gtk::VBox.new(false, 0)
win.add(box)        
box.pack_start(menubar, false, true, 0)

win.realize

win.signal_connect("destroy") do 
  Gtk.main_quit
end

win.set_default_size(200, 130)
win.show_all
Gtk.main

9月14日(水)

 [Ruby] RUnits 0.0.0

一瞬、新手の XUnit かと思ったら、単位変換ライブラリだった。([ruby-talk:155825])

 [Ruby] FXRuby 1.4.X

いつの間にかFOX 1.4.Xに対応した FXRuby 1.4.Xがリリースされてました。 そのうち試してみようと思います。

 [Ruby] nono 0.1.3

nono をバージョンアップしました。 ChangeLogをつけました。 wnonoのフォント選択の機能をかなりまともに動くようにしました。


9月12日(月)

 [Ruby] nono 0.1.2

nono をバージョンアップしました。

 『千年の黙−異本源氏物語』 (森谷明子)

森谷明子のデビュー作。 紫式部が探偵役の平安時代を舞台にした日常の謎ミステリ。 同時に源氏物語の謎も解いている。 大きな謎はないけれど、探偵役の紫式部をはじめ、あてき、岩丸、中宮様、藤原道長などキャラクターの魅力で読ませる。


9月10日()

 [Ruby][VisualuRuby] フォント選択ダイアログを表示する

VisualuRuby でフォント選択ダイアログを使用するには、chooseFontDialogメソッドを使います。 メソッドの引数がnil、または引数を省略した場合、 System のフォントが指定された状態でフォント選択ダイアログが表示されます。

フォント選択ダイアログでOKボタンを押したときは、FontStructオブジェクトが返されます。 キャンセルボタンを押したときは、nilが返されます。

次のサンプルスクリプトでは、画面上の"12" という文字が、選択されたフォントに従って変わります。 (変わるのは、サイズとフォントだけです。色やスタイルは変わりません。)

require 'vr/vruby'
require 'vr/vrdialog'
require 'vr/vrhandler'

class VFontSel < VRForm
  include VRMenuUseable
  def construct
    @file_menu = newMenu(true).set([["Select Font...", "selfont"]])
    setMenu newMenu.set([["File", @file_menu]])
    @fontstruct = nil
    @fontname = "System"
    @height = 14
  end
  def selfont_clicked
    font = chooseFontDialog(@fontstruct)
    if font
      @fontstruct = font
      @height = 0-@fontstruct.height
      @fontname =  @fontstruct.fontface
      refresh
    end
  end
  include VRDrawable
  def self_paint
    self.opaque = false
    font = @screen.factory.newfont(@fontname, @height)
    setFont(font)
    drawText("12", 10, 10, 200, 100)
  end
end
VRLocalScreen.start(VFontSel, 200, 200, 250, 200)

 [Ruby][nono] 0.1.1

nono をバージョンアップしました。 wnonoにかなり怪しげなフォントを選択できる機能を追加しました。 wnonoでは、フォントのサイズを変えることで、枡目の大きさも変わります。 これで枡目の数の多いののぐらむでも画面に納まるように調整できるようになりました。

 [Ruby] Rabbit 0.1.0

ポリシーを曲げてまで、提供してもらったので、試さない訳にはいきません。

ruby setup.rb

でインストールして

rabbit -s -b lightning-talk -i png --out-html t sample/lightning-talk.rd 

で画像表示用HTMLを作成してくれました。すばらしい。 ただ、--out-html の後で何を指定すればいいのかわからなかったので適当に指定しました。

rabbit -s -b lightning-talk -i png --out-html sample/lightning-talk.rd 

だと、なんか入力待ちになっているような感じでした。Ctrl+Cで停止したら

from /usr/local/lib/ruby/site_ruby/1.8/rabbit/source/argf.rb:21:in `_read'
from /usr/local/lib/ruby/site_ruby/1.8/rabbit/source/base.rb:28:in `read'
from /usr/local/lib/ruby/site_ruby/1.8/rabbit/canvas.rb:216:in `parse_rd'
from /usr/local/lib/ruby/site_ruby/1.8/rabbit/canvas.rb:452:in `keep_index'
from /usr/local/lib/ruby/site_ruby/1.8/rabbit/canvas.rb:215:in `parse_rd'
from /usr/local/bin/rabbit:483:in `parse_rd'
from /usr/local/bin/rabbit:585:in `do_save_as_image'
from /usr/local/bin/rabbit:656:in `main'

となりました。 Ruby 1.8.3を使っているから?

プレゼンをする機会があったら、rabbitを使いたいと思います。


9月09日(金)

 ASP.Net というか Visual Studio .Net 2003

他のマシンで開発していた他人の作ったASP.Netのアプリを自分のPCで開発するため、環境を構築。

Inetpub\wwwroot に共通で利用しているDLLのファイルをコピーしないとダメですか。

IISの仮想ディレクトリ作ってやらないと駄目ですか。

あー、もう面倒くさい。 ソースを修正できる状態にするまでが面倒。 もっとこう、サクっとできないですか。 Visual Studio .Net 2003の使い方を間違えているのか。 時間を浪費しているし、なんかストレスが溜まるよ。

チームで開発するときに、この辺の面倒臭さを回避して、開発をうまく回していくためのノウハウとか どっかで誰かが解説してないかなあ。 リリースするときとかも、なんか混乱しそうで嫌だ。


9月06日(火)

 るびま 9号

編集長を間違えました。ごめんなさい。ごめんなさい。ごめんなさい。


9月05日(月)

 RubyScript2Exe

RubyScript2Exeは、読んで字のごとく Rubyで書かれたScriptをexe化するソフトです。 exe化されたプログラムは、Rubyが無い環境でも実行できるようになります。

日本だと、Exerbの方がよく使われているようですが、 ここでは、RubyScript2Exeを試してみます。 ExerbはWindows環境専用のようですが、RubyScript2Exeは、Linux環境でも使えるようです。 ダウンロードするのは、rubyscript2exe.rbだけです。

Mingw版Ruby 1.8.3 で試してみました。rubyscript2exe.rbを実行するには、Rubyが必要です。 あらかじめ、ruby.exeとrubyw.exeを用意しておく必要があります。 私みたいに、ruby18mg.exe と rubyw18mg.exe しかない環境では、失敗してしまいます。

例えば、wnono.rb をexe化する場合には、以下のように実行します。

ruby rubyscript2exe.rb wnono.rb --rubyscript2exe-rubyw

このとき、wnono.rb が実行されます。 wnono.rb を終了すると、rubyscript2exe.rb が wnono.exe を生成します。 できた wnono.exe のサイズは、577KBでした。

コマンドプロンプトから実行するスクリプトの場合は、--rubyscript2exe-rubyw の代わりに --rubyscript2exe-ruby を指定すればいいようです。

 nono in Windows

Linuxの世界では、nonoは、ソフトウェアとして認められつつあるようです。 Windowsの世界でも認められるように、wnono.exe を含んだ nono-0.1.0.zip を公開しておきます。

 『切れない糸』 (坂木司)

クリーニング店を舞台にした日常の謎ミステリ。連作短編。

デビュー作『青空の卵』は、やたらに涙を流す主人公たちに違和感を感じてしまった。 この作品では、そうした違和感は、ほとんど感じられないんだけど、 でもどこかしら、ひっかかるものがある。どうしてだろうか。

謎解きが二段構えになった工夫のある作品が多い。 真相は、ほんわかとさせてくれるものが多く、後味のいい作品が並びます。

地方出身者である私には、「東京、東京」が面白かった。 でも、東京でなくても同じことが言える気がする。 日本人は意外と日本のことを知らないし、地元の人間は意外と地元のことを知らないんじゃないかと思う。

 『神様ゲーム』 (麻耶雄嵩)

ああ。もうブラック過ぎるよ。 子供向けだから安心して読めると思っていたのに。 落ち込んでいるときには、読まない方がいいです。 後味悪い。


9月04日()

 nono in Linux Software Search

いつの間にかLinux Software Searchnonoが登録 されていた。 知らなかったよ。 油断してたのでびっくり。

 マニュアル・ファースト・デザイン、あるいは、マニュアル駆動設計(2)

えーっと。「お金が足りないし、マニュアルなんて自分らで作るから、もうちょっと安くしてくれ。」 と言われたりすることもあるかも知れないので、 ユーザ相手に話すときは、「ユーザ中心設計」とした方がいいような気がします。


9月03日()

 XP祭り 2005 はチョコレートあんこ風味の味

 マニュアル・ファースト・デザイン、あるいは、マニュアル駆動設計

以下、かなり私の勝手なバイアスがかかっているし、ちゃんと理解しているかどうか怪しいので、話半分に読むこと。

ひがさんのマニュアルを先に作って、それでもって、要件定義をしてしまおうという話からつらつら考えてしまったこと。

マニュアルを作るのは嫌な仕事だよね。でも、ユーザーにとっては必要なものだし、どうせ作らなきゃいけない。 だったら最初に作るようにして、要件定義に使っちゃおう。 マニュアル作るには、画面のハードコピーが必要だから、先にハリボテの画面も(HTMLで)作りましょう。 ただし、マニュアルはだらだらと長くならないようにして、簡潔にする。 補足資料として業務手順書を作成する。

開発より先にマニュアルをという発想は、テスト・ファースト・プログラミングに通じるものがある。 テストって嫌だよね。でも大事なことだし必ずやらなきゃいけない。だったらプログラミングより先にやっちゃえ。

テスト・ファーストは、テストにフレームワークを取り入れて、プログラミングの作業にしてしまっている。 テストって面倒だよね。嫌だよね。という感覚から、テストと言ってもプログラミングなんだから、楽しいよね。 という感覚へと変えてしまうマジックなのだ。プログラマのモチベーションを引き上げるマジックなのだ。

マニュアルを先に作って、それで設計しちゃえという方法には、そのような(楽しい)マジックがあるのだろうか?

などということを電車を降りて家に一人でとぼとぼ歩いていくときに考えてしまった。 話を聴いたときには何も思いつかず、一人になって落ち着いて考えてみて、ようやくこのような疑問に思い至る。 頭の回転が鈍いよなあ。ダメダメ。

念のため断わっておきますが、マニュアル・ファースト・デザインや、マニュアル駆動設計は私の勝手な造語です。 正しくはユーザ中心設計(User Centered Design)です。


9月02日(金)

 リンク先更新

リンク集のリンク先を一つ更新。 元会社の後輩のページ


[トップページへ] [8月] [10月] [過去の雑感へ]