2005 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
2014 1 2 3 4 5 6 7 8 9 10 11 12
2015 1 2 3 4 5 6 7 8 9 10 11 12
2016 1 2 3 4 5 6 7 8 9 10 11 12
2017 1 2 3 4 5 6 7 8 9 10

ホーム

2006年02月28日1

http://c2.com/cgi/wiki?DoesXpDoDesign

  I think what Alistair is seeing is two senses of the word
  "design". One sense is situated - "making decisions that affect many
  classes and methods after code is written and tests are
  running". The other is speculative - "making decisions affecting
  many classes and methods before you have code".
  
  XP does as little SpeculativeDesign as possible. But no less. You
  have to make enough "big" decisions to write tests, for example. It
  makes a difference whether a feature you are about to add is
  represented as a class of its own or as a method in an existing
  class. (Sometimes choosing one or the other will cause you to change
  existing code that was built with the opposite decision.)
  
  Another reason for SpeculativeDesign is to give all the members of
  the implementation team confidence that they can get from here to
  there. If everybody has a general sense of where the development is
  going, they can contribute better. Once the team's vision gels, less
  and less of this is necessary.
  (略)
  -- KentBeck

この SituatedDesign と SpeculativeDesign ってのがよくわかりません。

SituatedDesign ってのは:

  コードが書かれテストも通っているにもかかわらず、たくさんのクラスやメ
  ソッドに影響を与えるような決断をすること

で、SpeculativeDesign ってのは:

  コードを書きだす前に、たくさんのクラスやメソッドに影響を与えそうな決
  断をすること

みたいな感じ?

前者の SituatedDesign がよくわかんないんですよね。『状況的な設計(行
為)』って訳すんでしょうけど、いまいちピンと来ない。いってることはリファ
クタリングとかのことなんですよね。

後者の SpeculativeDesign は、まあ、わからなくもありません。speculative 
っていうのは、辞書を引くと『投機』とかそういう意味ですから。これが自分
のいう『前払い』ってヤツですよね。

で、XP も前払いするんだよと。でも、それはできるだけ額を抑えなきゃいけ
ないんだよと。

で、前払いするのは、たとえばテストを書くためなんだと。あるいは目的地を
知るためなんだと。そんなところですかね。

--

『状況に応じた設計』かな?

本家Permlink


2006年02月28日

こないだ、XPE2のまえがき立ち読んだんだけど。アジソンの藤ナントカってい
う編集さん? 結構有名でしょ。Niftyのころから名前は知ってるんだけど。結
局、アジソンのほうに問題があるんじゃないの? これだけ評判が悪い翻訳者
いつまでも使うんだから。アジソンはその昔、Inside Macの日本語訳で泣かさ
れた人も多かったみたいだけどさ。もう伝統なのかね。少なくともアジソンは
いらねぇよな。潰れていい。Addison-Wesleyの名前汚してるだけだろ。

--

フツーのユニット・テストはこんな感じですよね:

require 'test/unit'

class Foo
  def doit
    return true
  end
end

class FooTest < Test::Unit::TestCase
  def test_doit
    foo = Foo.new
    assert(foo.doit)
  end
end

でも、Fooのメソッドがやたらめったらあって:

  def test_doit
   foo = Foo.new
   foo.dothis
   foo.dothat
   ...
   foo.doit
  end

みたいなことってありませんか? まあ、そうそうあることじゃないんですけ
ど。でも、とにかく foo. をたくさん書くのがイヤになったんです。で:

class FooTest < Test::Unit::TestCase
  def test_doit
    require 'test/unit/assertions'
    foo = Foo.new
    foo.extend(Test::Unit::Assertions)
    foo.instance_eval do
      assert(doit)
    end
  end
end

あらビックリ。foo. が消えてる! (笑)

--

こういう楽器があって:

http://www.cerlsoundgroup.org/Continuum/

こうやって演奏するものらしい:

http://www.youtube.com/?v=9x8jn9EQSbo

なんか、『今さらかよ!』とかいわれそうだけど。

本家Permlink


2006年02月27日

かな入力にしてUからQまで入力ってのは有名なのか?

--

544 :水先案名無い人:2006/02/27(月) 02:34:41 ID:/oDeFH0M0
    ちんこ横から見て、
    上半分がノルウェー。
    下半分がスウェーデン。
    玉袋がフィンランド。
    「ノル上、下スウェーしたら玉がフィンフィンする」とやや強引に覚えろ。

548 :水先案名無い人:2006/02/27(月) 03:38:53 ID:LUVkhJLp0
    ほんまやwww
    http://www.mytrip.net/share/kaigai_img/new_top/europe/img/north_europe.gif

--

上にはさらに『デンマークが・・・』というレスがついてるんだが、ちょっと
自分には書けない (笑)。

--

オレも人のこといえないんだけど、『だからどうしたの?』ってのがあるんだ
よね。『で、じゃあ、お前はどうするの?』って問い返したいっていうか。

pragmaticってのは行動することなわけじゃん。行動に出るんだから、自分の
中で結論出てなきゃダメじゃん。『Aもあるし、Bもあるし、ひょっとしたらC
もあるかも』なんてこと考えてたら行動に出れないじゃん。『AもBもCもある
けど、オレはAで行くんだ』ってなってないと。

当然選択間違いもあるかもしんないけどさ。それはしょうがないでしょ。オシ
ム監督もいってるけどさ、リスクを取らないと。それがpragmaticということ
にもつながると思うんだよな。

--

ちんこネタのすぐ後に書いても説得力がないことに気づいた。

本家Permlink


2006年02月26日3

日本Rubyの会のテーマソングを作ったお

Rubyがもしもなかったら
ネットはたちまち凍りつく
Webは枯れ ヲタはRailsを捨て
VIPPERは微笑みなくすだろう
イエー!
Rubyは オオ 命の言語だ
幸せを オオ 守る宝石だ
オブジェクト! ブロック! inject!
オブジェクト! ブロック! inject!
おれたちの魂も 燃えている
Follow The Ruby, Catch The Ruby
LL戦隊 日本Rubyの会

『太陽戦隊サンバルカン』(作詞:山川啓介 、作曲:渡辺宙明 、歌:串田アキラ) より

--

あ、ほんとだ。VIA C3だと問題起きないわ。

どっちもsidで、gcc 4.0.3。

Crusoeでもやってみるか。

--

あっれー? 『Rakefile と shell.rb でウホッ!』とか書いたけど、今もっ回
試したらダメになってる。

require 'shell'

s = Shell.new
s.echo('hello') >'tmp.txt'
s.cat('rb.rb') >>'tmp.txt'

これの >> が動かない。出力がどっか消えちゃってる。

どうもFilter#>>が怪しそうなんで、その上にあるFilter#>をパクっ
てみた。これで動くから良しとする:

--- filter.rb	2006/02/26 20:02:32	1.1
+++ filter.rb	2006/02/26 20:02:46
@@ -68,11 +68,20 @@
     end
 
     def >> (to)
-      begin
-	Shell.cd(@shell.pwd).append(to, self)
-      rescue CantApplyMethod
+      case to
+      when String
+	dst = @shell.open(to, "a")
+	begin
+	  each(){|l| dst << l}
+	ensure
+	  dst.close
+	end
+      when IO
+	each(){|l| to << l}
+      else
 	Shell.Fail Error::CantApplyMethod, ">>", to.class
       end
+      self
     end
 
     def | (filter)

--

で、>> が動くものとして、Shell#cd じゃなくって Shell#transact を使わな
いとダメみたい。

おっかしーなー。昨日は動いたと思ったんだけどなぁ。

require 'rake/clean'
require 'shell'

CLEAN.include('App')

task :default => ['App']

SRC = ['App.rb', 'B.rb', 'C.rb', 'D.rb', 'E.rb']

task :App do
  Shell.new.transact do
    echo("#!/usr/bin/env ruby") >'App'
    SRC.each do |ech|
      echo("#file #{ech}") >>'App'
      cat(ech) >>'App'
    end
    chmod 0755, 'App'
  end
end

本家Permlink


2006年02月26日2

あ、BTS あったのねん。

test/unit の話なんですけどね。optparse.rb でヌルポなんですけどね。

1156行目の:

o.each {|(o, *v)| pattern[o] = v.fetch(0) {o}}

で、この v が nil だっていわれるんすよ。でね、この o なんすけど:

