"with" loss of generality

23:25 04/03/09

WinXPのSP2では「実行保護」を導入 ってーことは、 GreenPad が動かなくなるような予感。

ちょと解説すると、WindowsやUNIX系OSなど今のほとんどのパソコン用OSは、 「メモリのこの辺はプログラムと思って実行してOK」とか「この辺は実行しちゃダメ。 データ置き場としての読み書きはOK」みたいに、メモリに色々と属性を指定できます。 で、今までのWindowsは基本的に「実行しちゃダメ属性」は活用してませんでした。 つまり特別なことをしなければ、 メモリのどの場所でもプログラムと思って実行することができたわけです。

これは実は安全面で問題があって、アプリケーションにバグがあると、 『1:悪意のあるプログラムをデータとして入力して、アプリにメモリに書き込ませる』 『2:さっき書き込ませた悪意のあるプログラム入りのメモリ部分を実行させる』 の2段コンボによって、怪しげなプログラムの侵入を許してしまう可能性があります。 いわゆる 「バッファオーバーフローで任意のコードを実行」 という決まり文句のあれですね。

実行保護(Execution Protection)というのは要するに、"スタック" とか "ヒープ" と呼ばれる普通はデータしか置かない場所は、Windowsが勝手に 「実行しちゃダメ」 と設定しとくことにした、ってところ。 これで先ほどの侵入例の『2:』の危険が減ります。

GreenPadの場合

一箇所、実行中にプログラムコードを "ヒープ" 上に自動生成して実行してる部分があるので、そこが多分引っ掛かります。 明示的に「ここは実行してOK属性」を指定すればいいので修正は簡単ですが… ちなみにGreenPadのソースを見てみると、当時の私はこんな注釈を残していました。

// というか正直、なんでこれが動くのかわからんっ(^^;
// こんな適当なとこに確保したメモリが実行可能でいいんでしょうか。

いやそう思うなら直しとけよと。>自分

しっかしこれ、Microsoftの出してる ATL とか .NET を使ってるアプリ全滅だと思うんですけど…と思ったら、 開発者向け説明ページ曰く、「今の.NETフレームワークは実行OK属性をつけないので、XPSP2は現行バージョンの .NET を認識したら実行保護機能はオフにするよん。だから既存の .NET アプリは SP2 でも動作するのだ。(Windows .NET Framework applications do not currently mark generated code with Execute permissions. XPSP2 recognizes the current, shipped versions of .NET Framework and runs them with NX off. Therefore existing .NET applications will continue to run.)」 とのこと。むー。 実行保護対応の.NETのサービスパックも同梱する予定ではあるらしい。

00:56 04/03/08

卒論の学内発表のとき10分におさめるのに苦労した内容を、 今度は5分で発表しないといかんので四苦八苦。慣れれば任意のnについて、 n分ピタリの発表ができるようになるんだろうけど…。修行せねば。

どこへともなく

D言語界隈の人はあんまり注目してないかもしれないけど、 先月はDigital Mars C/C++の方のバージョンアップ月間だったので、 Dコンパイラの更新が1ヶ月空いたからって Walter さんの開発速度に変わりはないと思いますですよ。

02:09 04/03/06

まあありがとう

というわけで今日から22歳ですよ。

Hysteric Blue

…あがががが何てことしとるんですかお兄さん。

18:09 04/03/05

textfile.org より 『研究者がウェブで語れば皆が楽しい』という文章へ。もう、これは 500% くらい同意。私も、ヘボヘボですけど一応自分の専門分野であるつもりの "プログラミング言語" について、ここや a-lang で綴っています。知識ってものは、共有すればするほど楽しいですから。

自分には公開できるような知識はない,自分が書けるようなことについてはもっと詳しい専門家がいくらもいるなどと思ってウェブページの公開に二の足を踏んでいる人もいるでしょう.でも,研究者が発信するおもしろくてタメになるページは世の中にあふれているでしょうか?そんなことはありません.

私としては、研究者まで行かない、 学生な皆さんにも自分の知識をまとめて発信して欲しいなぁ、 と思っています。だって、もったいないじゃん。情報化社会だなんだと言っても、 ちょっと専門的な内容でGoogleると、 引っ掛かるのは参考文献の論文のタイトルリストと大学の授業内容案内ばかり… というのがまだまだ現状。 その授業を受けて単位を取った学生なら十分説明できるはずの知識、 つまり世界で何百人、何千人かは説明できる人間がいるはずの知識でも、 今は各自の頭のなかに埋もれて終わってしまう。非常にもったいない。

