« 2006年3月 | メイン | 2006年5月 »

2006年4月 アーカイブ

本日のSICP

素数であるかを判定するFermatテストをお勉強。
ほぼ写経なんですが,コードはこんなかんじ。(gauche)


(use math.mt-random)
(define mt-m (make :seed (sys-time))) (define (square x) (* x x))

(define (expmod base exp m)
(cond ((= exp 0) 1)
((even? exp)
(remainder (square (expmod base (/ exp 2) m))
m))
(else
(remainder (* base (expmod base (- exp 1) m))
m))))

(define (fermat-test n)
(define (try-it a)
(= (expmod a n n) a))
(try-it (+ 1 (mt-random-integer mt-m (- n 1)))))

(define (fast-prime? n times)
(cond ((= times 0) true)
((fermat-test n) (fast-prime? n (- times 1)))
(else false)))

(display (fermat-test 561))
(newline)


で,これのおもしろいのは確率的に素数判定をおこなうということ。
さらにおもしろいのが,Carmichael numbersというFermatテストを騙すことができる数があることが明らかになっていること。しかも,1105とか明らかに素数でない数でFermatテストが騙される。なぜなぜ?
そのうえ,100,000,000以下のCarmichael numbersは255個ある,と。なんか意味ありげな数字だ。うーん,なにかありそう。

Carmichael numbersは完全疑似素数とよばれるのか。なんかかっこいい。

と,SICPの29Pのお話でした。
博士の愛した数式を読んだ直後ってこともあってめちゃくちゃ興味津々。こういう深追いは楽しいなぁ。
博士の愛した数式


Ikea Japanキタ!

4月23日、船橋ららぽーとにIkeaがオープン。世界最大の家具サプライチェーン。Ikeaの会長はビルゲイツを凌ぐともいわれるお金持ち。安くてオサレな家具市場が変わるよ!

行きたいけど、ちょっと遠いなぁ。混むんだろうなぁ。

現時点では、カタログ販売やオンラインショッピング等による通信販売の予定は

とのことで、Web経由で買える様になることを願っておきます。
神戸、横浜港北にもOpen予定とのことで、今後も楽しみ。
http://www.ikea.com/ms/ja_JP/local_home/funabashi.html


一週間ようやく終了

日曜日にPython Workshop@新宿マイクロソフト,
火曜日にGREE Labs -オープンソーステクノロジー勉強会@六本木,
水曜日にSICP読書会@赤坂サイボウズラボ,
金曜日にshibuya.js@お茶の水デジハリ

と怒濤の一週間が終わりました。いや遊んでばかりいただけですが。

すごいと思ったことダイジェスト。

・IronPython。.NetFrameWorkのウィンドウオブジェクトがネィテイブに扱える。Visual Studioとの連携も素晴らしい。もう是非,Vistaに同梱してほしい。Pythonの時代キタ━━━━━(゚∀゚)━━━━━っ!
Mecab。つか中の人がすごい。すげー楽しい。自分の中の形態素解析欲求(?)がムラムラと。なんか無駄にテキストマイニングとかしたくなりました。Dartsもいろいろ遣い途があるはず。
・SICPは相変わらずなんですが,サイボウズラボがすげぇ。なにあの環境。サイボウズラボって看板人材はそろいつつあるんで,次に必要なのは看板プロジェクトな気がします。「あれ見て,サイボウズラボを知ったんです」っていうような看板プロジェクト。会社の魅力,一緒に働く人の魅力,プロジェクトの魅力って並べてみて,Googleにあってサイボウズラボに無いものはわかりやすい看板プロジェクトだと思います。
・あとオイラーです。オイラーの公式のオイラーさんです。オイラではないです(オヤジ)。先週のSICPの復習なんですが,n**n+n+41とかオイラーの公式とか知ってMyブームです。素数ブーム。オイラーの贈物—人類の至宝eiπ=-1を学ぶ も読んでみよう。
・shibuya.js。ネタイベントと呼ばれていたのですが,勉強にもなりました。会場を見渡すとWebやっている人のコモンランゲージ的な部分がるんでPerlな人,PHPな人,Rubyな人とみんないて,それも面白かったかなぁと。RailsだとJavaScriptをこんな風に楽できるけどSymfonyでも楽できるぜ!みたいな話が今度は聞きたいです。スタッフに感謝。強いていうならせっかくこういう場なので懇親会も用意してくれればよかったのに。

明日は綾戸智恵のLiveにいってきます。明後日は渚です。もうちょっと遊んでばっかり。


ドリコムRailsコンテストにエントリーしました。

ドリコムのソフトウェアコンテストにエントリーしてみました。

オープンソースなフレームワークを使うことがコンテストの条件なので、まずその選定の話。

個人的に今、一番注目しているフレームワークはRailsを超えたともいわれるPHP5用フレームワークsymfonyです。機能のカバーする範囲とPHP5のtidyとかpdoとかの強力なライブラリ群が魅力。

で、次点はZopeです。統合環境なので、フレームワークと呼ぶには反則近いほど過剰な高機能さ!

他にはPerlのCatalyst、PythonのDjango、JavaのWebObject、SchemeのKahuaあたりが興味あるフレームワークです。

が、今回はEthnaでいこうと思います。
理由はまたまた諸事情あって、レンタルサーバ環境に適応させなきゃいけないことが大前提としてあって、そうなるとZopeやPHP5のsymfonyはちょっと難しい。。。大量のCPANモジュールを必要とするCatalystも厳しい...。
さらに、やっぱりEthnaも興味ありますし。応援したいですし。この機会に日本語圏外にも広めたいなぁ、とか。

諸事情あるんで、アレなんですが、とりあえず、こだわりもったいいアプリは作りたいなぁとオモイマス。


10.5 Leopard

英語読みだと"レパード"らしい。"レオパルド"はドイツ語読みらしい。そういえば、戦車の名前にあったかも。
目玉のBootcampも発表済みで、あとは例によってサプライズ待ちなだけで、どーでもいーんですが、そろそろネコ科の大型獣はこれで、品切れっぽくね?


  • 10.0 Cheetah

  • 10.1 Puma

  • 10.2 Jaguar

  • 10.3 Panther

  • 10.4 Tiger

  • 10.5 Leopard

残りはヤマネコ(リンクス)か、ボブキャット。飛び技はスフィンクスか。

どうする?アップル?


Switch Off

今年もマッタリと1年で1番長い休日。

コードを書いたり,レコードかけたり,昼ビールしたり,お掃除したり,本を読んだりと時間の流れをゆったりスイッチ。

やろうと思ってなかなかできなかったことをいろいろやろう。
例によって寺社仏閣も巡ろう。
チャリで街を走ろう。
楽しい人に会おう。
見たこと無いものを見よう。


そして明日からはいい天気らしい。感謝。













Powered by
Movable Type 4.25