{:gtk=>#,
 :tk=>#,
 :console=>#,
 :gtk2=>#,
 :fox=>#}

ってなってるんですよね。で、試しに:

pattern = {}
o = {:gtk => proc{p true}}
o.each {|(o, *v)| pattern[o] = v.fetch(0) {o}}

ってやってみると、やっぱりヌルポなわけです。これを1.9でやっても何も起
こらないんです。

はっきりいって、o.eachのブロック、何やってるかサッパリわからないんです
けど (笑)。ブロック引数カッコでくくるのなんて見たことないですし。

あ、わかった。

o = {1 => 'a'}
o.each {|o, *v| p v}

これで v が nil になります。*v が原因っぽい。AMD64のせいかな。

--

読みました。
烏龍茶は、ちゃんと飲んでください。

--

え? ネカマ?

いや、それはよくない言い方だ。創作として捉えないといけないってことか。

--

配備じゃダメですか? 自分は気に入ってるんですけど。

--

リファレンス・マニュアルって、通して読むのは暇つぶしにはなるかもしれま
せんけど、学習には向いてませんよ?

--

K&R のタブ幅が 5 だったのは日本語訳だけだという話を聞いたような聞か
なかったような。

--

即興ですか。自分が夢想するのは、ガンダルフの花火なんですよね。違ったか
な? サッと魔法の花火でみんなを楽しませるといったシーンだったと思うん
ですけど。そういうことをプログラミングでやりたいと思うんです。ゼロから
は無理だとしても、自分の作った何かでちょこちょこっとやっただけでみんな
を楽しませるようなこと。

--

http://www.youtube.com/?v=a4jumlJQxV4

youtubeで一番感動したのはこれだったりするんだな。

--

なにいってんだ。単純さの維持と機能拡張との間 (はざま) で悩むことこそ開
発者の仕事だろ。

--

% cat rb.rb
require 'test/unit'

class YarvTest < Test::Unit::TestCase
  def test_yarv
    assert(true)
  end
end
% rubyyarv rb.rb
/home/mcd/yarv/lib/ruby/2.0/optparse.rb:1157:in `method_missing':
  undefined met\
hod `fetch' for nil:NilClass (NoMethodError)
        from /home/mcd/yarv/lib/ruby/2.0/optparse.rb:1157:in `block (2
  levels) \
in make_switch'
        from /home/mcd/yarv/lib/ruby/2.0/optparse.rb:1157:in `each'
        from /home/mcd/yarv/lib/ruby/2.0/optparse.rb:1157:in `block in
  make_swi\
tch'
        from /home/mcd/yarv/lib/ruby/2.0/optparse.rb:1126:in `each'
        from /home/mcd/yarv/lib/ruby/2.0/optparse.rb:1126:in
  `make_switch'
        from /home/mcd/yarv/lib/ruby/2.0/optparse.rb:1250:in `define'
        from /home/mcd/yarv/lib/ruby/2.0/optparse.rb:1254:in `on'
        from
  /home/mcd/yarv/lib/ruby/2.0/test/unit/autorunner.rb:106:in `block \
in options'
        from /home/mcd/yarv/lib/ruby/2.0/optparse.rb:845:in
  `initialize'
        from
  /home/mcd/yarv/lib/ruby/2.0/test/unit/autorunner.rb:101:in `new'
        from
  /home/mcd/yarv/lib/ruby/2.0/test/unit/autorunner.rb:101:in `option\
s'
        from /home/mcd/yarv/lib/ruby/2.0/test/unit/autorunner.rb:88:in
  `process\
_args'
        from /home/mcd/yarv/lib/ruby/2.0/test/unit/autorunner.rb:10:in
  `run'
        from /home/mcd/yarv/lib/ruby/2.0/test/unit.rb:276:in `block in
  <top (re\
quired)>'

本家Permlink


2006年02月26日1

Rubyユーザでガンプラ作ってるってカミングアウトした人は初めてじゃない?

それと、やっぱDSね。巡回中断する前はそんなにいなかったと思うんだけど、
なんか年明けたら? みんな持ってるし。

レディースと聞いてヤンキー思い浮かべるオレはDQNか? (w

マジっすか? MR-Sっすか? うわー。

まつもとさんのネクタイ姿、初めて見ました。動的言語って縛りありましたっ
け? それがなければEiffelについて話を聞いてみたいですね。ああ、あと
Self。誰もがプロトタイプOOPLっていうの知ってるけど、それ以上は知らない
でしょう。処理系触れる人が限られてましたから。Prographも希望としてある
んですけど。

ぐは。今どき、ブラウザのサイズを変えるページがあるのか。

--

sid、なんか最近よくlibc上がるなぁ。

--

YARVのbenchmarkですけど、Makefile見ると:

	$(BASERUBY) -I$(srcdir) -I$(srcdir)/lib $(srcdir)/benchmark/run_rite.rb $(OPT) $(ITEMS) --yarv-program=./$(RUBY) --ruby-program=$(BASERUBY) --opts=-I$(srcdir)/lib

これでいいんですかね? 自分のとこじゃ動かないんですけど。動かすには
BASERUBYはYARBのときにビルドした2.0のほうじゃないとダメみたいなんです
けど。

自分は:

../configure --enable-shared --prefix=$HOME/yarv --program-suffix=yarv

っていうやり方でビルドしました。

・・・

読みました。
バグは、ちゃんと寝てください。

(『〜は、ちゃんと寝てください』を流行らすぞ、と)

--

YARV、test/unitがまだ走らないんですね。これはちょっと痛いです。いや、
かなり痛い。

ひょっとしてsyslogもまだかな。

ぐえ。syslogはソースそのものが入ってないのか。

1.9のほうからsyslogをコピってビルド。問題ないみたい。

そうすると、やっぱりtest/unitですね。これが動けばユニット・テストで
YARV使うのは全然手間じゃないですから。

--

ぐえ。YARVはsvnからさっき取ってきたヤツ。

% irbyarv
irb(main):001:0&gt; exit
/home/mcd/yarv/lib/ruby/2.0/irb.rb: -- stack frame ------------
(中略)
---------------------------
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb.rb:261:in `signal_status'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb.rb:147:in `block in
eval_input'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb/ruby-lex.rb:244:in `block (2
levels) in each_top_level_statement'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb/ruby-lex.rb:230:in `loop'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb/ruby-lex.rb:230:in `block in
each_top_level_statement'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb/ruby-lex.rb:229:in `catch'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb/ruby-lex.rb:229:in
`each_top_level_statement'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb.rb:146:in `eval_input'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb.rb:70:in `block in start'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb.rb:69:in `catch'"
DBG> : "/home/mcd/yarv/lib/ruby/2.0/irb.rb:69:in `start'"
DBG> : "/home/mcd/yarv/bin/irbyarv:13:in `<main>'"

何か? みんなはC-dで抜けてるのか? 行儀悪いだろ、それ (笑)。

--

そりゃそうだ。何も C や Java じゃないんだから、1 つのクラスを複数のファ
イルに分けて書いたっていいわけだ。で、配布するときに 1 つにしちまえば
いい。

配布するときに 1 つにしちまうのは前からやってるけどな。でも、これ、デ
バッグがやりにくくなるんだよな。バックトレースで出てくんのは 1 つにし
たファイルの行数で、それを今度はどのファイルなのか見つけねぇといけねぇ
から。

--

もうキレた。make にはもうキレた。真面目に rake の使い方覚えよう。

・・・

うわっ! チュートリアル、みじかっ! みじかすぎっ!

・・・

ぐは。結局、sh 呼びまくりんぐ (笑)。

・・・

あ、わかった。ここで require 'shell' の登場か。

お、いーかんじですよ。

かつて石塚さんが『shell.rb、いいんだけどなぁ、みんな使ってくれないんだ
よなぁ』と嘆かれてましたが、ついに日の目を見ることに。カンドー。

--

そうそう、石塚さんといえば、自分的には irb と o_dbm なんですけど・・・
って、o_dbm が RAA から消えてるやん! むむむ。

--

ぐわ。shell.rb の使い方がよくわかりませんよ? てか、リファレンスの例が
動かないし (笑)。

ああ、それと、rake と組み合わせて使うと、なんかワーニングがうるさいん
ですが。何かオレが勘違いしてる?

Rakefile の一部だけ載せときます。全部載せちゃうと何作ってるかバレちゃ
うから一部だけね。ファイル名も一応変えてと。

task :foo do
  s = Shell.new
  s.echo "#!/usr/bin/env ruby" &gt;'foo'
  SRC.each do |ech|
    s.echo(&quot;#file #{ech}&quot;) &gt;&gt;'foo'
    s.cat(ech) &gt;&gt;'foo'
  end
  s.chmod 0755, 'foo'
end

&quot;&gt;&quot; と &quot;&gt;&gt;&quot; とで優先順位が違うのがイヤらしいところ。仕方ないっちゅうか
当たり前なんですけどね。

これでスッキリ書けるんですけど、やっぱコマンドのエコーバックがないのが
不満っちゃ不満ですか。

--

あ、そうか。いちいち s. なんて書くの面倒なんだからブロックにしちまえば
いいのか:

task :foo do
  Shell.cd('.') do
    echo("#!/usr/bin/env ruby") >'foo'
    SRC.each do |ech|
      echo("#file #{ech}") >>'foo'
      cat(ech) >>'foo'
    end
    chmod 0755, 'foo'
  end
end

あれ? Shell#out なんてのがあるけど、何も出力されないな。

Shell.new.out do
  ...

でやるんだけど。多分、オレが期待してるものじゃないんだろうな。

本家Permlink


2006年02月26日

デジドカ、デジタル・ドカタっていう表現がありますけど。

それってどうなの?

いいたいことはわかりますけど。でも、使っちゃいけない表現でしょ。

オレはよぉ、人が汗水垂らして働いていることをバカにするような言い方は大っ
嫌いなんだよ。

今もこのクソ夜中に道で工事やっててよ。土方が働いてたわけだよ。それが悪
いことなのかよ。土方で働いて悪いのかよ。

じゃあ何か? 土方よりプログラマのほうが偉いのか? え?

てめーが奴隷扱いされてて、それから目ぇ逸らすために自分より下のヤツ作っ
て。それこそ奴隷根性だろ。

下のヤツ作らねぇと自分の職業に誇りを持てねぇとか、そんなマヌケなことい
ってんならプログラマなんか辞めちまえ!

本家Permlink


2006年02月25日2

http://ja.wikipedia.org/wiki/%E3%83%93%E3%83%A3%E3%83%BC%E3%83%8D%E3%83%BB%E3%82%B9%E3%83%88%E3%83%AD%E3%83%B4%E3%82%B9%E3%83%88%E3%83%AB%E3%83%83%E3%83%97

誰かと思た (笑)。

本家Permlink


2006年02月25日1

C-x r / REG
C-x R j REG

レジスタにポイントを保存することができるのは知ってたけど、やり方までは
調べてなかった。C-x r / REG で保存、C-x r j REG でジャンプ。REGという
のは、大雑把にいってA-Za-zどれか。正確にいうと、0-255 の ASCIIなんだけ
ど、そんなにたくさん使わないし。たとえば、C-x r / r でポイントをレジス
タ r に保存したら、C-x r j r でレジスタ r に保存したポイントに飛ぶ。

--

メソッドの切り出しは、単純なケースが多いものです。でも、複雑になるケー
スもままあります。そうしたとき、コード片をパズルのように組み換える必要
があります。これはひとつの技能といえるでしょう。そして、この組み換えの
技能について語られることはあまりないようです。

自分はよくこういう組み換えで悩みます。機能としては十分動くのだけど、コー
ドにどこか気に入らないところがある。そんなときですね。悩んだ末に結局何
もしないこともあります。でも、自分はそれが無駄とは思いたくありません。
他の人にこうした妙なこだわりを押しつけるつもりはありませんけどね。

でも、こういう組み換えは、コードを書く以上、多かれ少なかれ誰しも経験す
ることです。そして、この組み換えの能力というのは、やはりコードを書くこ
とでしか培われないように思います。

本家Permlink


2006年02月25日

APIに著作権はなかったんじゃなかったっけ? あるんだったらWineとかアウト
じゃん? Linuxだってアウトになるわな。

XMLとか、一般の文書のフォーマットにもなかったような。保護すべき知識と
いうものがないと思うけど? 意匠関係ではあるかもしれんけど。

--

前原です。
読みました。
なんかよくわかんないけど永田くんも
ちゃんと党に貢献してるんだね(たぶん)
不安定な精神状態は、ちゃんと寝てください。 

--

http://www.ddj.com/documents/s=9776/ddj1135183200742/

すげー。米国じゃ今だにAdaが記事なるのか。

--

http://www.realsoftware.com/

へー、まだRealBasicってあるのか。Borlandが開発ツール止めるっていうこの
ご時勢に。

--

http://live14.2ch.net/test/read.cgi/liveplus/1140792736/

--

http://www.news24.jp/53234.html

--

㌢㌧㌢㌧㌢㌻㌘

--

今の今まで『むらかみ』だと思ってたオレガイル。村主。

本家Permlink


2006年02月24日1

http://www.google.co.jp/search?hs=D6U&hl=ja&client=firefox&rls=org.mozilla%3Aja%3Aofficial&q=%E3%83%8B%E3%83%A3%E3%83%B3%E6%95%B0&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

フツーに使われてるのな。

でも、これは『にゃんずう』でしょ。こないだのは『にゃんすう』だから。濁
らないから。

本家Permlink


2006年02月24日

Windowsの文化、特にプログラミングの文化っていうのは、パッケージソフト
の文化なんでしょうね。とどのつまり、いかに (お金を払ってくれる) ユーザ
を獲得するかに収束するというか。当たり前っちゃ当たり前なんですけど、そ
の当たり前はUnixにはなかったわけで。

それから多分、VBの流れっていうのもあるでしょうね。それがどういう形かま
ではわからないんですけど。UnixはCなわけで、それはいろんな影響を与えて
いますよね。そういうところの違いはあるんじゃないですかね。

でも、どういうわけか、VBについては語りたがらない人が多いみたいですね。
自分は『VBはダメ』とかはないです。使ったことないですし。

--

http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Shiro%3alog%3a2005%b8%e5%c8%be

『2005/11/25 21:56:29 PST』の記事。そうなんすよねぇ。アイデアがあって
もそれを実現できる腕がないとどうにもなんないんすよね。で、自分の腕でで
きるもんとなるとありふれたものになっちゃうという。まぁ、最近はアイデア
も枯渇気味なんですが。

最近思うのは、ハックもスゲェんですけど、長いこと取り組めるテーマってい
うのも大事なんじゃないかと。そういうのは得てして平凡なもんだったりする
んですけど。あ、この平凡っていうのは成熟した分野といった意味です。たと
えばプログラミング言語がそうですよね。今でも革新は続いてますけど、言語っ
ていう分野はやっぱりもう成熟してますよね。OSなんかもそうです。

鵜飼さんにいわせれば、ハックはかけた時間じゃなくって、公表されたことの
ない類のものってことなんですけど。

で、なんで長いこと取り組めるテーマが大事かというと、作る衝動を止められ
ないからです。アイデアがあっても腕がなきゃストレスが溜まります。でも、
それなりの腕があっても作りたいものがなきゃこれまたストレスが溜まります。
そういうストレスを抑えるために、平凡ではあっても長いこと取り組めるテー
マがいるんじゃないかと思うわけです。

それと、長いこと取り組むんだという気持ちがあれば、結構デカいもんも作ろ
うと思いますしね。言語にしてもOSにしても。

そういう本線みたいなのがあって、たまに何かひらめいたらハックしてみれば
いいし。で、また本線に戻ると。Linus氏のgitにしても、まつもとさんのmorq 
にしても、既存のものが不満ということもあったにせよ、やっぱり作りたい衝
動が勝ったんだと思います。

もちろん、これは個性にも左右される話ですけどね。アイデアも腕も両方あれ
ば、どんどん新しいものに挑戦できるでしょうし。飽きっぽい人も長いのはダ
メでしょうし。多作か寡作かの違いですよね。どっちがいいなんていえません。

--

すっげー乗り遅れてるんですけど、OOAとOODの話。

もうこういう話は自分の中じゃ過去のものなんですけど。従来いわれていた手
法としてのOOA/OODというもの、図を使ったりなんだっていうのは、自分はも
う捨てました。捨てていい、捨てるべきだと確信できたのはXPとかリファクタ
リングを知ったからです。それ以前から離れてましたけど。

OOA/OODなんかを当時はオブジェクト指向手法論なんて呼んでたわけです。XP
なんかは、このオブジェクト指向手法論に対抗するために生まれたんですね。
だからK.Beck氏は『手法論』という言葉をXPに用いるのを嫌うわけです。当時
は『手法論 == オブジェクト指向手法論』でしたから。

だから、正しくは『オブジェクト指向神話 == オブジェクト指向手法論神話』
だったんですけどね。

オブジェクト指向でどうやってプログラミングすればいいか分からないってい
う人もいると思うんですよ。でも、だったらまだOOPやらないほうがいいです
よね。その前の段階であるモジュール化のことが理解できてないってことです
から。自分は、OOPはADTから発展したという意見に賛成してます。OOPに至っ
た道は複数あるっていわれますけどね。

だから、オシム監督じゃないですけど『コード、コード、コード!』なんです。
コード書いてオブジェクトが見えてくるようにならないと。自分は真面目に書
いてますよ。実際、文章にしても英語のヒアリングにしても『量をこなせ』っ
てのはよくいわれることでしょ。そこをOOA/OODでショートカットすることは
できませんよという話です。

--

いくらなんでも、Appleがもう一度PDAに挑戦、なんてことはないですよね?

--

http://www.mars.dti.ne.jp/~hirok/xp/col/045.html

まだその本読んでないんでちょっとだけ。

前にも書いてますけど、ソフトウェア化できる知識ってのはまだいくらでもあ
ると思ってます。それは斬新なものじゃなくって。いや、具体例をあげろとい
われても困るんですけどね (笑)。だから、プログラマの仕事はなくならない
と自分は楽観しています。もちろん、求められる知識は変わっていくでしょう
けど、それは今までも同じことですから。

逆をいえば、『向こう側の常識』が『こちら側の常識』になったときこそチャ
ンスじゃないですか。だって、そんなもん重量級で賄えるはずはいんですから。

--

何呑気なこといってるんですか。オシム監督はこういってます。

  君たちはプロだ。休むのは引退してからで十分だ。

そして、プログラマに引退はありません。プログラマからプロを取ったらグラ
マーになっちゃうでしょ。

つまり、コードにまみれて死ね!ということですよ。

--

ああ、バカだった。GUIなんかでテスト・コード書けないんだったら、フツー
にテキストで書きゃいいだけの話じゃん。自動化できないのは痛いけど、何も
残さないよりよっぽどいい。後でまとめてテストすることだってできるし (多
分やらないだろうけど)。

  forward-char

  * C-x C-fでempty.txtを開いて、C-fでforward-charを呼び出す。するとビー
    プ音が鳴る。

とか。まぁ、こういうのを世間じゃ仕様書と呼ぶのかもしれんが。

本家Permlink


2006年02月23日

ん〜、多少煽って議論を引き起こしたいっていうのがあるのかもしれませんけ
ど。実際、前半と後半とでagileに対する評価が大きく変わってますしね。

あの程度のことはXPでもやります。それを設計と呼ぶかどうかはわかりません
けど。いきなりコード書き始めるなんてこと、XPじゃありませんよ。

どうしてXP嫌いの人はThe Planning Gameが見落とすんですかね。The
Planning GameをXPEであんまり詳しく触れなかったK.Beck氏にも責任はあるか
もしれません。でも、PXPでまるまる1冊解説してるわけでしょ。K.Beck氏が著
者として名を連らねているXPシリーズっていうのは、XPEとPXPしかないんです
から。この2冊を押さえないでどうするの?って感じなんですけど。

咳さんが『XPの肝はThe Planning Game』みたいなことをおっしゃっていたこ
とを覚えています。XPで実践している人の言葉ですから、自分がギャーギャー
いうより重みがあるでしょう。

前にも書いたと思うんですけど、XPには設計フェーズというものはないんです。
常に設計フェーズなんですから。それはThe Planning Gameから始まっていま
す。当たり前ですよね? 設計というか方針みたいなものがないと見積もりで
きないじゃないですか。仕様書にしたってそうです。顧客の要望が把握できて
ないで、一体何を実装するんですか? XPではそれを仕様書ではなく、ストー
リー・カードとして処理してるだけです。

本家Permlink


2006年02月22日

『オシムの言葉』(木村元彦、集英社インターナショナル)

http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B4%E3%82%B9%E3%83%A9%E3%83%93%E3%82%A2

このURLはWikipediaにあるユーゴスラビアのページです。ユーゴで起きた悲劇
は、映像では見たことはありますが、自分にとってはあまりにも遠い地の出来
事でした。けれども、この本を読んで、その悲劇に巻き込まれた一人の人間の
苦悩というものをちょっとは知ることができたように思います。

自分のは第4刷ですから、かなり多くの人に読まれているのでしょうね。自分
がこの本の存在を知ったのはごく最近なんですけど。

一部は雑誌記事 (VS?) の再録なんですかね? 読んだ記憶があります。でも、
きちんと一冊の本として仕上がっています。内容としては、いわゆる語録でも
なく、インタビューでもありません。オシム氏周辺への取材をもとにしたドキュ
メントです。取材は、オシム監督の故郷であるユーゴにも飛んでいる本格的な
ものです。もちろん、オシム監督の言葉は端々に出てきますけどね。

本書のメイン・テーマも、今の千葉の監督としての活躍ではなく、ユーゴ代表
監督としての活躍、そして紛争による挫折にあるといっていいでしょう。コー
チングについての蘊蓄を求めていたので、ちょっと肩透かしを喰らった感じで
した。でも、読み始めると、これが止まらない。ときに笑い、ときに泣く。い
や、奥さんと再開したときとか、ほんとに泣いちゃいましたよ。

コーチングに役立つかどうかはともかく、サッカー・ファン、いや、もっと多
くの人に読んでほしい本です。

本家Permlink


2006年02月21日2

http://capsctrl.que.jp/kdmsnr/wiki/bliki/?RubyPeople

PeopleMatterMost。なるほどなぁ。社会学とかいうよりも、PeopleMatterMost
といったほうがズバリだよな。

蛇足だけど、Rubyとか関係ないから。

  私はソフトウェア開発においてPeopleMatterMostを常に信条としている。

という開発者としての態度の話。

本家Permlink


2006年02月21日1

『Joel on Software』の中で、Netscapeを引き合いに出して、『作り直すのは
よくない』と繰り返し述べられています。ここでもセカンド・システム願望と
いうのは否定されているわけです。

セカンド・システムが望めないとしたら、どうやって機能拡張すればいいのか。
結局、進化的設計以外にないわけです。でなければ泥縄しかありませんから。

ところが、この進化的設計についてはこれまであまり多くは語られたことがあ
りません。『リファクタリング』が目立つ程度でしょう。それでいいんでしょ
うか。

今求められているのは、スクラッチから大きいシステムを作り上げるノウハウ
なんかじゃないでしょう。今動いているシステムをどうやって壊さずに機能拡
張していくか、そのノウハウこそ求められているんじゃないでしょうか。

これまでは動いているシステムをいじるときには『保守』という言葉でひとく
くりにされていました。でも、保守という言葉のニュアンスは、ほとんどバグ
フィクスと同じです。進化的設計とは程遠い。

進化的設計というのは、時間軸のある設計ということです。A地点からB地点に
至る道筋を考えるということ。どうすればシステムが健康に育っていくかを考
えることといってもいいでしょう。その分手間はかかります。でも、育てるっ
てそういうことでしょう。

本家Permlink


2006年02月21日

いや、.bashrcが設定する環境変数なんかをzshに引き継ぎたいっていうことな
んです。この.bashrcは自分が書いてるものじゃなくって、Debianの
user-ja-confっていうコマンドが用意するものなんです。だから、ログイン・
シェルをzshに変えちゃうと、このuser-ja-confまで利用できなくなっちゃう
ということなんです。もちろん、手で設定内容をコピーするってのもできるん
ですけど、ちょと面倒です。

おっと、kitajさんとこでなかださんがコメントされてますね:

http://kitaj.no-ip.com/tdiary/20060220.html#p01

まず、-lsですけど、これは、Gnomeのアプリケーション・メニュー (にある
Debianメニュー) から立ち上げるときに問題になります。ワークスペースを複
数使っている都合で、自分はよくアプリケーション・メニューから端末エミュ
レータを立ち上げます。このときにオプションを渡す方法がわかりません。

で、なかださんのコメントなんですけど、おお、そうですね。自分、man rxvt
したときに、リソース云々の話は読んだんですけど、なんかスルーしてました。

ってなわけで、~/.Xresourcesの最後に:

Rxvt*loginShell: true

を追加しました。バッチリです。ありがとうございました。

.bashrcのほうもきれいにして、.bash_profileの最後でexec zshやるのは変え
てません。

--

http://www.radiumsoftware.com/0602.html#060218

2006年2月19日の記事。これは実業界にもいえることじゃないでしょうか。

--

またやってしまった。Ctrl+Alt+Backspace。新しいPCにはまだ設定してなかっ
た。トサカに来て設定することに。ところが、XがX.orgのものに変わっていて、
XF86Configが見つからなくて焦る。結局、/etc/X11/xorg.confというのがそれ
だった。で、ググったところ、『man見ろ』みたいな感じだったのでman
xorg.cof。というわけで、xorg.confの最後に:

Section "ServerFlags"
	Option "DontZap"  "on"
EndSection

を追加でオケ。

本家Permlink


2006年02月20日1

http://www.swedenabroad.com/pages/news____46464.asp

憎っくきスウェーデンで五輪がどう盛り上がってるか知りたいんだが、どこを
見ればいいかさっぱり。おまけにクローバル。

なんかそれらしきとこをいくつか見て回ったんだが、どうやらスウェーデンで
もカーリングはマイナー・スポーツらしい (笑)。当たり前か。メジャーでか
つ勝てるウィンター・スポーツは他にいくらでもあるからな。

http://www.svd.se/OS2006
http://expressen.se/os2006

--

プログラミング人口の減少に歯止めをかけるべく色々考えてたんだが。
その一番の原因は言葉にあるんじゃないか。横文字にしても漢字にしても
小難しいのが多すぎる。まずはこれから改める必要がある。

まず真っ先にあげるべきはプログラミングそのものだ。これは以降
プログニャミングとする。次に変数。これはニャン数。定数はニャー数。
配列はニャー列。問題は関数だ。ニャン数はすでに使われてるから、
ワン数でいこう。条件分岐はワンニャン。ワンかニャンかを決める
というわけだ。繰り返しはワンワンまたはニャーニャー。ニャンニャンは
まずい。

さらにCの文法も変える必要がある。まずセミコロンは「ダニャー」または
「ダワン」。mainはミャーン。では早速サンプルだ:

int
ミャーン()
{
  printf("hello, world")ダニャー
}

まだまだ改善の余地はあるが、こうした地道な改革こそが今の
プログニャミングにはお求められると思うんだワン。

本家Permlink


2006年02月20日

『Joel on Software』に『ビッグマック 対 裸のシェフ』という話があります。
どうしてビッグマックは、腕のいいシェフが作る一品物の料理ほど美味しくな
いのか?という話です。要は『会社をデカくすれば、技術力が落ちるのはしょ
うがない』ってことです。まぁ、詳しくは本を読んでもらうとして。

当然、自分はこれを読んで、こないだの会長の話を思い出したわけです。

自分は会長とチョロっと話したことがあるだけなんですけど、あの記事に込め
られた思いというのは結構重いんだと感じました。なんていうんですかね、底
を見てる人の発言なんですね。

Joel氏なんかはテッペンを見てる人の発言なわけです。Joel氏は、この業界に
はクズが多いとはいっていても、いい人を集められるという自信というか信念
みたいなものがあります。だから『いい人しか雇うな』と言い切れる。

でも、底を見てる人は違いますよね。いい人がこっちに来るかなんてわからな
いし、来たとしても十分な報酬が払えるとも限らない。でも、それなりに仕事
はある。なら、とりあえずそのへんにいるアンチャン捕まえてでも仕事をこな
さないと会社が回ってかない。(たとえばの話ですよ? 自分は会長の勤め先と
か全然知りませんから。)

いってみれば、ビッグマックの世界に生きざるを得ない。それは技術者として
嘆くべきことでしょう。そうした葛藤があの記事の裏にはあるんだと自分は 
(勝手に) 思ったわけです。(いや、もっとドライに、現実を見つめたらそうなっ
たという話かもしれません。)

テッペンを見るのがいいか、底を見るのがいいか。どっちがいいかなんて自分
はわかりません。1つだけいえるのは自分はテッペンを見る、見たいというこ
とだけです。でも、そんなのだって立場が変わればいくらでも変わるでしょう
しね。

--

まぁ、でも、ぶっちゃけ、Joel氏はタレントに頼りすぎですかね。いい人を集
めればいいものが作れるとJoel氏はいいたいわけでしょ。極端にいえばね。そ
のあたりはP.Graham氏と似てますよね。そうともいい切れないんじゃないの?
というのが方法論 (というかXP) 好きの自分の意見です (笑)。

本家Permlink


2006年02月19日

so-netでもようやくスパム除けのサービスが始まりました。こういうのは上流
でやってくれたほうが助かります。

ソニーはいろいろあるけど、なかなかプロバイダは変えられないですよね。上
のサービス申し込むときにチラッと見えたんですけど、1996年からso-net使っ
てますね。早いもんです。

--

昨日、``exec zsh''を.bash_profileでやるように変えたと書きました。そう
したらまた新な問題が発生しました。Gnome上で端末エミュレータを起動した
ときにシェルがbashのままです。

端末エミュレータ上で``exec zsh''をやれば済むだけの話なんですが。やっぱ
り面倒ですよね。

自分が普段使うのはkrxvtなんですけど、xterm, gnome-terminalでもこうなり
ますね。Etermは.bash_profileを読み込むようです。

EtermはAltキーもEmacsライクに反応しますし、よさそうです。黒地に白文字
というのは嫌いなんですけど、しょうがないですね。設定で変えられるんでしょ
うけど。

ただ、他の端末エミュがそうなように、これはDebian的じゃないのかもしれま
せん。ということは、いずれ.bash_profileを読まないようになるかもしれま
せん。

ぐえ。コマンド名もEtermだったんですね。

本家Permlink


2006年02月18日1

いや、それはちょっとひねくれた見方じゃないでしょうか。そもそも、人間と
いうのは繰り返しをそれほど苦にしない生き物です。いや、苦にしないどころ
か好きなのかもしれません。だから同じことを繰り返してしまう。それを矯正
するには意志が必要なわけで、そこでonce and only onceだとかDRYとかのス
ローガンが必要になってくるのです。

once and only onceとかDRYだとかはそもそもpragmaticな文脈で語られている
という背景にも目を配るべきでしょう。それは最高のアーキテクチャを作ろう
といった理想主義的な思想から生まれたのではありません。少しずつものを作
り上げていく過程で、似たようなものが出てきたらそれらをまとめていく。そ
ういう改善の思想がonce and only onceとかDRYの裏にはあるわけです。

--

ぐは。増井さん、ブログ始められてたんですか。

なんでhotlinksに乗っけないの? ダメじゃないっすか。

ぶっちゃけ、オレのなんか消してもいいから増井さんは乗っけないと。なんつー
の? hotlinksの格みたいなものを上げて、それなりの宣伝効果を狙ってかな
いと。たとえばruby-lang.orgからhotlinks来た人が、「お! この人もRubyユー
ザなのか!」みたいなのがあったほうがいいでしょ。

ああ、これは閉鎖的にしろっていってるわけじゃないんで。そういう品格とか
あったほうが書くほうもしっかり書こうとするでしょ? オレは違うけど (笑)。

--

あははは。気になりますよね、やっぱり。隣の人の本っていうのは。

前にも書いたとおり、自分は、書店が用意する本のカバーはかけません。電車
で立って読むときは、わざと表紙が周りから見えるようにすることもあるくら
いです。持って歩くときも表紙を晒すように気をつけたりもします。

何を期待してるというわけでもないんですけどね。まぁ、話のネタにでもして
くれたらいいと思ってやってます。

自分は結構隣の人の本とかPCとかジッと見るほうです。見られて悪いもんを晒
してるほうが悪いという考えなんで。ケータイのゲームとかも気になります。
麻雀とかテトリスとか、RPGっぽいのもありましたね。

本家Permlink


2006年02月18日

.bashrcの最後で``exec zsh''やるとscpができなくなるという罠。

2台sidがあって、同じzsh使ってて、AからBにはscpできてもBからAにはscpで
きない。設定は同じにしてるつもりだったが、scpできるほうは.bashrcではな
く、.bash_profileの最後に``exec zsh''をやってた。

脱力。sshd_configとか書き換えたり、そりゃもう。

BKならぬBO。バカなオレ。

本家Permlink


2006年02月17日

private使うのは、ぶっちゃけ、ドキュメント (コメント) 書きたくないって
いうのが大きいんですよね、自分の場合は。

まぁ、publicでも書かないんですけど (笑)。

--

www.nintendo-inside.jp/news/178/17884.html

ぐえ。ほぼ来年ってことだろうなぁ。がっくし。てか、発表したの早すぎじゃ
ね? DS買ったのは『シレンが出るから』ってのが結構デカかったんだけど。
ちょっと早まったかも。ファイアーエムブレムの新作なんて話も全然出てこな
いみたいだし。

--

ぐえ。今ごろ『C MAGAZINE』の休刊を知った。まじすか。

まぁ、読んでなかったんだけど。

これで『日経ソフトウェア』くらいしかプログラミング専門の雑誌はなくなっ
たのか。こっちはほとんどスルーだしなぁ。

むぅ。

しかし、最近の少年少女はどうやってプログラミングの勉強してるんだ? ハ
カーなパパ・ママに教えてもらうというのはなしで。

VisualBasic Express EditionってのはWebからインストールすればタダなのか
な? オープンソースマガジンにはVisualC++ Express Editionが付いてたけど。

Borlandの話もあったしなぁ。

まぁ、なでしこでもHSPでも何でもいいからプログラミングに興味持ってもら
いたいもんです。

--

あれ? そういえばMS系の開発ツールってGNUと混ぜじゃダメとかってなかったっ
け?

本家Permlink


2006年02月16日1

まー、イメージでいえば、RubyユーザはDSのほうが多いよね、ぶっちゃけね。

もちろん、オレも例外じゃない。

--

ぐえ。Sleepycatが買収。しかもOracleに。

むぅ。svkの下はSubversionで、その下にはBDBがあるんじゃなかったっけ?
ミョーなほうに行かないことを祈る。

--

こないだyoutube見まくったときに、Sly & the Family Stoneのテレビ・
テーピングがあって感動したですよ。自分、全然詳しくなくって、あのカン高
い声、男の子だとばっかり思ってたら、女の人だったんでビックリしました。

クリムゾンのヤツも見たんですけど、途中で見るのを止めちゃったというのは
内緒です (笑)。

強烈だったのはQueenでフレディが女装してるビデオ。ヒゲ生やしたまんまミ
ニスカはいて。これも途中で・・・

S.Wonderのガキのころのビデオもよかった。A.Franklinの脂の乗ってるころの
もよかった。でも、一番よかったと思ったのは、FunkadelicのMaggot Brainの
ライブ。動いてるE.Hazel見るのははじめてだった。JB'sが見たかったんだけ
ど見つからなかったのは残念。

まぁ、youtubeには感謝してるってことです。

--

http://www-ui.is.s.u-tokyo.ac.jp/~takeo/diary/diary.html

『06/1/18 講演会』の記事。オープン・ソースの人たちの中で『熾烈な勢力争
い』があるというのは初耳です。どんなんですかね。

確かにオープン・ソースと一口にいっても一枚板じゃありませんし。そもそも
forkを是としているのがオープン・ソースなわけで、いろいろな勢力というか
グループができやすいというのはありますよね。

勢力争いとまではいわないまでも、競争が激しいというのは容易に想像できま
す。実際、適用分野がかぶる品も多いですし。Python vs Rubyとか (笑)。

まぁ、自分としては健全な競争が行われていると思っていますけど。

--

どうなんですかねぇ。自分はそういう経験ないですけど、『お前は向いてない
からこの職業辞めろ』って、やっぱなかなか口に出して言えないですよね。

まぁ、自分なんかは向いてないと自覚してるからタチが悪いんですけど。

でも、相手が若いんだったら、いってあげたほうが相手のためになるしなぁ。
囲碁のプロ試験なんかだと年齢でバッサリ切られちゃいますけど。

--

いやいや、似てないでしょ。加藤茶と。Stephen Colbertって人のイメージを
ググってみたけど、似てません。

これなんかはダジョウのリーダーに似てますけど:

http://www.classictvhits.com/cast/1588.jpg

--

http://home.att.ne.jp/sigma/satoh/diary.html

2006年2月15日の記事。往年のMacユーザでキヤノンが好きな人は少ないと思い
ますが、自分もそういう一人です。でも、この記事を読んで、ちょっと見直し
ました。それにしてもソニーヤバイ。『OEMかよ?!』と思った。

--

へー、Borlandがねぇ。まだ売り先が決まったわけじゃないみたいだけど。

でも、Delphiがなくなることはないんじゃないですかね? 根拠ない楽観的な
予想ですけど。VisualWorksもなんだかんだまだ生き残ってたりしますし。身
の丈に合ったやり方ならやってけるかも知れません。

--

自分の場合、行政がオープン・ソースを選ぶのは当たり前だと思ってますから。
だから、行政が『これこれこういうソフトがほしい、ただしオープン・ソース
で』といえばいえば済むこと。振興政策なんかとは分けて議論すべき話だと考
えています。

ただ、これは原則というか基本線という意味であって。作る側の都合というも
のもあります。でも、今まではその作る側の都合を行政がユイユイダクダクと
呑んでたわけで、それじゃイカンという話でしょ。行政の側が公の資産が増え
るようにもっと努力しないと。

MSなんかがギャーギャーいうのは、こういう公の話と振興策とをゴチャマゼに
して混乱させるのが目的なんでしょ。

--

唯唯諾諾は『いいだくだく』と読むらしい。この年まで知らなかったよ、ママン。

--

rubymode-aux.el

ほんとにほんとに話題にならないもんばっかり作ってるんですけど、これなん
かはほんとなんで話題にならないかわからないくらい便利なんですけどね。自
信作ってわけじゃないです。ヤッツケですから。前、高林さんが『アクセサめ
んどい』なんてことを書かれて、そんときもこれをここで紹介したんですけど、
やっぱり話題にならなかった。

だいたい、自分privateとかでシンボル指定しない書き方嫌いなんですよ。

private
def foo
  p true
end
def bar
  p false
end

みたいなの。

メソッド1つずつやるってんなら別ですけど。つまり:

private
def foo
  p true
end

private
def bar
  p false
end

でも、最初のは論外だし、二番目のは面倒だから自分はイヤ。だから

def foo
  p true
end
private :foo

というのが好みなわけ。

まとめて書くのにはいろいろ弊害があって、ひとつはリファクタリングしにく
いこと。これはエディタがダメということもあるんですけど、Emacsなんかだ
と上みたいなほうがコードを動かしやすい。もうひとつは、使う側と使われる
側のコードが離れてしまうこと。これもまたエディタがダメということなんで
すけど、publicメソッドがprivateメソッドを呼び出しているようなときでも、
自分はテキスト行的な距離が近いほうがいいと考えています。

もちろんアクセス指定をメソッド定義の後ろに書くのも素晴らしいわけじゃな
い。アクセス指定は頭にあったほうがいいですから。でも、これはRubyがダメ
なだけ。前でシンボル使ったアクセス指定やるとエラーになっちゃうから。

なんだったら:

private_def foo
  p true
end

とかもアリだと思いますよ。

本家Permlink


2006年02月16日

  array = [...]
  array.sort!
  array.uniq!

みたいなコードがあって、sortとuniqの順番が気になったんですけど、大勢に
影響はなさそうですね。

ああ、uniqってソート使ってないんですね。ハッシュで弾くんですか。いわれ
てみればナルホドです。

--

あははは。このページをdel.icio.usに登録してどうすんのよ。

--

http://d.hatena.ne.jp/higepon/20060117

へー、こんな話があったんですか。

でも、スピード鍛えるんならコードじゃなきゃ意味ないでしょ。

TOTAL: 10.462407 lines/min
test/rubysrc/1.8.2/bignum.c:11.092199 lines/min
test/rubysrc/1.8.2/class.c:10.614583 lines/min
test/rubysrc/1.8.2/compar.c:6.250000 lines/min
test/rubysrc/1.8.2/dir.c:8.339080 lines/min
test/rubysrc/1.8.2/dln.c:9.485714 lines/min
test/rubysrc/1.8.2/enum.c:9.435644 lines/min
test/rubysrc/1.8.2/error.c:12.067797 lines/min
test/rubysrc/1.8.2/eval.c:10.451015 lines/min
test/rubysrc/1.8.2/file.c:11.973386 lines/min
test/rubysrc/gc.c:9.567747 lines/min

これ、Rubyのソースを写したときのデータ。10分間くらいやるんだけど、それ
で大体100行ぐらい。

これで見つけたバグをここに貼ってるわけ。バグは1個しか見つけたことがな
いけど、コメントのスペルミスはよく見つかる。

ああ、バカ正直にやってるわけじゃないですよ。コピペ使うこともあります。
でも、そういうのは誤差の範囲。ウォーミングアップとか調整とか、そういう
ためにやります。

本家Permlink


2006年02月15日

http://homepage1.nifty.com/kokoro-v/

『中学野球小僧』の新しいのが出てます。で、パラパラとページをめくって目
に留まったのが『心のバレー』という本についての記事。

この本の著者は、中学校のバレーボール部を指導していた土屋幸一郎氏。要は、
中学バレーボールの指導書、指導者向けの本です。これが野球の雑誌で紹介さ
れるくらいですから、かなり評判が高いようです。『中学野球小僧』にも内容
が一部紹介されているのですが、自分ももっと読みたいと思いました。

しかし、残念ながら、この本、現在は絶版となっているようです。上のURLは、
著者の土屋氏のホームページです。『中学野球小僧』には、土屋氏が新作を執
筆中とありました。3月中旬ごろに出るようです。

『中学野球小僧』の記事は、土屋氏へのインタビューで構成されています。い
いと思ったら実際にインタビューしちゃうところが野球小僧らしいところ (笑)。
このインタビューが面白い。何しろ、土屋氏がベランメエ調。教頭やった人と
は思えない (笑)。

  おれ自身はスポーツをやってねぇんだよ。それが教師になって2つ目の学校
  で、女子バレー部の顧問をやれって言われてな。それも、学校の中でおれが
  一番若いという理由だった。それが28歳のときだね。ルールも何も知らない
  ところからの出発だった。

こんな感じ。でも、いってることは納得できることばかり。

  よく、『自信を持て!』って言う指導者がいるけど、荷物を持つみたいに簡
  単には持てねぇよ。選手が自信を持てるように、指導者が作ってやらなくちゃ
  いけない

とか

  人間には特色があっていいんだよ。ボールを前にしたら心は一つだけど、考
  え方や個性をすべて同じにする必要はない。持っているものを生かし、育て
  てプレーすればいい。みんな同じにしようとするから、能力のあるやつだけ
  育つ。そうでない子が足を引っ張ってリズムを崩す。

とか。

新しい著書も楽しみではありますけど、『心のバレー』もぜひ読んでみたいも
のです。

本家Permlink


2006年02月14日

『職人ワザ!』(いとうせいこう、新潮社)

面白い。浅草周辺の職人さんを中心としたインタビュー。扇子職人、手ぬぐい
職人、かりんとう屋、理容師などなど。職人の意地と謙虚さがあふれている。

この本、たまたま見つけたんですよね。囲碁のコーナー見てたら、なぜかこれ
が置いてあって。いとうせいこうってよく知らないから疑い半分で買ったんで
すけど。実際に読みはじめたらアッという間。

例の『フツー』の話が出てるときにこういう本と出会えたことに不思議な縁を
感じます。結局、技術者とか職人とか、自分の腕を上げる気持ちを持ってない
とイカンということですよ。仕事と遊びをキッチリ分けるのも悪くない。それ
ならそれで仕事に真剣に打ち込めばいいってだけで。ただ、この世界、どうし
たって腕に優劣はある。だから、分けるとか分けないに関係なく、今の自分に
満足してるんなら、技術者なんか辞めちまえってことですよ。

いや、自分だって、この本の最後に登場する『スポ刈りに賭けた男』佐川さん
みたいに、睡眠時間を3時間半にして、ハサミのシャドーを30分 x 2セットや
れとか、そんなことはいいません (笑)。鬼気迫りすぎ。

--

Joelはずるいよ (って、プ板見てない人には通じないか)

XPやアジャイルに批判的だけど、かといって重量級がいいともいってない。た
とえば:

  (パッケージの開発には) 注意深い分析と設計を省略できない。私は、アジャ
  イル方法論のいいところをパッケージソフトの世界に適用する方法を見つけ
  ようと努力してきたが、それは上手く合わないのだと分かっただけだ。

といいながら:

  アーキテクチャ宇宙飛行士たちに脅かされるな

とか:

  射撃しつつ前進

などと説く。

それに、そもそもジョエルテストの多くがアジャイルの実践ともかぶる。それ
から、自分には、Joel氏のいうプログラム・マネジャがXPのon-site customer 
にダブる。

じゃあ、Joel氏のやり方は何なの? それをアジャイルの一種と呼んで何が悪
いの? 自分にはアジャイルの一種にしか見えないし、多分自分の見方に賛同
してくれるagilerはたくさんいると思う。

Joel氏のやり方、Excelチームで生まれたやり方を発展させた開発手法という
ものに誇りを持っているというのはわかる。それはそれで素晴らしいことだと
思う。でも、だからってアジャイルを否定するのはどうなの? いや、正しく
はアジャイルはパッケージには使えないっていうことなんだけど、それもどう
なの?

だから、方法論というのは過去には重量級しかなかったわけで。MSはMSなりの
やり方でやってたんだろうけど、それを公表しなかったんだから、それは存在
しないのと同じなわけで。いや、あるにはあったよ。"Debugging the
Development Process"とか、"Writing Solid Code"とか、『ソフトウェア開発
のダイナミズム』とか。でも、それって包括的じゃなかったじゃん。単に実践
を集めてもそれは方法論にはならないわけで。実践を集めて、理論づけて、系
統立ててようやく方法論なわけでしょ?

で、そこにXPが出てきた。XPは重量級は否定するけど、過去の他のやり方まで
否定するもんじゃない。だって、それまでの優れた実践を集めて系統立てたの
がXPなんだから、それを否定するってことは自分を否定することになる。

Webでもアジャイルに否定的な意見をたまに見るけど、でも、自分が実際にやっ
てるのはアジャイルだったりすんだな、これがまた。アジャイルというものを
杓子定規に捉えすぎ。重量級より軽いものがアジャイルというだけで、それ以
上でも以下でもない。アジャイル宣言とか関係ない。

XPが合わないんだったら、そのいいとこだけつまみ食いすりゃいいだけのこと
(あんまり勧めないけど)。大体チームの事情なんて千差万別だし、そもそもXP
にはlocal adaptationっていう原則がある。自分で一流を起こすのだって大歓
迎。でも、それが重量級じゃなかったら、やっぱりアジャイルと呼ばれること
になるんだよ、と。

--

たとえばの話ね。それまでプログラマ個人個人に任せっきりだった混沌状態の
チームがあったとするでしょ。で、その中の一人、そうタケシくんが『これじゃ
イカン!』と気づいたと。タケシくんは実質的に技術面のリーダーだった。で、
責任感の強いタケシくんは本屋に行った。そうすると『オブジェクト指向』の
コーナーに『オブジェクト指向方法論OMT』とか『Booch法:オブジェクト指向
分析と設計』とかが並んでた。他のコーナーに『人月の神話』も並んでたんだ
けど、結局タケシくんが手に取ったのはOMTの本だった。

その後タケシくんがどういう人生を歩んだかは知らない。ここでいいたいのは、
アジャイルが出る前までは、ほんとにそういう状態だったということ。今みた
いに『ソフトウェア開発』のコーナーなんかなかったし、XPの本がズラ〜っと
並んでることもなかった。方法論といえば、ブ厚くて退屈な本を読んで、その
上高価なCASEツールを買わなきゃできないもんだと思われてた。

MSがどうだったかは知らない。でも、少なくとも自分はこうだったし、Web
Bang以前はこれが常識だった。Niftyなんか見ててもね。それがイヤなら我流
でやるしかなかった。

本家Permlink


2006年02月13日1

Joel、読み出すと止まらなくなりますね。

『読んで楽しい仕様書』というのは目からウロコが落ちました。自分、いわゆ
る仕様書らしい仕様書というものを書くのが苦手で。ここで書いてるような書
き方なら、まぁ、書けなくもないんですけど。

なんか世の中には仕様書の標準というものがあるらしいですね。『RFPくれ』っ
て聞いたとき、『何それ?』って聞き返しましたから、自分。

退屈でクソッタレな仕様書なんか書かんでもいいっていわれて気が楽になりま
したよ。

--

viはSingle Unixに含まれている標準コマンドです。Emacsが含まれることは当
分ないんじゃないでしょうか。

--

http://d.hatena.ne.jp/takahashim/20060212#p1

そういう意味でも技術の蓄積というのは大切だと思うんですよね。ここでいっ
てる技術っていうのはプロセスなんかも含めての話なんですけど。その組織に
入ることで実力を発揮できたり、成長できたり。それもその組織固有の技術で
すよね。

ああ、ちなみに、このページを読む人にはフツーな人はいないでしょうから、
『業務時間外にも本を読め』といっておきます (笑)。

--

Joelに次のような記述があります:

  (中略) あるいは、あなたのチームがソフトウェア製品を開発しているべき
  ときにエクストリームプログラミングやらUMLやらを繰り返し再教育されて
  目を回していることに気づいたら、たとえジョエルテストでいい点数を取っ
  ていたとしても、トラブルに見舞われるだろう。

XPは座学じゃダメなんですよね。実践の中で学ぶのが一番いい。というか、そ
うしないと何かを間違えてしまう。

だから組織全体がXPで動いているほうがいい。そうすれば、仕事をしているだ
けでXPについて学ぶことができるし、個人個人の成長も期待できる。

そうして組織が成熟していく中で蓄積される技術。組織としての技術が大切な
わけです。フツーのプログラマをextreme programmerに変えるノウハウみたい
なものも含めて。

--

タレント云々の話はお金なんかの話も含めた話ですよね。優秀な人が安く雇え
るんならこんなことで悩みませんもんね。

--

http://arton.no-ip.info/diary/20060213.html#p02

相変わらずアフィるのが上手い (笑)。買いませんけど (笑)。

自分はハンカモンですけど、それでも世話になるとこにはできるだけのものは
残したいと思っています。

プロ野球の世界じゃ、変化球の握りは引退するまで (あるいは引退しても)
『企業秘密』にしたりしますけど。自分にはそういうのはありません。

残したいとは思いつつも、自分からは何もいわなかったりするんですけどね (笑)。
押し付けるのはイヤですから。

話がそれましたけど、やっぱプロ意識を持ってほしいってのはあるんですよね。
新卒の人とかはそういうのがあんまりないかもしれませんけど。なら、そうい
う人にプロ意識を植え込むように組織がしなきゃいけない。

それに、やっぱり時間外に勉強するのは自分のためなんですよね。技術の陳腐
化が激しいこの業界ですから。仕事の中で学ぶといっても限界があるのも事実
です。そのへんのバランスはもう人それぞれですけどね。

本家Permlink


2006年02月13日

http://www.horindo.co.jp/takadanobaba/index.html

こないだはじめてここ行ったんだよね。3フロアあって、結構量があって。コ
ミックのフロアにはサイン色紙がたくさん飾られてて。高田馬場にこんなとこ
があるなんてビックリした。すっげー古いビルなんだけど。なんか地方の本屋
みたいな雰囲気だった。

--

``Joen on Software''を電車の中で読んで、で、『オープンソースマガジン』
の高林さんの記事を飯を喰いながら読んで。どちらも似たような話があって。
『ゾーン』と『佳境』の話です。

ゾーンとか集中力みたいな話は、ここでも何回か書いてますよね。で、それに
ついて自分が否定的なのは今でも変わりません。

Joelのほうから:

  単純な計算をしてみよう。たとえ一瞬であってもプログラマを中断させたな
  ら、(観察が示すように) 15分間の生産性を吹き飛ばしてしまうものと仮定
  しよう。

いや、その仮定が成り立つかっていう話なんですよね。こういう発想自体、個
人競技のものでしょう。ある一人のプログラマが対峙しているのは (プログラ
ミングの対象となる) 問題であって、チームのメンバじゃないわけです。個人
競技なら、他のプレイヤーに邪魔するなっていうのは正しい。同じフィールド
に立っていない部外者に過ぎないんですから。

でも、開発は違うでしょ。チームのメンバは同じフィールドに立っていて、し
かも味方、チーム・メイトなわけです。チームが息を合わせないとチームとし
ての成功はありません。

で、そうしたチームの勝利を前提とした場合、チーム・メイトによる割り込みっ
ていうのは必ずしも悪いことじゃない。たとえそれが仕事とは関係のない話で
も。そういうちょっとしたコミュニケーションがチームの潤滑油になるわけで
す。もちろん程度はありますよ。

開発にも『ゾーン』があるとしたら、それはバスケでいう『コート全体が見え
ている』状態であって、モニタしか見えないような状態じゃなくって、部屋全
体が見えているような状態でしょう。誰かが困っているようなら声をかけ、自
分の調子が悪ければ助けを求める。当たり前の話でしょ?

だいたい、どうやったらゾーンに入れるかとか、そのゾーンがどれくらい続く
のかとか、そういうのが曖昧なのにゾーンに期待しすぎるのは危険でしょう。
シャブでもやるのか?

--

ああ、``Joen on Software''に含むものは何もないです。というか、これは
『絶対に読まなければならない本』です。でも、そんなこと、もうみんな知っ
てるでしょ?

上の話にしても、Joel氏のもともとの主張は『プログラマは静かな環境で作業
すべきだ』というのであって、それには自分も異論はまったくないわけです。
ただ、チーム・メンバを部外者と見なすのか (ちょっとオーバーですけど)、
それともチーム・メイトと見なすのかという違いがあるだけで。まるっきりの
部外者、たとえば飛び込みのセールスであるとか、そういうのはもう文句なく
排除すべきです。

本家Permlink


2006年02月12日1

http://sportsnavi.yahoo.co.jp/baseball/npb/headlines/20060212-00000015-spnavi_ot-spo.html

東スポ、嘘つかない (笑)。参考

--

不思議なもので、巡回してないときは気にならなかったけど、巡回しだすと結
構気になるもんなんですね。自分の記事が読まれたかどうかってのは。だから
どうしたというわけでもないんですけど。

本家Permlink


2006年02月12日

バックグラウンドを透明にできるのってKonsoleしかないんですかね。他のは
擬似でルート・ウィンドウ見せるだけで。そんなんならいらないですけど。

--

天下の東スポをニッケーなんぞと一緒にされてもらっちゃ困りますぜ。

以前から情報処理学会についてはここでも書いています。ACMと比べたらその
存在感が圧倒的に違います。かといって、それをどうにかしようという努力も、
少なくとも外にいる自分からは見えません。

ん〜、アカデミックなものが実用化につながらないっていうこともないんじゃ
ないですかね。実際のところ、米国ではアカデミックな研究が実用化される例
も多いですよね。AOPなんかもそうですし、MSにもどこぞの大学の教授が移っ
てたりします。基礎研究にしてもおんなじだと思うんですよ。あんまり成果を
挙げたって話聞かないですもん。

--

一応書いとくと、こないだの三大美徳の話は角谷さんの資料を読む前に書いた
ものです。デブサミにはチラっと行きましたけど、セミナーとかは出てません。

自分は仕事以外の時間でもプログラミングします。趣味であり勉強でもありま
す。もちろん、仕事以外の時間は、遊んでたりすることのほうが多いですけど
ね。

でも、そうでない人もいますよね。仕事は仕事で割り切るっていうか。実際、
家庭があって、さらに他に趣味があったらもう手一杯になっちゃいますよね。

でも、こないだ書いたように、まだプログラマの力ってのは圧倒的に足りてな
いわけです。一人のプログラマの力を向上させないとどうしようもない。しか
も劇的に向上させないとどうしようもないというのがあるわけです。

かといって、家族や余暇を犠牲にしろってのも無茶な話です。じゃあ、どうす
るか。仕事の中で向上させていくしかない。しかも劇的に向上させないといけ
ないわけですから、仕事への取り組み方を根本から見直す必要があるわけです。

そのきっかけとなるのが三大美徳だというわけです。で、次に個人の範囲での
開発の進め方。そして、チームとしてのプロセス。心構え、個人の活動、さら
に集団の活動へと改革の波を広げていく。

残念なことに、こうしたプログラマ革命には特効薬はないんですね。そんなツー
ルが開発されるわけないですし、本を1冊読めば済むという話でもない。視野
を広げてちょっとずつ進めていくしかない。

自分だってまだ革命を始めたばかりです。

--

いや、だから現物見せればいいでしょ、っていう話なんですけど。顧客の要求
をザックリ聞いて、小さくても動くシステムを作ってみせて、それでまた顧客
の反応を受けて作り変えていくっていう。動くもの見せれば顧客だって具体的
なイメージが湧くでしょ。要求が固まらないっていうのは、顧客もどんなもの
がほしいかよくわかってないのが原因なんだから。

で、そんなしょっちゅう作り変えてうまくいくのか? っていう疑問に対する
答えがXPとか他のアジャイルなわけでしょ。だからもう実践の段階に入ってる。

アジャイルを共産主義みたいな壮大な実験と考える人がいるかもしれませんけ
ど、自分にいわせれば、旧来の重量級のほうが壮大な実験だったんだと思いま
すよ。上流主義という幻想。

本家Permlink


2006年02月10日1

ssh-askpassだとGnomeの下のパネルが死ぬ。ssh-askpass-gnomeだと大丈夫。

--

http://nogomet.cocolog-nifty.com/hrvgo/2006/02/post_50d7_1.html

ああ、取り上げたかったのは『責任』の話ね。他のことはよくわからん。てか、
どうでもいい。

本家Permlink


2006年02月10日

あれ? wotaさん、べりえじゃなきゃスルーか。

これって、コイズミの仕込みじゃねーの?
タバコ税上げるためのキャンペーンだろ?
タバコ税上げちゃったら喫煙人口減っちゃうわけじゃん?
それじゃ増税しても意味ないわけじゃん?
で、カゴ使って喫煙人口の増加を目論んだと。
さすが劇場型首相は考えることが違うよな。

--

今度は藤田さんか・・・

--

どうなんですかね。Talking Programとか、コードのイヤな匂いとか、プログ
ラマなら共感の持てる話だと思ってたんですけど。

http://c2.com/cgi-bin/wiki?CodeSmell

ここにいろんなことが書いてありますけど、こういうのって感覚的なものです
から。こういう文章を読んで『そうなのか』って思うのは簡単ですけど、実際
にコードの声が聞こえたり、匂いを感じたりするとなると話は違ってくるでしょ
う。レビューとかでじゃなく、まさにキーボードを叩いているときに感じ取れ
ないと意味がないというか。意味がないというのは言い過ぎだとしても。

センスという言葉で片づけるのは簡単なんですけどね。でも、それじゃよくな
い。となると、やっぱりいい設計というものの基本を知っておかないとダメな
んでしょうね。それも頭で理解するんじゃなく、肌で理解してないと。ああ、
自分のことは棚に上げてます (笑)。

自分としては、デザイン・パターンをいくつ知ってるとかよりも、こっちの感
覚を磨くほうがよっぽど大切だと思ってるんですけどね。なかなかこういう話
は形にしにくくて、理論派から嫌われたりするんでしょうけど。

--

L.Wall氏の三大美徳ってありますよね。怠惰、短気、傲慢。これって美徳じゃ
なくって、プログラマに絶対必要な気質なんじゃないですかね。

もちろん、これは本来の意味じゃなく、L.Wall氏が定義するところの意味にお
いての話ですよ? 本来の意味だったら仕事になんかなりっこないですから。

この3つの気質が、技術的な工夫や向上心の源になるんじゃないすかね。

大した例じゃなくって申し訳ないんですけど、自分、Emacsのキーボード・マ
クロって使ったことがなかったんですよ。でも、まつもとさんがそれを使って
るって聞いたとき、『じゃあ、自分も試してみよう』って思ったんですね。で、
実際に使ってみると、やっぱり便利なわけです。それまでは同じことを繰り返
したり、手間かけたりしてたんですけど。ウンザリしながらね。それから解放
されただけでも結構ありがたかったわけです。

もし自分が怠惰でなかったり短気でなかったりしたら、こうした工夫を試して
みようとは思わなかったでしょう。だから、ちょっとイラッとするようなこと
にも敏感にならないといけないんですよね。自分なんかまだまだですけど、怠
惰、短気、傲慢を大切にしたいと思ってます。

本家Permlink


2006年02月08日

http://www.youtube.com/?v=Em0pKnof5mg

--

~/.Xresourcesに以下を追加:

XTerm*metaSendsEscape: true

てか、なんでこれがデフォになってないか不思議。bashにしても、これがない
とAltが利かないわけだし。

ああ、そうか、日本語にはいらないけど、そうでない言語の人もいるか。

--

http://itpro.nikkeibp.co.jp/article/OPINION/20060206/228646/

なんかグダグダな言い訳だな。

--

http://d.hatena.ne.jp/takahashim/20060205

すみません。まだXPE 2nd読んでません。手には入れたんですけど。

# しかし、日本語訳の翻訳陣は変わってねーのな。呆れてものもいえない。手
# に入れたのはもちろん原著。

23章、ザッと (つまり辞書も引かずに) 読みました。自分はXP1の知識しかあ
りませんけど、それでもまだその先があるということはわかりました。

でも、現状、これの実現は難しくなってますよね。これをやろうとするとシス
テム部門を抱えたほうがいいってことになりますから。それは今の流れに逆行
してるでしょう。

IT産業の人口が減るなんていう予測もありましたよね。

とはいえ、自分はこうした時流はまっこうから否定してやりますよ。まだまだ
世間はソフトウェアの力をわかっていないと。

パッケージで済むなら使えばいい。でも、他所もそのパッケージを使ってたら、
どこで差をつけるんだと。知識こそが独創であり、その知識を形に変えるには
ソフトウェアが一番だし、それをおざなりにするとこに未来があるとは思えま
せん。

ただ、まだ一人のプログラマの力が足りてないのかもとは思います。もっと力
があれば、たとえば10人の会社だったら1人は抱えることができるかもしれな
い。100人の会社だったら、5人抱えることができるかもしれない。それができ
ないから外に出してるんであって。

結局何がいいたいかというと、自分がこんなとこでグダグダ書くよりも、会長
がババンとかましてくれたほうがインパクトがデカイってことですよ。

--

そういう意味じゃ経理部門みたいな立場。結構小さいとこでも経理部門はあっ
たりしますからね。

--

あー、みんな無事に出産されたんですね。よかった。

本家Permlink


2006年02月07日1

OSSセンターに期待し過ぎるのもどうかと思うよ、まじで。

OSSってのはもともと草の根なんだから、そこに官が出しゃばったってロクな
ことはない。もちろん、官がほしいものを官自らが表明するのは悪いことじゃ
ないけど、それとこれとは話が別でしょ。官主導というものの危うさをもっと
認識したほうがいいんじゃね?

--

微妙な時期のため自粛 (w

--

なんてこった。こんな重大なことに気づかなかったなんて。

ひ、平井は、平井堅は・・・フランク・ザッパに似ている!

--

いやー、巡回するといっておきながらやっぱ全然してなかった。

LL侍はとっくにLDを辞めてたのか。

gorouさんがはてなに入ったのか。

変わってないようで変わってるんだなぁ。

--

くそ。『平井=ザッパ』説は有名だったらしいな。

--

しかし、www.youtube.comはヤバイな。時間がアッという間に経っちまう。

--

http://japan.cnet.com/column/pers/story/0,2000050150,20095450,00.htm

もう今では、LDは上場時にすでに怪しかったというのが定説だと思ってたんだ
が、違うのか?

http://consul.mz-style.com/subcatid/10

だからポータルの失敗とか関係ないだろ。それは拍車をかけることになったの
かもしれないが、そのときはもうすでに走り出していたと見るのが本筋だろ。

ちなみに、2349はオレじゃないからな。今ピーかけといたけど。しかし、すご
いことになってるな、このUI。これがコスメチックの威力か。

--

ちなみに、不適切な増資によって上場時の株価を釣り上げるっていう手法は結
構ザルでな。二匹目のドジョウを狙ってるヤツもいるくらいだ。で、そいつが
Ruby使ってるらしいんだな。ヘドが出る。

オレも結構ノホホンとこの業界にいたけど、今回の事件でちったぁ目が覚めた
よ。そういう意味じゃ、LDには感謝してるけどな (w

本家Permlink


2006年02月07日

そういえば、PC-8801のスレで『リターン・キーが通じる世代』とかいう話が
出てて。それ目にしたとき『へ?』って思って。だって、それが自分には当た
り前でしたから。

でも、今は『エンター・キー』のほうが当たり前になってるんですね。自分に
とってエンター・キーっていうのは、テンキーについてるヤツだと思ってまし
たからね。

今はどうか知りませんけど、Macもリターン・キーだったはず。

本家Permlink


2006年02月06日

PC-8801って、やっぱ人気あったんだなぁ。自分は持ってなかったけど。

本家Permlink


2006年02月05日1


本家Permlink


2006年02月05日

先日、東京ガスの情報システム統合計画が頓挫したというニュースがありまし
た。50億円の損失だそうです。そのニュースを知ったのは2chだったのですが、
そのスレで紹介されていたのが『プロジェクト迷走す ビッグバン〈トーラス〉
システムの悲劇』(ヘラルド・ドラモンド、日科技連) という本です。

トーラスというシステムは、ロンドン証券取引所が導入しようとした (そして
導入に失敗した) 決算システムです。1988年に計画立案が始まり、1993年にプ
ロジェクトが中止されます。8千万ポンドをかけたといわれます。今現在、1ポ
ンドが200円くらいですから、160億円くらいでしょうか。

この本は、このトーラスにおける意思決定エスカレーションを分析したもので
す。意思決定エスカレーションというのは、ぶっちゃけていえば、誤った決定
に固執してしまうことです。トーラスを始めるという意思決定がどのような状
況でなされたのか? 最終的に中止するのなら、もっと早い段階で中止するこ
とはできなかったのか? といったことを関係者へのインタビューを中心に分
析しています。

ザーッと読んだのですが、自分も証券事情に疎い上に、英国独自の事情もから
んでいて、理解しにくいところもありました。

ソフトウェア開発という視点では、それほど得るものはありません。プロジェ
クト・マネジメントという点でも同じです。というのも、トーラスが非常に政
治的な色彩が強く、プログラマ・レベルではもちろんのこと、管理者レベルで
もどうこうできるプロジェクトではなかったからです。トーラスが政治的だと
いうのは、あまりにも利害関係者が多いからです。取引所、政府関係者、証券
ブローカー、証券保管業者、デベロッパー、コンサルタントなどなど。大規模
プロジェクトは得てしてこんなものと思えますが、ぶっちゃけ、自分とは別世
界の話です。

自分として興味深かったのは、プロジェクトを中止する過程がわりと詳しく描
かれていることです。これだけ巨大なプロジェクトともなると、そう簡単には
止められないのだなぁと感じ入りました。

不満な点といえば、プロジェクト・リーダーの足跡がほとんど見られない点で
すね。おそらくインタビューを拒否されたのでしょう。この人物、トーラスの
前身となったシステムを成功させ、当時はカリスマ的な人望を集めていたよう
です。トーラスのために途中から再度登用されたのですが、その際、プロジェ
クトに関する全権を任されています。それなのにあまり本文で触れられていな
いのですから、やっぱり食い足りない印象が残ります。

こういう話を読むと毎度思うんですけど、もっと小規模なものから始められな
かったんですかね。トーラスも『当初から野心的な計画として認識されていた』
みないたことが書かれてるんですけど。

大きな絵を描くのは悪いことじゃないですけど。それは段階を踏んでかないと
実現できないでしょう。いや、それは誰しもわかってると思うんですけど。そ
の段階の踏み方がおかしいんじゃないかって。動かないもの作ったって、そりゃ
段階を踏んだことにはなんないですよね。

トーラスの後、イングランド銀行が主導してクレストっていうシステムが開発
されて、1996年に稼働し始めたんだそうです (今も動いてるかどうかは知りま
せん)。トーラスの失敗があったからこそクレストがあるっていうのは間違い
ではないでしょう。でも、そんなことやってたら、いつまで経ってもセカンド・
システム症候群から逃れられないですよね。

ああ、トーラスが腐った原因の1つに、グダグダやってるうちに周囲の状況の
変化から取り残されたっていうのも書いてありました。システムが時代遅れに
なっちゃったんですね。やっぱりシステムは早いうちに外の風に当てないとね。

本家Permlink


2006年02月02日1

2005/12/8に起きた「みずほ証券による誤発注事件」について、『東洋経済
2006/2/4号』に記事が出てます。事件の概要は次のとおり:

  新規公開したばかりのジェイコム株を「1株61万円の売り注文」のつもりが、
  「61万株1円の売り注文」と誤って入力してしまった。担当者は直後に誤り
  に気づき、取り消し注文を出したが東証システムがうまく反応せず、400億
  円を超す損失を生じてしまった。

で、みずほ証券がその後取った対策についても触れられています。ちょっと長
くなりますけど:

  業界ではやや異例だが、みずほは営業担当者が発注端末を直接入力すること
  ができた (誤発注の翌日からは発注者、入力者のダブルチェック制に変更)。
  このため、端末に必ずしも熟達していない担当者が入力を行い、誤発注の可
  能性を示す警告表示の重要性を理解しないまま発注を強行してしまったとい
  う。

  1月20日には、みずほは再発防止に向けた改善策(「業務改善命令を受けた報
  告書」)を金融庁に提出した。異常発注など当面の対応策の徹底に加えて、1
  月末までに株式売買部門に教育・検査部門を新設。研修の強化や業務体制の
  見直しを実施する方針だ。

  さらに、3月末までに株式等発注システムの仕様を改善する。システムで自
  動的に発注不可能となる上限金額・数量を銘柄ごとにより低く変更。また、
  発行済み株式数を大きく下回る段階で、それ以上の大量発注もシステム上で
  きないようにする。特に誤発注の起こりやすい新規上場銘柄の初値形成前の
  チェック機能を強化したうえで、警告表示の画面を大きくし音声を加えるな
  ど“初歩的”な機能向上も図る。そして今後は緊急事態の際には、トップの
  判断一つで迅速な情報開示も行うという。

これについてのみずほ証券の公式文書がこれ:

http://www.mizuho-sc.com/ja/news_releases/2006/pdf/20060120_01.pdf

システムの仕様を変更できるということは、このシステム、みずほ証券独自の
ものだったんですかね。東証からの借り物だと思ってたんですけど。

上の文章で気になったのが『ダブルチェック制』。これやるんならシステムの
意味が薄くなっちゃいますよね。考えたんですけど、ユーザ権限導入したほう
がいいんじゃないですかね。営業担当権限なら少額の (常識的な) 注文しかで
きないとか。そうすれば、異常な注文にはより上の立場の人間がチェックする
ことになりますし。

前にも書いたと思うんですけど、これって``rm -rf *''問題とおんなじなんで
すよね。自分も経験したことありますし、やるときはやっちゃうのが人間なわ
けで。そうすると、やっぱり取り消し注文できなかったっていうのが一番痛かっ
たですね。C-cが利かなかったわけで。それは東証側のミス。

本家Permlink


2006年02月02日

やべ。ヘタなこと書いて自分に重たくなってきた (w

まぁ、でも、『今回の事件と技術者は無関係』みたいな意見はどうかと思うよ、
まじで。

--

http://www.sankei.co.jp/news/060201/kei071.htm
http://headlines.yahoo.co.jp/hl?a=20060201-00000215-yom-bus_all

これもすげーな。

こないだの誤発注事件にしても、なんか日本の大規模プロジェクトは大丈夫な
の?と心配になってくる。

本家Permlink


Copyright © 1905 tko at jitu.org

バカが征く on Rails