fnono.rb をちょっとだけ修正しました。
人間社会で普通に生きているミノタウロスの物語。 ミノタウロスというのは、ギリシャ神話に登場する半牛半人の怪物。 そのミノタウロスが普通に人間社会で、ステーキハウスのコック見習いとして働いているのです。 ステーキハウスですよ。ほとんど共食いみたいな設定です。 豚汁を作ったり、トンカツを食べたりする山崎ぶたぶたの世界(『ぶたぶた』)を連想してしまい、 この設定だけに魅かれて手に取りました。
その容姿ゆえ、からかわれたり、角が邪魔になったりする出来事はあるものの、 わりと普通に、ごく淡々と不器用なミノタウロスの日常が描かれます。 普通の変な小説という点では、ぶたぶたの世界に通じるものがあります。
違うのは、その異常な存在に驚く人が中心的存在として登場するかしないかです。
ぶたぶたの世界では、必ず、山崎ぶたぶたの存在に驚く人が登場し、 その人物の視点で山崎ぶたぶたが描かれます。 また、典型的なストーリーは、 その人物が、ぶたぶたを通じて自分の抱えている悩みや問題の解決の糸口をつかみ、一歩を踏み出すまでを描くというものです。
一方、ミノタウロスの世界では、驚く人は、あくまでもサブストーリーで登場するだけで、 メインストーリーの登場人物は、みんなミノタウロスの存在をごく普通に受け入れています。 ストーリーの視点もミノタウロスに据えられ、悩みを抱えながらも、淡々と生きているのは、ミノタウロスの方なのです。
劇的なストーリーを期待する人には退屈なだけじゃないかと思います。 山崎ぶたぶたのような世界を期待する人にも、不満が残るかも知れません。 普通の変な小説を読みたい人にだけオススメします。
ほんのちょこっとこのサイトを修正しました。
Ruby 1.9 の Win32OLEも同じように修正しました。
別に泣いてもいないし、徹夜もせずに早く寝たし、石もかじってないし、死んでもいませんが、 原因がわかって、それなりに何とかしました([ruby-dev:27160]、[ruby-dev:27177])。
ここのところ、週に一回はパソコンを触らないでおこうデーを設けるというのを心掛けています。 実際には、メール見たりとかするんだけど、基本的に、プログラミングやそれに近い作業は一切してません。 意識してしないようにしてます。 今週は、それができなかった分だけ、疲れてるような気がします。
Ruby 1.9 のWin32OLEも同じ修正をする必要がありますが、私がお手伝いできる範囲で1.8の作業を優先させたいと思います。 もうちょっとお待ちください。
いつも、make test はやってるんだけど、やっぱりいつも make checkした方がいいのかな。 で、なんかあったらレポートするべきなんだろうな。 つい、自分に関係ないものだと無視しがちなんだけど。
「バグがあった場合、担当者は泣きながら直す。」の「泣きながら」になんか実感というか生々しさがこもっているような気がした ([ruby-dev:27093])。
...
えーと。
...
ひょっとして、お仕事だと、もっと生々しくなって、 「泣きながら」の後に、「徹夜してでも」とか「石にかじりついてでも」とか「死んででも」 とか誰かがつけたりするんでしょうか。 (←そんなフレーズをつけるのは、絶対、間違ってます。)
多分、私が、どっか、メールの内容を誤解しているに違いない。 そう思いたいです。
こんなこと書くと、現実に、私がそういうハメに陥りそうでメチャクチャ嫌だなあ。
現実にそうなってしまった([ruby-dev:27133])。 どうしよう。 余計なこと書くんじゃなかった。
2Fの展示をちょっと覗いて、 Seasar2のセッション と Rubyのセッション に参加。
印象に残ったこと。
羽生さんが、PHPと.Netのことをあまり知らないためなのか、半分くらいSeasar2の紹介だった。 S2PHP5も S2.Netも、紹介程度の話で終わった。ちょっと残念。
S2.Net(DI)によりASP.NetとVB.NetとC#が(それぞれ独立しつつも)連携するのは面白い(興味深い)と思った。
PHP4 の Mapleは、Ruby on Rails の ActiveRecord の影響を受けているらしい。
Seasar2のセッションは、10分前ぐらいには、満杯状態で、羽生さんもスタンバイ十分という感じだった。 15分前にRubyのセッションに行ったら、ほとんど誰もいなかった。 ギャップがあり過ぎて、待っている間、本当に始まるのかドキドキしてしまった。
Rubyセッションのコードを添削するというのは、企画としてどうなんだろうと思っていたのだが、盛り上がって面白かった。 参加者との一体感もあったと思う。
ごとけんさんに久々にお会いできて良かった。
咳さんの地元の図書館は、うらやましい。なんか私もリクエストしてみようかな。
咳さんのバグの発生の度合とか機能の重要度によって受け入れテストの頻度を変える話に、なるほどと思ってしまった。
これを見れば、DBMSが無くても、Railsを試せるようになるのかな?
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
一瞬、新手の XUnit かと思ったら、単位変換ライブラリだった。([ruby-talk:155825])
いつの間にかFOX 1.4.Xに対応した FXRuby 1.4.Xがリリースされてました。 そのうち試してみようと思います。
nono をバージョンアップしました。 ChangeLogをつけました。 wnonoのフォント選択の機能をかなりまともに動くようにしました。
nono をバージョンアップしました。
森谷明子のデビュー作。 紫式部が探偵役の平安時代を舞台にした日常の謎ミステリ。 同時に源氏物語の謎も解いている。 大きな謎はないけれど、探偵役の紫式部をはじめ、あてき、岩丸、中宮様、藤原道長などキャラクターの魅力で読ませる。
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)
nono をバージョンアップしました。 wnonoにかなり怪しげなフォントを選択できる機能を追加しました。 wnonoでは、フォントのサイズを変えることで、枡目の大きさも変わります。 これで枡目の数の多いののぐらむでも画面に納まるように調整できるようになりました。
ポリシーを曲げてまで、提供してもらったので、試さない訳にはいきません。
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を使いたいと思います。
他のマシンで開発していた他人の作ったASP.Netのアプリを自分のPCで開発するため、環境を構築。
Inetpub\wwwroot に共通で利用しているDLLのファイルをコピーしないとダメですか。
IISの仮想ディレクトリ作ってやらないと駄目ですか。
あー、もう面倒くさい。 ソースを修正できる状態にするまでが面倒。 もっとこう、サクっとできないですか。 Visual Studio .Net 2003の使い方を間違えているのか。 時間を浪費しているし、なんかストレスが溜まるよ。
チームで開発するときに、この辺の面倒臭さを回避して、開発をうまく回していくためのノウハウとか どっかで誰かが解説してないかなあ。 リリースするときとかも、なんか混乱しそうで嫌だ。
編集長を間違えました。ごめんなさい。ごめんなさい。ごめんなさい。
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 を指定すればいいようです。
Linuxの世界では、nonoは、ソフトウェアとして認められつつあるようです。 Windowsの世界でも認められるように、wnono.exe を含んだ nono-0.1.0.zip を公開しておきます。
クリーニング店を舞台にした日常の謎ミステリ。連作短編。
デビュー作『青空の卵』は、やたらに涙を流す主人公たちに違和感を感じてしまった。 この作品では、そうした違和感は、ほとんど感じられないんだけど、 でもどこかしら、ひっかかるものがある。どうしてだろうか。
謎解きが二段構えになった工夫のある作品が多い。 真相は、ほんわかとさせてくれるものが多く、後味のいい作品が並びます。
地方出身者である私には、「東京、東京」が面白かった。 でも、東京でなくても同じことが言える気がする。 日本人は意外と日本のことを知らないし、地元の人間は意外と地元のことを知らないんじゃないかと思う。
ああ。もうブラック過ぎるよ。 子供向けだから安心して読めると思っていたのに。 落ち込んでいるときには、読まない方がいいです。 後味悪い。
いつの間にかLinux Software Searchに nonoが登録 されていた。 知らなかったよ。 油断してたのでびっくり。
えーっと。「お金が足りないし、マニュアルなんて自分らで作るから、もうちょっと安くしてくれ。」 と言われたりすることもあるかも知れないので、 ユーザ相手に話すときは、「ユーザ中心設計」とした方がいいような気がします。
受付を済ませてから、天野さんと立ち話をして会場に余裕で入ったら、もう誰か喋ってる。 10:30開始だと思い込んでいた。
プレゼンで何人かの人が高橋メソッドを使っていた。特徴を活かしている人と活かし切れていない人がいるように思った。 ただ字がでかければいいってもんじゃないらしい。高橋メソッドは奥が深い。
今回は本を忘れなかったので、午後の休憩時間に関さんにサインしてもらった。
XPの手法がどうというより、もうそんな枠は越えて、みんな独自のアプローチ、プラクティスを模索しているように思った。 もはや、ペアプロがどうとか、テスト・ファーストがどうとか言っている場合ではないのかも知れない。
プラクティスは、とっかかりで、やってみて自分の職場に合えば続ければいいし、合わないものはやめればいい。 他にいいプラクティスを思いついて、それが原則とマッチするのであれば、実践すればよいと平鍋さん。
角谷さんが、Rabbit で Lightning Talk。亀がちゃんと動いてました。 角谷さんはアウェイネタが得意? 面白すぎる。
RSpecは気になる。
宴会では、なぜか、ずーっとRubyの話をしていたような気がする。
小柄な女性が名古屋土産の「マーブルチョコレートあんこ風味」というのを配ってた。 関さんに1個分けてもらった。チョコレートだけど確かに微妙にあんこ風味。
以下、かなり私の勝手なバイアスがかかっているし、ちゃんと理解しているかどうか怪しいので、話半分に読むこと。
ひがさんのマニュアルを先に作って、それでもって、要件定義をしてしまおうという話からつらつら考えてしまったこと。
マニュアルを作るのは嫌な仕事だよね。でも、ユーザーにとっては必要なものだし、どうせ作らなきゃいけない。 だったら最初に作るようにして、要件定義に使っちゃおう。 マニュアル作るには、画面のハードコピーが必要だから、先にハリボテの画面も(HTMLで)作りましょう。 ただし、マニュアルはだらだらと長くならないようにして、簡潔にする。 補足資料として業務手順書を作成する。
開発より先にマニュアルをという発想は、テスト・ファースト・プログラミングに通じるものがある。 テストって嫌だよね。でも大事なことだし必ずやらなきゃいけない。だったらプログラミングより先にやっちゃえ。
テスト・ファーストは、テストにフレームワークを取り入れて、プログラミングの作業にしてしまっている。 テストって面倒だよね。嫌だよね。という感覚から、テストと言ってもプログラミングなんだから、楽しいよね。 という感覚へと変えてしまうマジックなのだ。プログラマのモチベーションを引き上げるマジックなのだ。
マニュアルを先に作って、それで設計しちゃえという方法には、そのような(楽しい)マジックがあるのだろうか?
などということを電車を降りて家に一人でとぼとぼ歩いていくときに考えてしまった。 話を聴いたときには何も思いつかず、一人になって落ち着いて考えてみて、ようやくこのような疑問に思い至る。 頭の回転が鈍いよなあ。ダメダメ。
念のため断わっておきますが、マニュアル・ファースト・デザインや、マニュアル駆動設計は私の勝手な造語です。 正しくはユーザ中心設計(User Centered Design)です。
リンク集のリンク先を一つ更新。 元会社の後輩のページ。