しかも、ね、その分野を学んだばかりの人間であればあるほど、 「どこで初学者がつまづきやすいか」は身をもって把握しているはず。 「どういう説明をしてくれるとわかりやすいか」 とかも。Shelarcyさんの 暗黙知を形式知に という話を読んでいても思ったのだけれど、 「それは自明の知じゃないんだ」てことを常に意識していないと、 外に向けた解説は書けないものです。その意識を自然に持っているという点で、 勉強中の学生っていうのは、わかりやすい解説の書き手になれるのではないかと。

つづく(かも)

00:52 04/03/03

Noah と caldix のバグフィックスが全然進まない…というのは嘘で、 正確にはバグ取り作業開始すらできてない…。まずいなぁ。 もっと有効に時間を使う人間になりたい。

tokunaga

いつの間にか徳永英明公式サイトのDiscographyページで、 かなりの数 (ベスト盤に入ったことのあるもの、かな?) の曲の試聴ができるようになっていました。やった。この前紹介した曲は一曲も聴けないみたいだけどナー。 試聴できる曲の中だと、『最後の言い訳』、『SMILE』、『種』なんかが好きです。

02:21 04/02/29

進学を機に一人暮らしを始めるべく、今日は部屋の契約。 大学の思いっきり近くに住むことにしました。

Wish

買いたい本というのは際限なく出てくるけれど、 無駄遣いはよろしくない、と考えて、Amazonのウィッシュリストに突っ込むだけ突っ込んで買った気になって終わらせる、 ということを時々衝動的にやっています。しかし、 さっき見返して気付いたのですがこのリスト、要するに 「メチャ読んでみたいのだけど手元におけず読めない本のリスト」 なわけで、眺めていると目に毒ですな…。

01:14 04/02/28

Mizutyさんに、すき家 にも行くべし行くべし、 と指摘されてしまったのでそっちにも行かねば。ところですき家のサイトに 自信作 豚丼(とんどん) という記述があるんですけど、 これって今まで「ぶたどん」と読んでいたので新発見な気分です。 確かに「牛丼」は音読みなのだから「豚丼」もそうであって不思議ではない。 あれ、でも「ぎゅうにく」「ぶたにく」だなぁ。 …何だか昔、誰かがこの考察をしているのを横で聞くことがあった気がしてきました。

しかしとりあえず 「とんどん」 というひらがな表記はリズム感に溢れてて素敵です。

リズムと書いて思い出しました。RhythmEngine, RhythmForest のフォトンから新作 「音玉」 の発表会+テストプレイ会が開かれるそうです。皆様是非。 私は時間があわなさげ…むー。

blog

最近 Bloglines からこのページに訪れてくださる方が増えています。 ここって見た感じ RSS を集めて表示する系のサービスと理解したんですが、 うちみたいなRSSが無いページって、どのように処理されているんでしょうか? ちょい興味。

23:11 04/02/26

SICP (「計算機プログラムの構造と解釈」、Scheme を使ってプログラミング言語の基礎概念を解説した名教科書です) ってWebで全文公開されてるんですねー、ということを人に教えていただいて 初めて知りました。調べてみると公開は3年以上も前のことらしい。 知らなかったー!!

今日は初めて神戸らんぷ亭で昼飯を食べました。よし、あとは松屋だ。

19:44 04/02/25

(その議論の本筋とは全く関係ないのだけれど……)オープンソースTM という単語について議論が巻き起こるたびに唯一疑問に思うのが、 「オープンソースという単語を用いる人は、 おおむねOSIの定義する意味で"正しく"用いている」 「『多くの人はもはやソースが公開されている程度の意味でしか使っていない』 という主張は根拠がない」と考える人の存在。 その他に見かけた全ての命題は、どの立場に立つ人の発言も、 その考え方の道筋は想像できるし理解できると感じました。 でもその一点がわからない…。

google://オープンソース 用語辞典 1-100件目

1:IT用語辞典 e-Words、 2:日立システム&サービス IT用語辞典、 3:Yahoo!コンピュータ - 用語辞典、 4:ITmedia IT用語辞典、 「ソフトウェアの設計図にあたるソースコードを、インターネットなどを通じて無償で公開し、誰でもそのソフトウェアの改良、再配布が行なえるようにすること。」

