タグ

2010年5月6日のブックマーク (14件)

  • 計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記

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

    計算モデルと論理とゲーデルの不完全性定理 - Gemmaの日記
  • Google App Engineでランキングやページングを実現する - $koherent->diary

    昨日一昨日、Google App Engine (GAE)に関する日最大の勉強会(だと思う)appengine ja night #7 (ajn7)が行われました。 その中で『ランキング問題』が話題に上がりました。『ランキング問題』とは、何十万件もの点数のデータがあるときに、App Engine上で、「◯点は何位です」と高速に求めることは難しい、という問題です。(◯ページ目を表示、というページングもこれと同じ種類の問題になります。) ajn7では「上位でない限り正確な順位は必要ないのではないか」という話になりましたが、Skiplistを用いた検索アルゴリズムを使えば正確かつ高速に順位を求めることができるのではないかと思い、実装&検証してみました。 ランキング(順位取得)のデモ 下記ページで順位取得のデモを動かしています。スコア(点数)を入力すると順位と取得にかかった時間が表示されます(時

    Google App Engineでランキングやページングを実現する - $koherent->diary
  • 中国株暴落を予言するマーク・ファーバー : Market Hack

    マーク・ファーバーのブルームバーグでのインタビューが今日、かなり話題になっています。 ニュースの見出しは彼の中国株暴落予言の事ばかりに注目していますが、ギリシャ問題やドルなど、それ以外の投資対象に関してもかなり果敢な予測をしています。 ブルームバーグ:「ギリシャはどうなるとおもいますか?最善、最悪のシナリオを教えて下さい。」 マーク:「これはマネタイゼーションの過程のひとつだとみなすことができる。今、世界のいろんなところで同時に進行している現象の一部だ。ユーロは引き続き弱くなるだろう。 今後他の国も救済の対象となり、ギリシャは厳しい緊縮財政を敷き、深刻な景気後退に見舞われる。 ギリシャの財政赤字を13%から3%に圧縮すると経済そのものが委縮してしまい、景気が悪くなる。するとギリシャの借金返済能力も同時に失われてしまうということだ。 別の言い方をすれば今、ギリシャは救済されても、先々を考える

    中国株暴落を予言するマーク・ファーバー : Market Hack
  • 狐に背中を飛び越されまして

    狐に背中を飛び越されまして

  • わたしが新入社員の時に学んだこと | タイム・コンサルタントの日誌から

    紅海を見下ろすホテルのレストランで、私たちは事していた。相手はサウジアラビア有数の財閥企業のBusiness Development担当ディレクターだ。いわゆるアラブ風の白い民族衣装ではなく、ふつうの背広にネクタイの服装をしている。年齢は、たぶん私と同年代か、少し若いかもしれない。しかし財閥トップの信任の厚い彼は、もうすぐ役員のポストに手が届くだろう。 戒律厳しいサウジの卓では、けっして酒は供されない。それでも、一緒に事をするというのは、知り合ったばかりの人間同士がうちとけるには最良の手段の一つだ。デザートをべ、後のお茶やコーヒーを飲む頃には、出自を含めていろいろなことを話し合うようになっていた。 レバノン出身の彼は、きわめてきれいで立派な英語を話す。イギリスの大学を出て、英国企業に就職し、さらにMBAを取得して別の会社のポストを得た。結局、11年間イギリスに住んだという。それか

    わたしが新入社員の時に学んだこと | タイム・コンサルタントの日誌から
  • Gaucheでクローラを書くことと、そのためのライブラリ - 再帰の反復blog

    リンクをたどっていくつか巡回するだけの簡単なクローラを作ってみたら、戸惑うところが多かったので、まずはそのメモ。 戸惑ったところ http-get オプションで「:no-redirect #t」を指定しないと、自動でリダイレクトする → リダイレクトされると、持ってきたページのURIが想定していたURIと違う場合がある。→ 「http://」から始まらないパス(相対URI)を長いURI(絶対URI)に戻せない。 オプション「:sink out」を指定すると、HTTPの応答のメッセージボディは出力ポートoutに書き出されていく。「:sink out」を指定している状態でリダイレクトが発生すると、リダイレクト前にoutに書き出されたものとリダイレクト後の結果の両方が書き込まれた状態になる。flusherオプションで適切に処理させる? 文字コード関連 http-getは文字コードの指定オプション

    Gaucheでクローラを書くことと、そのためのライブラリ - 再帰の反復blog
  • Lisp in Small Piecesを読んだ - Homoiconic Days

    読み終わったのは3週間くらい前だけど、ゴールデンウィークで普段よりは時間があるので、読んだ感想など書いてみる。 Lisp in Small Pieces 作者: Christian Queinnec,Kathleen Callaway出版社/メーカー: Cambridge University Press発売日: 2003/12/04メディア: ペーパーバック購入: 2人 クリック: 61回この商品を含むブログ (4件) を見る Lisp in Small Pieces (LiSP) は、Lisp のインタプリタ/コンパイラの実装について説明したで、500ページ11章で12種類のインタプリタと2種類のコンパイラを紹介している。目次は以下のとおり。 The Basics of Interpretation Lisp, 1, 2, ... ω Escape & Return: Continu

    Lisp in Small Piecesを読んだ - Homoiconic Days
  • JettyとGoogle ChromeでWebSocketを試す - nullpo.printStackTrace();

    JavaのサーブレットコンテナであるJetty 7には WebSocketServlet があり、HTML5 WebSocket アプリケーションのサーバサイドを簡単に実装できるようだ。 試しにチャットの原型のようなプログラムを書いてみた。gitで公開しているのでcloneして試してみて。 git clone git://github.com/paulownia/websocket-sample.gitwebsocket.jar をダブルクリックすると Jetty が立ち上がる。次に Google Chrome で http://localhost:8080/ にアクセスする。connected. と表示されていれば WebSocket の接続成功だ。テキストフィールドに適当なメッセージを入力し、Shiftを押しながらEnterを入力するとサーバにメッセージが送信され、サーバは接続している

    JettyとGoogle ChromeでWebSocketを試す - nullpo.printStackTrace();
  • はてなブログ | 無料ブログを作成しよう

    ネイルで使う材料で、DIY時の木割れやネジ跡を派手にしたらかわいい OSB合板でちょっとしたボックスをつくりました。 ビス止め下手すぎて木を割ったり穴あけすぎたりした場所に、好きな派手色の樹脂を詰めてパテ代わりにしてみました。 ちょっと某HAYっぽみ出て可愛かったので、自分用にメモです。 手順 塗装 派手色グミジェルで失敗部分…

    はてなブログ | 無料ブログを作成しよう
  • google-perftools(tcmalloc)の使い方 - moratorium

    google-perftools(tcmalloc)の使い方 2007-12-17 (Mon) 22:59 Google OSS PFIでは毎週1人適当な話題で発表しているのですが、この間「GooglePerfToolsの使い方」という軽いお題で発表した資料を公開してみます。メモリ周りの問題は大変ですよね…。 google-perftools - Fast, multi-threaded malloc() and nifty performance analysis tools 肥え続けるTomcatと胃を痛めるトラブルハッカー ローテクなメモリ使用量監視方法 特にC++で長期運用中のメモリリークに苦しんでおられる方には役立つかと思います。基的にドキュメントの日語訳ですが。SlideShareだとなぜか図がずれるので、元ファイルをこちらに置いておきます。 | View | Upload

  • プログラマとして言語を愛することができる幸せ - 日記を書く [・w・] はやみずさん

    先日のLL魂後の飲み会の席にて、id:amachangとかid:masa_edwとかid:scinfaxiと話をしていたときに、途中で話が切れてしまっていたことをWebの虚空に向かって叫んでみる。 Scheme(Gauche)は、自分にとっては帰るべき家のようなものだ。プログラミングをするにしても、Gaucheだけに留まることはできないし、留まる気もない。C、JavaPHPRuby、、、色々な言語を必要に迫られて使ったり、あるいはFortressみたいな言語に冒険してみたりもする。でも、それは帰るべき家があるからこそ冒険ができるんだ。自分が初めて心から好きになれた言語であり、最もいごこちのよい言語があるからこそ、プログラミングが楽しい。大変なときは、GaucheのREPLに帰ればほっと一息つくことができる。 なぜSchemeが好きなのか、ということに理由はない。便利な機能や、Schem

    プログラマとして言語を愛することができる幸せ - 日記を書く [・w・] はやみずさん
  • $ と cut - 主題のない日記

    Gauche には $ というマクロがこっそり入っている。 まだ改良の余地があると考えているらしく、ドキュメントにはまだ記載されていない。 Haskell の $ をヒントにしたそうで、具体的には以下の例のとおりに展開される。 ($ f a b c) => (f a b c) ($ f $ g a b c) => (f (g a b c)) ($ f $ g $ h a b c) => (f (g (h a b c))) ($ f a $ g b $ h c) => (f a (g b (h c)))インデントが深くならないというのはあるにしても、記述が短くなるわけでもなく、便利な場面があるか私は疑問に感じていた。 ところが、「どう書く?org」で出題されていた「文字列に含まれる単語の最初の文字を大文字にする」という問題を解こうとして $ を使う機会があり、考えが変わった。 まず、私が書い

    $ と cut - 主題のない日記
  • Gauche練習帳 format関数完全マスター - aike’s blog

    だいぶGaucheに慣れてきました。今回は文字列の出力方法をこまかく指定するためのformat関数について書式を調べてみました。もともとK&R脳なのでprintfとの比較もしてみます。 Scheme言語ではprintf/sprintfのような書式指定にformat関数を使います。SRFI-28として規定されているのは、~a ~s ~% ~~ の4種類のシンプルなパターンのみなので、実用的な処理系としては独自に拡張することが必要になります。 Gaucheの場合、Common Lispを参考にformat関数の書式指定が実装されているとのこと。また汎用の多機能ライブラリSLIBをインストールするとさらに多くの書式が使えます。 Gaucheのみの場合 Common Lispのformatの一部(+独自拡張?) パディングやカンマ挿入の機能が豊富 16進数の大文字小文字が指定できる 実数の書式指定

    Gauche練習帳 format関数完全マスター - aike’s blog
  • wxWebKitを使って、WebKitエンジン製の簡易なブラウザを作ってみる - ふにゃるんv2

    最近、WebKitと その派生版が流行っておりまして、自分も色々と勉強中です。 で、WindowsでWebKitを扱うのに便利なライブラリは無いかしら?と思って色々と調べていました。 で、現時点で、自分が理解した事を、簡単にメモしておきます。(嘘が入っているかも知れません) WebKitは外部からActiveXコントロール制御できない。 どうやら商用でActiveXコントロール化した派生はあるようなんですが、WebKit自身はActiveXコントロール化されていない模様で、各種言語から CreateObject 等を使って外部から制御する事は出来ないようです。 Windows版の内部実装は、COM実装されている模様。 少なくとも、Windows版は AcitveXの基底技術である COMで実装されています。 ただ、OLEオートメーションで必要なインタフェースを実装していないので、外部から制

    wxWebKitを使って、WebKitエンジン製の簡易なブラウザを作ってみる - ふにゃるんv2