2007-12-01から1ヶ月間の記事一覧

Javascript使いもSICPを読むべき

Javascriptで名前空間を汚染しないようにクロージャを使うイディオム、例えばA JavaScript Module Patternって、 SICP第3章のコレじゃん。 3.1.1 Local State Variables (define (make-account balance) (define (withdraw amount) (if (>= balance amount) …

技術講演をニコニコで見よう

クリスマスだけに、Wiiリモコンネタで、ろうそくで赤外線だして吹き消すとかやるといいかも。 数学ではこういうものも。講義, 講演等のビデオを公開するプロジェクト自分で15パズルとマインスイーパの動画を作ってみて、少しずつノウハウがたまってきた。 キ…

javascriptで15パズルを作ってみた(動画)

Youtube ニコニコ http://www.nicovideo.jp/watch/sm1781363 prototype.js 1.6.0 使用。Firefox,IE6で動作確認。 http://eva-lu-ator.net/~gemma/geocities/nikoniko/puzzle.html var puzzle; var zeropos; function swap_puzzle(x,flag) { var tmp = puzzle…

glovePIEのスクリプト仕様が凝りすぎてて面白い

if文,while(for)ループ,変数,四則演算,三角関数,平方根,指数対数関数,日付,乱数...etc しかもこの言語は、手続き型言語じゃない!常にスクリプト全体がリピートしている。このスクリプト全体が、Windowsのイベントポーリングのループの内側で実行されている…

prototype.js 1.6.0 の DOM Builder で hello world

new Element('button',{onclick:"alert('hello world')"}) とやれば、 <button onclick="alert('hello world')"></button> になる。と思ったらダメだった。 Firefoxは大丈夫ですが、IEで動きません。 内部でsetAttributeが使われていて、setAttribute(onclick,"alert('hello world')")となるからです。 IEでは…

Wii RemoteをPCにつないで、Kaosspadみたいに使えないかということで、 Wii Remote -> Processing(ProMIDI) -> DTMソフト を検討したが、ProMIDIのMIDI出力でエラーがでてちょっとつまづいてる。 P5ならVJもできるし、Win,Mac,Linuxに対応するしフロントエン…

JavaScriptへのマルチスレッド・プログラミングの導入

これは素晴らしい。 ただ、自分はAjaxでツリー型の掲示板を作ったことがないせいか、内容をよく理解できない。 現時点でどこが理解できないのかメモ。 1. これまでの例ではgetArticleの中で同期通信を利用していると暗黙に仮定して話を進めてきました 暗黙な…

無限オブ無限

Schemeのコルーチンでやってみました。 (use util.queue) (use util.stream) ;; coroutine (define process-queue (make-queue)) (define (coroutine thunk) (enqueue! process-queue thunk)) (define (start) ((dequeue! process-queue))) (define (pause) …