タグ

ブックマーク / gemma.hatenadiary.org (6)

  • インターネットOSとしてのGoogle Wave - Gemmaの日記

    みなさんこんにちは!私はアーキテクチャ宇宙飛行士です。 今日はみなさんを、インターネットOSの旅へとご案内しましょう! インターネットOSとは ティム曰く: 次第に我々はウェブサービスの荒野が変わるのを目の当たりにするだろう。開拓段階である第一段階は、スクリーンスクレイピングやバックエンドがデータベースのウェブサイトへの「無許可の」専用インターフェースを特徴とする。第二段階になると、ウェブサイト自身がより効率的で、XML ベースの API を提供するようになる(今これが起こり始めている)。第三段階になると、単一のベンダ(あるいは少数の競合ベンダ)が、インターネットをプログラム呼び出し可能なコンポーネントの膨大なコレクションに変え、それらのコンポーネントを、非技術系の人たちに毎日利用されるアプリケーションに統合する包括的な一連の API を提供することで、個々のサービスの寄せ集めが実際のオペ

    tanakaBox
    tanakaBox 2010/02/22
    waveのわかりやすい説明。> Google Waveには「すべてはXMLメッセージ」という設計思想があるように見えます
  • 計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記

    ゲーデルの不完全性定理は、数学を扱う数学、つまりメタ数学を考えるが、それだと理解が難しい。しかし、証明(数学)=プログラムという悟りを開くと、プログラムを扱うプログラム、つまりメタプログラムを考えればよくなり、それならコンパイラ等でなじみがあるので理解が優しくなる。 話の流れは以下。 1. プログラムとは何か 2. 証明とは何か 3. 証明=プログラム , (   {、 {   ヽ.ー、、 \、__ぃ._ゝ⌒ヾ iヾ)}、_ ン_ー-_二ー-, 〉 {厶 _、ヽ              _ ヽ._>'´ / /,ィ/ / ハYヘい       ,. -- 〃⌒ r−-、      ィ´  〃 ,イ/7'  ,イイ/ 小ヽ 丶、 ,. ‐ '´ハ i   ″`ヽ、 、ヽ、     /幺ィ  {从{小込v' jゥ仏厶川リ}  YV,   小 Vj. |丶   ヽ ` ー-ミー--'_,辷三彡

    計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記
    tanakaBox
    tanakaBox 2010/02/22
    途中まで・・・
  • Firefox拡張入門第1回(開発の準備) - Gemmaの日記

    開発者必携ツール DOM Inspector 右クリックメニューを拡張したいんだけどデータどこにあんねん、というとき便利。 QuickRestart ブラウザを再起動して拡張プログラムをリロードするとき便利。 Console2 Javascriptコンソールの強化版。エラーメッセージをよりわけできて便利。 SQLite Manager ブラウザ内蔵のSQLite RDBMSGUIで操作できて便利。 Venkman JavaScript Debugger Javascriptデバッガです。わりと便利。 MozReplも必携です。Firefox内部のJavascriptインタープリタにtelnet接続できます。 Home - mozrepl - GitHub 最速インターフェース研究会 :: Firefoxの拡張MozLabの中に含まれるMozReplがヤバすぎる件について 私の開発の流れは

    Firefox拡張入門第1回(開発の準備) - Gemmaの日記
    tanakaBox
    tanakaBox 2009/09/11
    連載記事
  • 30分プログラム 最大素因数分解の探索(Project Euler) - Gemmaの日記

    fromみずぴー日記 13195 の素因数は 5、7、13、29 である。 600851475143 の素因数のうち最大のものを求めよ。 ポラード・ロー素因数分解法が面白そうだったのでチョイス。Gaucheで。 (use srfi-1) (use srfi-42) (use math.mt-random) ;;underの大きさは問題に応じて適当に調整してください。問題の数の素因数が全てunder以下なら解けます。 (define under 10000) ;;under以下の数をO(1)で素数判定するためのベクタ (define under-vec (let ((v (make-vector under #f))) (for-each (cut vector-set! v <> #t) ;;under以下の素数のリスト (list-ec (: n 2 under) (if (not (a

    30分プログラム 最大素因数分解の探索(Project Euler) - Gemmaの日記
    tanakaBox
    tanakaBox 2008/04/04
    ポラード・ローを用いいた素因数分解
  • 関数型言語って何がすごいんですか - Gemmaの日記

    C使いの人に、 関数型言語って何がすごいんですか と聞かれて、 じゃあC言語で accumulator すなわち、数nをとり、「数iを取ってnをiだけ増加させ、その増加した値を返す関数」を返すような関数を書いてみろよ って言ったら、 値を返す関数を返すような関数・・・? オンドゥルルラギッタンディスカー で、会話が続かない。 さらに、C使いのターン。 関数に関数を渡せる? Cだって関数ポインタ渡せますよ。 チューリング完全なんだから、どんなプログラムだって書けますよ。 と仕掛けてきた。そこで、 じゃあ、3回呼ぶと動作が変わる関数を書いてみて。 f(); f(); f(); f(); と呼ぶと、 3 2 1 liftoff って出力されるやつ。ロケットみたいな。 できました。 #include <stdio.h> void f() { static int count = 3; if (co

    関数型言語って何がすごいんですか - Gemmaの日記
    tanakaBox
    tanakaBox 2008/01/30
    Cでもクロージャは作れる。
  • javascriptで不思議のダンジョン自動生成 - Gemmaの日記

    Roguelike(Rogue, NetHack,トルネコ,etc)のダンジョンを自動生成するプログラムです。 javascriptにもだいぶ慣れてきたので、やってみました。 http://eva-lu-ator.net/~gemma/geocities/jscont/dungeon.html 昔に書いた解説はこちら。 http://racanhack.sourceforge.jp/rhdoc/index.html Gauche で書いた例はこちら。 id:Gemma:20070617 以下、解説。 まずは、[40][80]の2次元配列を用意して、初期化して、表示してみましょう。 実例: http://eva-lu-ator.net/~gemma/geocities/jscont/dungeon_a.html <html xmlns="http://www.w3.org/1999/xhtm

    javascriptで不思議のダンジョン自動生成 - Gemmaの日記
    tanakaBox
    tanakaBox 2007/09/01
    面白そう〜。
  • 1