5:ASCII24 アスキー デジタル用語辞典1 「技術を独占するよりも、多くのユーザーと共有することでその発展を目指す動きの1つ。主としてソフトウェア開発において、ソースコードを公開し、自由な利用を促進しようとするもの。…(中略)… ただし、現在オープンソースと呼ばれているものはLinuxの普及を受けて明確に規定された定義に基づくもので、この確立にはエリック・レイモンド氏が主導的な立場で関与している。」

6:真・コンピュータ用語辞典 「元々はプログラムはみんなのもの、みんなで良くしていこうと言う考え方。」

7:@nifty:デジタル用語辞典、 8:ASCII24 アスキー デジタル用語辞典2 「「オープンソース」という言葉は、Netscape CommunicationsがMozillaプロジェクトを発表したことに刺激されて、'98年3月にPalo Altoで行われた会合で発案されたものだとされている。この会合の参加者は、OSI(Open Source Initiative)という団体を結成し、Webサイト(http://www.opensource.org/)を通じてこのアイデアの普及に努めている。このWebサイトにおけるオープンソースの定義としては、以下のような条件があげられている。…(以下OSDの要約)」

9:RBB TODAY(ブロードバンド辞典) 「プログラムのソース・コード(Source Code、プログラマが書いたプログラム本体で、コンピュータが読めるように処理する前の段階のもの)を無償で公開・配布すること。」

10:用語辞典by企業戦士 「オープンソースの条件とは,1インターネットを通じてソースコードが自由に手に入り,2ソースコードを改変し,その上で再配布が可能,3自由に商業利用できる。という3つの条件から成り立つ。」

11:iNITIA ビジネス用語辞典 「オープン・ソースはバイナリ形式に変換される前のソースコードを公開しようという考え方である。」

12:enjoy!コンピュータ用語辞典 「開発者が自由な技術革新を望み、プログラムコードを広く公開する方法をオープンソースという。オープンソースでは、プログラムの改良が自由にできるほか、機能追加なども行えます。」

13:辞典・用語 略語辞典 「自由に改変・配布できるソフトウェア」

14:情報処理用語辞典 「OSI(Open Source Initiative)によって定義された、ソフトウェアの開発形態のことで、以下の要件を満たしたものをオープンソースとして認定する。…(以下OSDの要約)」

1-100件目と書いたけど、私の主張を弱める方向の結果が 106 件目に出てたのでついでにそれも含めてあります。

01:15 04/02/25

今日は 国立西洋美術館 へ行ってました。 館内に置かれていた冊子にて、「考える人」の像に佐々木幸綱の 雨の日も考えている、君のこと 遠き星のこと 近き樹のこと が添えられていましたが、彼は本当はどんなことを考えているのでしょうね。

22:29 04/02/22

google://boost でいつの間にか3番目になってました。 すげー。(他人事のように)

C++の本

入門書や辞書的な本ではなく、C++って言語をどう使いこなすか に焦点を絞った書籍がいろいろ出版されています。 それぞれ方向性やテーマが違うので本来比較するようなものでもないんですが、 その中でも個人的に一番のオススメが、 「Exceptional C++」。オススメというか必読、いやむしろ、 これさえ理解しておけば他の本はどうでもいいくらいの勢い。 特に、いかにして"例外"に対して安全なコードを書くかについて語った第二章は C++に限らず、全ての言語のプログラマに念頭に置いておいて欲しい。 ちまたでは"テンプレートマニア"と思われているかもしれないけれど、 私は実際には"例外安全マニア"なのでして。

Modern C++ Design」は、21世紀を迎えたこの言語の先端に飛び込むには、 非常によい手引き書だと思います。少なくとも、"Modern C++" を知らない C++ 批判は今や的外れにしか響かない、と言えるだけのパラダイムシフトを綴った一冊。 ただ、別にレガシーな C++ でも品質の良いコードは書けるしなぁ、 ということで、誰もが今すぐ読むべきとは思いません。でも私みたいな 「プログラミングが趣味」 というヘンな人には推薦したい。

世間の評価は高いけれど、 「(More) Effective C++」 は私は特に推しません。C++を使っていれば自然に身に付く教訓ばかりのような…? という気がしてしまって。同じ著者の 「Effective STL」 は得るものの大きい本。STL(標準テンプレートライブラリ) を使う上での落とし穴に色々気付かせてくれます。しかし読んでいると、 C++ や STL の再設計をしたくてたまらなくなってくるのでした。

