タグ

2008年4月22日のブックマーク (8件)

  • 非同期呼び出しって継続っぽい -- 時間軸を加工する話 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    最近、継続っぽいもの、継続の匂いがするものを取り上げてます。 「Erlangメッセージによる割り込み -- 継続への入り口として」 : ある関数の実行が中断して、しかも制御が戻らないにも関わらず、あたかも制御が戻るように見える現象を紹介しました。(続きを行う別関数に制御が渡ることにより実現されます。) 「継続を渡してチェーンすること」 : チェーンしかできない状況で、チェーン先にラベルを渡して呼び出しをシミュレートしてみました。 今日も、なーんか“継続みたいなもの”を話題にします。 非同期 Remote Procedure Call まず次のような、HTMLに埋め込まれたJavaScriptプログラムを考えます。 <html> <head> <title>Difficult Calc</title> <script> function difficultCalc(x, y) { var a

    非同期呼び出しって継続っぽい -- 時間軸を加工する話 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • あの福井市の小学生、その驚くべき発見とは (3) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    (前のエントリーの続きです。) ●面積公式になじむ まずは、 面積 = 内部点の個数 + 周囲の長さ/2 - 1 がどうやら成立しそうだという“感じ”をつかんでおきましょう。(“感じ”だけ。) 内部点が十分にあるようなタイル領域、つまり、細くなくて大きなタイル領域の場合、内部点を勘定して面積の近似値にするのは悪い考えではありません。次の例だと、(僕の勘定が間違ってなければ)内部点が60個、面積は81(タイルが81枚)です。領域をもっと拡大すれば近似の精度は上がります。 円の面積(下の図は1/4だけ描いてあります)の場合、タイル領域で近似し、その内部点を勘定する方法で割といい近似値が得られます*1。 しかし、細い領域の場合は、そもそも内部点がなかったりするので、内部点の個数で面積を近似するわけにはいきません。次の細長い長方形で見てみると、面積の値は長い辺の長さと同じです。眺めていると、面積

    あの福井市の小学生、その驚くべき発見とは (3) - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • あの福井市の小学生、その驚くべき発見とは (2) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    (前のエントリーの続きです。) 面積 = 内部点の個数 + 周囲の長さに依存する数 の「周囲の長さに依存する数」の予測はつきましたか? … … … これは、「周囲の長さ/2 - 1」となります。結局、面積を求める公式は、 面積 = 内部点の個数 + 周囲の長さ/2 - 1 中藤小学校の先生が出した宿題の場合、周囲の長さが16だったので、「周囲の長さ/2 - 1」の部分が「16/2 - 1 = 8 - 1 = 7」となり、 面積 = 内部点の個数 + 7 だったわけです。 下の図は、僕が方眼紙に描いてみた少し複雑な例です。確かに、「面積 = 内部点の個数 + 周囲の長さ/2 - 1」となっていますよ。 特に、宿題の例(e)のように、内部点をもたない“細い図形”のときは、 面積 = 周囲の長さ/2 - 1 となり、面積は周囲の長さだけで決まる(そして逆に、周囲の長さは面積だけで決まる)ことにな

    あの福井市の小学生、その驚くべき発見とは (2) - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • あの福井市の小学生、その驚くべき発見とは - 檜山正幸のキマイラ飼育記 (はてなBlog)

    みなさん、お待たせいたしました。発表いたします。 なにを発表? -- ことの発端は、「福井市の小学生が驚くべき発見」をまず読んでくださいませ。 読みましたか? はい、では、いきます。 ●中藤小学校の先生が言いたかったこと 前のエントリーでは、図を少し縮小して貼っていたので、以下のリンクをクリックして原寸大の図を脇に表示しておいてください。 図を別ウィンドウで表示 (a), (b), (c), (d), (e)の5つの例で、周囲の長さはすべて16です。しかし、面積は異なります。念のために表にまとめておけば: \ (a) (b) (c) (d) (e) 周囲の長さ 16 16 16 16 16 面積 16 15 14 13 7 小学校の先生が言いたかったことを、(子供向けじゃなくて)大人の言葉で表現すれば次のようになります。 面積が周囲の長さから求まるなら、 面積 = f(周囲の長さ) という

    あの福井市の小学生、その驚くべき発見とは - 檜山正幸のキマイラ飼育記 (はてなBlog)
    Trapezoid
    Trapezoid 2008/04/22
    やばいたのしー
  • プログラミング言語Make 補遺:引数付きの関数 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「Makefileの書き方:プログラミング言語Make」のコメント欄で、shiroさんから「引数付き関数もユーザー定義できるよ」とご指摘いただきました。 http://www.gnu.org/software/automake/manual/make/index.htmlを見てみたら、最近のGNU Makeでは引数を扱えることが判明。例えば、次のように使えます。 SUBDIRS := src include test files = $(wildcard $(1)/*.erl) $(wildcard $(1)/*.hrl) ALL_FILES := $(foreach dir,$(SUBDIRS),$(call files,$(dir))) filesが引数付き関数(Make用語ではパラメータを持つ再帰的変数)です(($(wildcard $(1)/*.erl) $(wildcard $(

    プログラミング言語Make 補遺:引数付きの関数 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Makefileの書き方:プログラミング言語Make - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「Makefileの書き方、その勘どころ」にて: まだ、関数を使ってソースやターゲットを生成する方法とかパターン規則の説明をしてないので、続きを書くと思います。調べているうちに、GNU Makeの構文(の一部)はある種のプログラミング言語だという気がしてきました;そのことも書きたい気がしてます。 というわけで続きを書きます。 実は、関数呼び出しを使うときは、代入に「=」を使うより「:=」のほうが適切かつ効率的なときが多いのですが、その話は次の機会にします。 これの説明が中心になります。 内容: 前置き 変数の種類と変数定義 ソースコードの後のほうを参照すること Makeは上から下へと実行していくのだ MakeとLispは似ている 実例 ●前置き 以下、Make一般ではなくてGNU Makeの話です。GNU Makeより古いMakeにも備わっていた伝統的機能の説明はしません。 GNU Mak

    Makefileの書き方:プログラミング言語Make - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 電脳メガネ「のようなもの」を作ってみた - 拡張現実ライフ

    晴天の価値 2月中旬に出張で千葉へ行った。5日間の滞在中はずっと快晴で、気温は20℃に迫る春のような暖かさだった。仕事は朝から晩まで現場を走り回る過酷なもので、身体的にも精神的にも追い込まれた。毎朝、京葉線から見える美しい景色を眺めて正気を保っていた。太平洋へ燦々と…

    電脳メガネ「のようなもの」を作ってみた - 拡張現実ライフ
    Trapezoid
    Trapezoid 2008/04/22
    やべええええええええ
  • YappoLogs: CodeReposのコミット時のrule撤廃とか

    CodeReposのコミット時のrule撤廃とか 今までCodeReposにコミットする時はプロジェクトパスを入れろてきなルールが合ったのですが、hanekomuや自分を始めとする皆の不満がつのったし、そもそもそんなの機械的にやればよくね?という話も前からあったのでJesseがCodeReposに来たのを記念してルール撤廃しました。 そもそも何であんな変なのがあったかというと、ircbotやfeedで見た時にプロジェクト名がわかり易い方がいいって理由だけだったはず。 それなので、Commit Pingを受け取ってFeedを吐くサーバを書きました。 サーバのコードはhttp://svn.coderepos.org/share/websites/coderepos.org/feedmaker/ Feedはhttp://coderepos.org/feeds/share.xml でCodeRep

    Trapezoid
    Trapezoid 2008/04/22
    まじか、うれしー