Shangri-la
ええい、contributor iconうっとうしい。僕がcontributorなのは明らかだから消しちゃえー。
Managed Windows Forms
ついにmonoのSystem.Windows.Formsの実装のベースがMWFに。
追記: ええと、まだ、まだまだ、まだまだまだまだ発展途上なので、バグはたくさんありますです。
Why you need (or don’t need) anonimity
いやこれはこの前の”Why I need…”とは全く関係ないんだけど。匿名言論の手合いも、いくつか種類があると思われる:
- 負け犬による確信犯的荒らし型。自分の主張が劣勢である、反社会的である、恥ずかしいものである、といったことを知っているので、名無しでしか発言できないもの。
- 安全な場所から痛いところを突くつもりで、手持ちの爆弾を投げ込んでみる型
- 名前を出しても誰にも知られていないだろうから匿名で書く型。これは単にネチケットを理解していないか納得していない場合が多いと思われる。
- 名前(あるいはそこから所属)が出るとまずいので匿名で書く型
最後の奴には2つの意味合いがあって、(a)匿名告発を先に行わないと証拠隠滅などが行われてしまうケースと、(b)客観的な主張をなし得ない立場であるはずなのに、匿名で虚偽の風説を流布するケースが考えられる。ハッカ飴pとかPSPの動作不具合まわりでSONYの中の人がやっていたのは(b)の類でしょう。
で、この手の匿名言説は、それなりに権力を握っている人間がやっているとはちょっと考えにくい。彼らは実名で世間との認識のずれを堂々と披露している。たとえば「消費者としても良いと思う」発言とか。そういえばCMカット機能が同一性保持権侵害になるなんて言ってる奴もいるんだよー、と友人に話したら「殺して良いよそいつ」とか言われちゃいました。1
というわけで、これらのうち、成長する可能性のある匿名言論は、2番目と3番目の奴で、3番目はもっとネチケットを理解してもらおう、という結論で終わるので、問題は2番目の奴をどうするか、ということに絞られる。匿名言論を尊重すべき、という主張はほぼ間違いなく4(a)のケースを想定していると思うのだけど、小倉弁護士なんかはこれに対してすら懐疑的だ2。4(b)は現実的には無害化のしようがないので、とりあえずは殲滅するしかないであろう。
で、2番目の奴を、実名等で立派に発言させるか、あるいは1番目に向かって解消できるようにするか。「立派に発言させる」というのは、主張を世間に理解・納得させる、という意味ではなくて、その主張がおかしな内容であれば客観的にボコボコにされる、という意味でもある(僕はこの手の連中をボコボコに叩くのが大好きです☆)。
匿名言論は「相手にしない方がイイ」ということもしばしば聞くけど、僕はケースバイケースだと思う。間違いなくボコれる相手だったら、徹底的にボコって、「同じ臭いの文体」では二度と表に出られない身にしてやる、という手もある。このとき、下手に相手の土俵に乗って真面目に反論しないことが重要。匿名論者に人権はない、くらいの気持ちで叩くべき。逆に匿名でない相手を丁重に扱うことで、格差を広げるという手もある。
コメント
K — 12/28/2004 19:38:47
WindowClassicだとウィンドウカラーが・・・
ラジオボタンもチェックボックスと等価な動きをするし・・・
とりあえず、ラベルはほぼ完璧に動いてくれますのでよかったです。
自分はC#初心者なのですが改良しちゃいたい衝動に駆られます(笑
atsushieno — 12/28/2004 20:30:39
おお、そうです、「まだまだ動作は発展途上です」と書くのを忘れておりました(苦笑 windows formsはでかすぎてXimianでも4人(いま3人かな)ではさばき切れていない細かい部分がかなりあるので、もし何か気付いたらbugzillaでバグレポートしていただくなりhackしていただくなりしていただけると、とても助かります。
K — 12/28/2004 23:50:08
確かにWindowsFormsはでかすぎるので、大変そうです。Ximianさんがんばってください。
ちょっと改良してみたのですが・・・改良したらどうやって反映させればいいのでしょうか?勝手にコミットしていいのでしょうか?(英語が読めないもので・・・)
とりあえずHPにおいてみましたが http://kazuki.panicode.com/mono/mono.xml
atsushieno — 12/29/2004 00:03:23
ぉぉ、素晴らしい。svnでコミットできる人は限られていて、パッチを何回か送ってくれた人を、Miguel de Icazaがsvnサーバに登録するかたちになっているので、僕が代わりにMLにpostしておきますね。ありがとうございます。
Kazuki — 12/29/2004 00:14:56
すみません・・・Monoだとforeachのキャストの仕方が.NETと異なるのですね・・・
コンテナコントロール内にRadioButton以外のオブジェクトが合った場合例外を吐きます。更新版をアップしたので、お手数ですがよろしくお願いします。
atsushieno — 12/29/2004 00:17:57
ええと、問題の現象がbugzillaに登録されていましたので、こちらにパッチがあるよ、と書いておきました:
http://bugzilla.ximian.com/show\_bug.cgi?id=68756
また何かhackできたら(!)ぜひお知らせ下さい。
あ、ちなみにSWF.csprojに含まれている.resxの件ですが、Makefile中では参照されていないようなので、単純に消してしまっても大丈夫だと思います。(僕も含めて、みんなVS.NET使っていないんですよ。)
Kazuki — 12/29/2004 00:21:58
ありがとうございます。やっぱりみなさんはVS.NET使っていませんでしたか。というかそもそもWindows系を使っていなさそうですよね(笑
また何かhackできたら、そのときはよろしくお願いします。
atsushieno — 12/29/2004 00:47:34
foreachのキャスト
おや、奇妙ですねえ。
ArrayList items = new ArrayList ();
items.Add (”abc”);
items.Add (new Test ());
foreach (string s in items)
Console.WriteLine (s);
これはInvalidCastExceptionになります。何が違うんだろう…
Kazuki — 12/29/2004 02:40:54
すみません・・・こちらの勘違いでした。MS.NET Frameworkでも例外でますね。
一応ページの説明を更新&フォーカスの怪しげな実装を追加・・・
atsushieno — 12/29/2004 03:04:33
ぉぉ、Control.csまで。ありがとうございます。ええと、Tabが動くようになってからの方が良さそうですね(難しそうならすぐMLにpostしちゃいますが)。
あと、monoのソースでは、ちょっとVS.NETと違うコーディング規則を使っているので、できればそれに合わせて頂けると、とても助かります(これ、めんどくさいんですけどね…)。英文になってしまって申し訳ないのですが、mcs/class/READMEというファイルにいくつか書いてあります(good/badと書いてあるところだけ読めれば大丈夫だと思います)。# 難しければ和訳してどこかに置いておきます
あとTabキー部分のように、未実装の部分は、”FIXME: implement”などとコメントで書いて頂けると、誰が見ても足りない部分があることが分かるので助かります〜。