01:57 04/02/22

Moebius Syndrome にハマっているのですよ。今のとこ自己ベストが 408 点。しかし何回やっていても定石みたいなものがつかめない…。 思った向きにブロックを回転させるスピードだけは慣れるとあがってきて、 それなりに点数もあがるのですけど、 そういう力業じゃなくてもっとエレガントに行けそうな気がしてならないのでした。

「権限を持っているユ」っていうタイトルのウィルスメールが大量に来ます。 何だろう。ローカルファイルかキャッシュかから適当に抜き出された文章の一部、 であろうことは想像できます。けど、何でそこで切れてるのか、とか、 何で違う複数の出所から同じ箇所が切り出されてくるのか、とか。

00:58 04/02/19

冷静に考えるに5日ぶりの更新がそれだけかい、 という気がしないでもなかったのが前回の更新でした。 仮にKanonとかAirみたいに最初は18禁で発売だったら全年齢版が出るまで もう1年待つ覚悟でいたけれど、その必要もないみたい。やったー。

To annotate is human, to analyze, ...

コンピュータに理解しやすいように人間が手で注釈を入れたり、 あるいは定められた窮屈なフォーマットにきっちり合わせてデータを書いたり… というのは、現時点では非常に合理的な策だと思う。というのは、 与えられたデータや文章の「意味」を解釈する能力の(その速度はともかく) その正確さにおいては、コンピュータよりも人間の方が圧倒的に優れているから。 正確なメタデータを得るという目的においては、 負荷は処理能力のずっと高い人間側に移した方が効率的だろう。 「人間が機械に使われているみたい」という感じ方もあるようだけれど、 私はそうは考えない。理由は何個もあるけれどここでは割愛。で、 とにかくそういうわけで、人の手による Annotation や 意味づけ 、 という方向へ世界が進んでいくのは実に自然と言えよう。

…でも、それって何だか負けた気がするんだよね そりゃ人の手を借りたらできるのは当たり前で、 問題の解決策として何の驚きも面白みもない、とつい思ってしまう。 面白みとかそういう問題じゃないだろう、っていうのはわかるんだけれど、なんだか。

21:48 04/02/16

発 売 日 決 定 !

23:49 04/02/11

普段このページでは節操なく色んなものについてアレはいいよコレはいいよ、 と奨めていますが、そんなものものについて話を振られる機会が時々あります。 そういう時、これはプラスのコメントが予想されているのかな…? と考えるともうダメで、ついつい逆に批判的な発言をしてしまうことがしばしば。 どっちが本心ということでもなくて、頭の中には両方が存在するのだけれど、 外に出す際のフィルタを時と場合に応じて明後日の方向に調整してしまう、というか。

01:42 04/02/11

終わったー!

卒論発表会終わったー!ふっかーつ!!

01:07 04/02/07

金閣寺」を読んでいました。…なんと無駄のない小説だ。

Freeware World Team というサイトから、XacRettを載せたよんメールをいただきました。どーもです。 私は前々から、英語圏と日本語圏以外のオンラインソフトも探したい、使ってみたい、 と言いつつ何も行動を起こさないでいたのですが、こちらのサイトは freeware programs from all around the world に重点を置かれているようで、ページ上部に並んだ何十もの国旗アイコンから 各国ローカルのフリーウェアをたどれるのが非常に魅力的。 まだちゃんと中身見てないけれど、もしかしたら私にとっていちばん理想的な フリーウェア紹介サイトの登場かもしれません。Teamに参加してみようかなぁ。

23:57 04/02/03

おしらせ

2/1 ~ 2/2 に送っていただいたメールが、サーバのトラブルで消えてしまいました。 その間に私宛にメール下さった方は、申し訳ありませんが、 再送していただけると助かります。

卒論

最近は冬の季語と言われているらしい年中行事、立春を前にして無事提出できました。 ばんざーい! 来週の発表会まではまだ少々忙しいけれど、だいぶ楽になりました。 内容はw.l.o.g.に書くような一発ネタで限りなく薄いのですが、 暇を見て解説ページでも付けてから公開しようと思います。

Zeta RC2、 新規で購入する方には学割版パッケージがありますよ、とのこと。 日本から手続きするのは何かと面倒そうだけど……。

presented by k.inaba (kiki .a.t. kmonos.net) under CC0