http://210.150.25.14/cgi-bin/kgbody.cgi?BL=0&SY=2&TP=http://hp.vector.co.jp/authors/VA017441/tlk/log/
なんてのがアクセスログに残ってて何かと思ったら
キミら
かい!
uema2さんとこからClub FPEさんという経路で「この漢字読めます?」へ。 菫、仙人掌、薄、杜若、薊、が読めず。16/21…。修行が足りん。
nVidia + Microsoft の プログラミング言語 Cg。 グラフィックスのエフェクトの記述に使えるのでは、とのこと。
このページ、index.htmlが20KBに達しそうになったら過去ログに回すことに していました。で、よく見てみると5/11~5/24で20KBってやけに回転早かったんだなぁ、 とかしみじみしていたのですが、よく考えたらUTF-8化して日本語の文字の 使用バイト数が50%増量していただけでした。
安全区外なので、人口は殆ど有りませんでした。
cite: scratch leaf
そう述べる根拠が残念ながらどこにも見あたらぬので途方に暮れているのです。 いや別に、そこに実は30万人いてみんな殺されてしまったんですよあははーっ、とか 言い出すための資料を揃えたいわけではないので、「人がいなかったならば人口の推移に 関する資料が存在するはずがない」。従って逆をとって「人口の推移に関する資料が 存在しないならば人口はほとんど無かったと考える」で十分筋が通っているかと思います。 証明責任は存在を主張する側にあるそうなので、対偶だけでなくこの型の逆も真偽値を 保存するはず。
history-logic、とか。面白いかもしれない。
…と書いておくべきだったのでしょうか。「C := 南京大虐殺は存在しなかった」
あるいは、「C := 南京大虐殺は存在した」
「C := 私以外の全てのものの存在」
「Cogito, Ergo Sum」
「C := 私」
「」
ナンセンス、ナンセンス。
IE上でテキストを選択して、右クリックから「引用コピー」とかやると blockquoteタグやcite属性を補完してくれる拡張スクリプトが欲しい。 いや、それ絶対既にありそう。つーか昔紹介していただいた コンテクストメニュー追加セット の中にあった。バンザイ。
下の下の記事に示した構造に対しては ∀C∈歴史的命題について、
「A := Cを肯定する資料, B := notC」
という代入を行いたいのだが、しかしこれをやると次から人に電波と呼ばれるという
危険も伴う、諸刃の剣。
何故だろう。
なお、無論Cを歴史的命題に限る必要は無い。
Rubyで遊び中であります。
5.times { print "Hello, World.\n" }
整数のtimesメソッドにブロックを関連付けて呼び出し…っていいね。
{
をメソッドと同じ行末におかなけねばならないというのが
ちょっと好きでないが、それを補ってあまりある程度に面白い。あと外部
イテレータ無しでは汎用のalgorithmが書けないのでは? と思っていたけれど、
eachメソッドさえ定義すればあとはeachを利用したモジュールのMix-inで
色々と巧くいくらしい。感心。
色々な証拠はあると思ふが、一番分かりやすいと思はれる数的証拠に就いて再び論じておく。
cite: scratch leaf
なるほど、解説ありがとうございます。陥落直後に12月17日、21日、27日という短い
タイムスパンで人口掌握を行うことは可能であったらしいのにも関わらず
"この 50 万人といふのは、南京市が調査した結果なのだらうが、
直前に調査出来るわけもないので、ある程度前に調査した結果であるはず
"
と断ずるくだりが解せなかったりしましたが、これは有限個の追加解釈で
何とでもなりそうです。筋は理解できました。多謝。
で、南京市内安全区外の人口推移に関する資料があればそれに当たってみたく なったので検索。が、少なくともWeb上にはさっぱり見つからず。無念。 しかしgoogle様で巡っていて感じたのですが「あった派」側の 主張ページって相対的にほとんど皆無に近いのな。
日本バンザイ韓国バンザイ。
楽しげな撃墜大会が始まっているようだ。
私は南京大虐殺があったか無かったか、従軍慰安婦が存在したかしなかったか、
それについて判断を下せるほどの知見をもっておりませんので何とも言えません
(今このtalkを書くためにWebを巡回した20分間で得た情報の量が、今まで20年間に
これらの問題に関して得た情報の量を明らかに上回っているくらいです)。
―― しかし、論理はあまねく世界を満たす。
貴方の認識よりは,教科書の記述は,証拠になり得るのではないかと. 失礼,載せる教科書の存在は,主張の根拠にはなり得よう. これは,掲載教科書が正しいと主張するものではない. 証明の根拠が発言者から教科書の著者に移っただけではある.
cite: 或る軌跡
(権威のある)誰々が書いているから証拠になり得る、という論は賛同しがたいように思います。 それを書いているのがyuha氏であろうがどこぞの教科書の編者であろうが小林よしのり氏で あろうが家永三郎氏であろうが、書かれたその言葉自体の意味は変わりません。 誰かが書いたある記述を受け入れて、別の誰かが書いた記述を排するならば、 それはその記述の内容にのみ拠るべきです。
というか、「○○はあったという主張は間違いだ」という意見に対して 「いや、○○はあったと主張する人が存在するのだから一概に間違いとは言えない」 というのは、あまり反論になっていないような気が。
次に南京大虐殺。南京大虐殺は、昭和 12 年(1937)年 12 月 13 日南京陥落からの約 40 日とされてゐる。南京陥落直前、「調査によれば本市の現在の人口は約五十余万である」と、南京市は記してゐる。そして、南京陥落直後の人口は 20 万だったと南京安全地帯国際委員会の報告書には記されてゐる。これだけだと確かに南京大虐殺があつたかのやうだ。しかし、これは南京を脱出した人の人数を考慮してゐない。さらには、時間軸までも無視してゐる。リリーアベック「フランクフルタア・ツァイトゥンク」紙特派員は「先週およそ 20 万の人々が南京を去つた。かつての百万都市南京は、既にそれまでに 35 万人に減少してゐたから、今ではせいぜい 15 万人だ」と11 月下旬に記録してゐた。15 万しかゐない南京でどうやつて 30 万の人間を殺せるのかは謎である。
cite: scratch leaf
前者の「陥落前は50万人」という記述は、 根拠なき南京市民虐殺説 によれば十一月二十三日の書簡のものであるそうです。 これは「"11 月下旬のある日のそのまた1週間前"までに既に35万人にまで 人口が減少」という後者の記述とは矛盾しています。従って、前者が偽であることを 示さぬうちに後者を根拠として判断を下すのは、論理的ではありません。そして、 前者が偽であることを示すために後者を前提条件として用いるのは、単なる循環論法です。 ちなみに上記の「根拠なき...」では「大混乱の最中、人口調査が可能であったか?」 という形で疑問を呈していますが、それでは、南京市には不可能でも何故か特派員には 人口を把握することが出来ていた、と考えざるを得なくなってしまいます。
更に言えば、今見た限りでは「あった派」も「無かった派」の双方とも、 陥落後の人口としては揃って約20万人という数字を提示しているようです。 もっとも少なく見て十数万、と。 週に20万人もの脱出者が出ていた南京で、15万人しかいなかった11月下旬の、 さらに10日位後の数字、としてはなかなか謎な値と言えるのではないでしょうか。 (示唆的)
きっと、他の様々な史実を繋いでいくことで、遺漏のない一筋のストーリーを 構成することが友葉氏には可能なのでしょうし、確かにそれはたかだか十数行で 記せるものではないとは思います。が、少なくとも上記の段落や参考リンク先のみでは いささか説得力に欠けるように感じました。
さて一方、「あった派」として友葉氏が提示されたサイト中の ラーベの日記と自由主義史観 という文書では、人口80万人や50万人という証言を取り上げ、それを元に 十数万人の虐殺があったという結論を支持しています。その際にこれと矛盾する 「虐殺直前の人口は20万人であった」という証言に対しては、武装解除した兵士を 非戦闘員の数に加えてみたり安全区に入れなかった民の数が勘定されてないからと 述べて人数を増やしているのはともかく、「80万人や50万人居たという証言があるのだ」 ということを書いて20万人説を否定するという、これまた無意味な循環を起こしていました。
Aという命題と、Aと相矛盾するBという命題が在って、正しいのはAでBは間違っているという ことを示したいとしましょう。「Bが真と仮定する。しかしAが真なのだから、AとBが並び立つ ことはありえない。これは矛盾である。従って背理法によりBは偽である。Bが間違っているの だからAを真とするのが妥当である。故にAが正しい。」……?
―― それゆえ論理の命題は何事も語らない。
今日はまたいきなり寒くなりましたなぁ。
見様見真似のコピペしかできないのはどうにも不便なので、 プログラミングRuby を買ってマジメにRubyを勉強することにしました。今の浅い知識の範囲では スクリプト言語としてはJScript辺りの方が好きなのですが、いつでもどこでも 何にでも使える、というわけにはとてもいかなそうですし。
趣旨って何。
祖母宅にADSLが引けることになったそうで、配線係に駆り出されておりました。 LANボードを買いに行って繋いで繋いで繋いで設定して設定して終わり、のはずが 何故か3時間以上かかってしまってえらいことであるよ。
C++では一般に ++i
より i++
の方が重いので、
特別の理由が無い限り前置の方を使うべき、という話があります。
もちろん、i
の型がint
だったりchar*
だったり
したら、普通のコンパイラでは違いが出ることはおそらく無いです。
ですが、頻繁に ++
されるオブジェクトにはイテレータという
忘れちゃいけないニクい奴がいます。で、このイテレータ氏の++
演算子は、
流れを書くとおおよそ次のような感じの関数で実装されます。
class foo { // 前置。++i 用。 foo operator++() { do_increment(); return *this; } // 後置。i++ 用。 foo operator++(int) { foo old(*this); do_increment(); return old; } };
後者の方では、1増やす前の値を返すために、increment前のデータを一度 保存しておく必要がありますね。このせいでコピー1回というオーバーヘッドが 発生しています。なので、iteratorの++を使うときはこのことに気をつけぃよ、と。
個人的には、区別のためのダミーのintを引数に取るなんて規則を付け加えてまで
前置インクリメントと後置インクリメントを別々に実装可能にする意味はあったのか?
とはなはだ疑問なのですが、(後置++
は、コンパイラが前置++
を
使った等価な式に自動で展開する、と決める方がベターなのではないかと思ったり)、
えーと、まぁそうなっているものは仕方がない。
…と前置きが長くなりすぎましたが、([無名の一時オブジェクトの消去] という
コンパイラの最適化が働けば)その後置の++
を高速化可能かもよ、という
話題があったので騒いでみました。
[boost] Postfix Increment Operator や、それをgenericに仕立て上げた
Re: [同]
など。ただ、何か落とし穴がありそうで少し怖い。
Derek & The Dominos の 「Layla」 らしいです。 なんだか耳にしたことのあるエピソードが曰としてついてきてることからして、 もしかして凄く有名な曲ですかこれ。
SharpDevelop。 C#やVB.NETやJava用の統合開発環境なり。
使ってみた感じ、C#でコードをガリガリ書きたい人にはかなり良い感じではないかと思います。 VS.NETのUI懲りすぎてかえってわかりにくくなってる部分が無いので、取っつきやすさは こちらの方が上。もっとも、私もまだとっつきしか使ってないんですけどネ。 IntelliSense風のメソッド/フィールド名補完という最重要ポイントは押さえられてるのでGood。 これでビジュアルデバッガさえあれば言うことなしかも。それは流石に贅沢ですが。
確か明日で三周年。
今更だけど三菱のHeart Beat Motorsとか言ってるCMのBGMの曲名が知りたい今日この頃。 調べてみよう。
Data Compression Library が移転して DataCompression.info になったらしいですよー、ってお知らせが来たのでリンク変更。 リンク集のページもそろそろ整理しないと。
XML宣言を外して<!DOCTYPE...を先頭に持ってくると標準準拠モードになるので IE6ユーザ(自分)的にも嬉しかったり。6.01かSP1では修正される問題だとは思いますが。
「効果的にバグを報告するには」 という文書があることを知りました。 これ、ソフト作者に一刻も早くバグを直させたい方には必読っす。
バグ報告の第一のねらいはプログラマに自分の目で故障を分からせることである。彼らのところに行って失敗するところを見せることができないなら、彼ら自身で失敗させることができるような詳細な指示書を与えよう。
はっきりしよう。二つの異なった方法で同じことができるのなら、どちらを用いたのか述べよう。「ロードを選択しました」は「ロードをクリックしました」または「Alt-Lを押しました」を意味する。どちらをやったのか言おう。しばしばそれが問題となる。
(強調筆者)
などなど。無論、プログラマの環境ではどうしても再現させられないようなバグも 多々ありうるわけですけどね。
97点(謎
Geographic Search。 googleプログラミングコンテストの優勝作品のソースが公開されているようです。 場所の情報を緯度経度に変換したりすることで、特定の地域周辺の情報を 検索できるようにするプロジェクトとのこと。
googleといえばGoogle Setsって面白いですね。 多言語版にならないかなぁ。
Linux + FreeBSD。 Mario + Luigi。 Beatlesと単独で入れるとTombRaiderとかActionFigureとか出てくるのは何故だろう。 inabaと入れれば因幡関係が。
解凍レンジが久々のバージョンアップで v1.41 に なったそうです。LHAの解凍が更に大幅に高速化したとか。鬼だ。凄すぎる。
全ページをUTF-8化してXML宣言を省略できるよにしてしまえば、 HPC2000のIEからでもうちのサイトが見られるようになるのでやってしまおう! ……と思ったその日に、win32用lynxではこの[talk]のページ(既にUTF-8に変更済)が 文字化けするよっ、という指摘を受けたのでありました。
むー。どうしよう。
韓国おめでとー。日本もなかなかいいゲームで。
SWI-Prologを入れる。入れただけ。 ついでにBeBitsにあった方も 入れたけどたぶん使わない。
googleで紹介記事が ひっかかってるの経由で XacRett for PocketPC #32 なんてのを発見。CABの展開はどうやってるんだろう。
ワールドカップ、楽しそうだねぇ。にわかサッカーファンになりたくなってくる。 尤も、今になっても日本代表の名前すら3分の1もわからんのだけどね。Hehehe.
DylanとかCecilとか言われるとマイナーだなーと思ってしまうのであるが、 1年前と違ってSchemeとかMLとかPrologが全くもって一般的なプログラム言語に 見えてきた。変だ。何か変だ。
突然、本好きへの100の質問に答えてみた。
最近全然NoahとGpに手をつける余裕がないぃ、、。
しゃもじ、っていうのは
「
明日は、「しゃもじ」について解説文を書く羽目に なるかもしれません。
cite: 日々のつぶやき
予言者だ~!
ソフトを掲載していただけるだけでありがたいのに、載ると更に見本誌+何か一品 が送られてくる非常に素敵な某パソコン誌があるのですが。今回そこから 見本誌 + しゃもじ が届いたのにはちょっと意表をつかれました。 ってゆーか笑。
一昨日のは、コンストラクタでメンバにコピーしたつもりになっていたファイル 記述子をデストラクタでcloseしていたというバグ。Solarisの方だと偶々(…かどうか 確信はない…)初期化してない変数の値が0になってたようで、使うたびに、標準入力を 手始めに新しく開いたfdを次々閉じていくというワイルドな奴になってました。 こういう時こそメンバ変数をconstにしときゃ初期化忘れなんて防げるのに… ダメダメです。
今朝googleにLycosの検索結果ページが幾つか引っかかるようになってて、あれ? と思ってたのですが修正された模様。で、アクセスログを見るとどうやらgoogleから SmartCVSとかCVSNTで引っかかるページに なってしまったようなので、Windows向け初期設定方法を極めていい加減にメモ。
えーと、まずcvsnt。WindowsのInstaller版を 落としてきてとりあえずインストール。んで、「コントロールパネル→システム→詳細設定 →環境変数」とかautoexec.batとかで環境変数PATHにcvsntのインストール先フォルダを追加。 パスが通ったら、インストール先フォルダをDOS窓で開いて次のようにコマンドを 打ったりします。
set CVSROOT=:local:c:\cvsroot ※他の好きな場所を指定しても良い。 ※レポジトリ(更新履歴蓄積場所)の指定 cvs init cvs checkout CVSROOT cd CVSROOT ※ ここで、インストール先にCVSROOTフォルダが出来てるのでその中の ※ configというファイルを編集。SystemAuth=No という行の ※ 先頭の # を消して保存するだけでOK。 cvs commit -m hoge ※ これで設定変更が反映されるはず。 ※ この一連の作業は別にインストール先フォルダでする ※ 必然性は全くないのですが、まぁ適当に。
で、次に、さっき作った c:\cvsroot\CVSROOT に passwd という名前のファイルを 作成します。中身は
kicvs:ZziFATVXHo2.6:K.INABA
こんな感じ。左から順に「CVSのユーザ名:暗号化済みパスワード:Windowsのユーザ名」 を表してます。複数行書いて複数のユーザを登録するもよし。この[CVSユーザ名,パスワード]で cvsntサーバにアクセスすると、3番目に書いたWindowsユーザの権限で色々作業が 行われるようになるらしい。
パスワードの暗号化の仕方は、perlがあるなら
perl -e "print crypt('password','Zz');"
こんな感じで password という8文字のパスワードを暗号化した結果が得られます。 無ければ何とか頑張ろう。
んで、最後の仕上げにコントロールパネルのCVS for NTの2番目のタブでrepositryの場所に さっきのc:\cvsrootを追加して、サーバを [start] すれば完了! もしかしたら環境変数CVSROOTにc:\cvsrootを設定しておいた方がいいかも。 もしかしたら環境変数HOMEにホームディレクトリを設定しておいた方がいいかも。
次に SmartCVS 。Java2上で動く CVSクライアントです。UIはすっきりしててわかりやすいので結構好み。 ただ時々日本語が化けて表示されることがあったのが難点。現在の最新版では 直ってるのかも…。こっちは普通にzipファイルなどをダウンロードしてきて 解凍してexeを動かすだけでよいので特にややこしいことは無いかと思います。 Javaのランタイムをまだ入れてない方は必ずJRE付きのインストーラ版で。 起動時に出てくるダイアログでさっき決めたCVSユーザ名とかパスワードとか レポジトリの位置を打ち込めば設定完了です。
ようやっと衣替え。
課題の進まざること山のごとし。大学のSolarisだと上手く行かないソースが、 家のCygwinだとことごとく問題なく動作してしまうのがタチが悪い。 しかもビジュアルデバッガに慣れすぎてるせいで、gdbでは全然デバッグもはかどらない。 うあー。
GenVoca って何ぬねの? と思って調べていると左のリンク先に行き当たったのでメモ。
「
ここではだね、同じ場所にとどまるだけで、もう必死で走らなきゃいけないんだよ。
」
と、そんな気分が最近ひしひしと。で、果たして必死で走るくらいで留まっていられるのかね、俺は。
Digital Mars C/C++ Compiler v8.28 が出てます。 空の基底クラスの最適化(通称EBO)が可能になったそうな。他はバグフィックス色々。 1週間くらい前にD言語の コンパイラもバージョンアップして、dmc++に頼らず自力でリンクが出来るとのこと。 このDってのはDesign By Contractを 言語レベルでサポートする、というのがたぶん一番の特徴なんだろうと推測しているのですが、 いまいちその有用性が掴めてないのでよくわからない…。