2007-01-01から1年間の記事一覧

テキスト処理

ログファイルや設定ファイルの処理に最高の手段は何か。 正規表現? Feb 21, 2005 6:57:39 PM java.util.logging.LogManager$RootLogger log SEVERE: A very very bad thing has happened! java.lang.Exception at logtest.main(logtest.java:24) XML? <log> <…</log>

http://steve.yegge.googlepages.com/the-emacs-problem のまとめ

javascriptでマインスイーパを作る動画

javascriptで、 prototype.js script.aculo.us.js を使ってマインスイーパを作っている動画 Youtube (画質が粗い上に10分に詰めたので判読不能) ニコニコ http://www.nicovideo.jp/watch/sm1113536 高画質swf http://eva-lu-ator.net/~gemma/geocities/nikon…

(30分プログラミング)Gaucheでpasteコマンド

id:mzp:20070902のと比べてみる。 #! /usr/bin/gosh (use srfi-1) (define (main args) (define files (map open-input-file (cdr args))) (let loop () (define l (map read-line files)) (unless (every eof-object? l) (print (string-join (map (lambda …

集中力向上ライフハック

「ためしてガッテン」の集中力向上ライフハックを拝見。 この機会に、自分が知っている集中力向上方を書き出してみる。 (並び順は、マクロな集中力→ミクロな集中力) クールな連中との週1回のディナー 自分はocaml-nagoyaに参加していて、まさに、このような…

三目並べと”みつならべ”を誤解してました

三目並べの必勝AIを作ろうとして、ひょっとググったら、自分が三目並べと"みつならべ"を誤解していたと分かった。みつならべは、双方が最善手を打てば、永遠に勝負がつかないゲームだ(ありゃ?)。だから、小学校も低学年をすぎると、あまりやらなくなる。さて…

分散関数呼び出し

どう書く?.orgより http://ja.doukaku.org/45/自分は、分散関数呼び出しといったら、 クライアントが、関数をマーシャリングして、サーバに送る サーバがそれを受け取って、デマーシャリングして、評価して、結果をクライアントに返す というものを想像する…

javascriptで不思議のダンジョン自動生成

Roguelike(Rogue, NetHack,トルネコ,etc)のダンジョンを自動生成するプログラムです。 javascriptにもだいぶ慣れてきたので、やってみました。 http://eva-lu-ator.net/~gemma/geocities/jscont/dungeon.html昔に書いた解説はこちら。 http://racanhack.sour…

javascript による、継続渡しのWebアプリケーションです。

http://eva-lu-ator.net/~gemma/geocities/jscont/sum.html おなじみ、足し算をするサンプル。Backボタンが機能するのがポイントです。 http://eva-lu-ator.net/~gemma/geocities/jscont/color.html 「ユーザがこのリンクをクリックしたら、色選択ページに行…

jsで、継続サーバっぽい動作をする何か Backボタン対応版

id:Gemma:20070802 の続きです。YUIを使って実現しました。IEとFirefoxで動作確認しました。 http://eva-lu-ator.net/~gemma/geocities/jscont/sum.htmlこうなります。 // q0 :: unit -> Hash function q0() { var a = { x: $('x').value }; return $H(a); }…

jsで、継続サーバっぽい動作をする何か

"継続サーバっぽい動作をする何か"の、作りかけです。ブラウザのBackボタンに対応しなきゃ意味がないので。 http://eva-lu-ator.net/~gemma/geocities/bubbles/sum.html ページ遷移っぽい何かが起きるたびに、タグの中身を、DOMで!全面!書きかえるッ! ヽ.…

javascript式HTML記法その2

script.aculo.us の Builderではこうなのは、前に紹介した。 element = Builder.node('div',{id:'ghosttrain'},[ Builder.node('div',{className:'controls',style:'font-size:11px'},[ Builder.node('h1','Ghost Train'), "testtext", 2, 3, 4, Builder.nod…

javascript式HTML記法関連

div({style:{background:'lavender', padding:'10px', fontSize:'130%', textAlign:'center'}}, b('Hello '), span('world', {className:'pink'}), '!', br(), br(), table({style:{margin:'0 auto', width:'300px'}}, tbody( tr( td({style:{background:'#c…

javascript関連のメモ

IE DOM Bugs IEでは、ノードのname属性とtype属性は、更新不可

コルーチンとギャラクシアン

SICP読書会で、26日に継続について話してほしいとのこと。 前回、id:zyxwvさんがC言語で書いたS式計算機を披露したとき、彼は、パーサ、というかミニ正規表現、の有限状態遷移を書くために、switch文があふれかえってしまい、困っているとのことだった。 …

javascript勉強中

canvasタグ,prototype.js,script.aculo.usなど勉強中。 canvasタグは、ピクセルごとのαチャンネルもあるし、なかなか。 作ってみました。しゃぼん玉(Firefox用) http://eva-lu-ator.net/~gemma/geocities/bubbles/ 3 must read JavaScript articlesにあがっ…

夏の推薦図書 Nightwork

SICPの無料全文公開という太っ腹で有名な、Mit Pressのサイトを散策。 さまざまな分野に、膨大な本の数々。この一冊一冊がSICP級だとしたら・・・。静かに称賛しつつ、目を閉じる。で、この夏の推薦図書に、 Nightwork(MitPressのサイト)Nightwork: A Histor…

山吹色のモナディック疾走

モナド*1ファンクターって何? 要するに、型や値に色をつけるってことだよ。 色って? Int型をInt型とかInt型と色わけしたり、1という値を1にしたりね。色をつけるにはreturnを使う。それとか、1 + 3じゃダメで、ここは+も緑にしてやらにゃ。それがLiftM2。…

The Next Big Languageの正体は?

Stevey's Blog Rants: The Next Big Language Steve Yeggeが期待する言語があるらしい。ただ、名指しをせず、特徴だけ記してある。(知っている人は知ってるかもと言っているから、まるっきりの新言語ではない) 特徴。 NBL does not replace C++ NBL is garba…

本題

これまでのような、コンソールライクなWebプログラミングだと、dispatchパターンが頻出します。こんなん。 (let ((req (cgi-get-parameter "value" (show (html:html ...))))) (case req ... で、 Implementation and Use of the PLT Scheme Web Server に、…

論文を読んで、自分の継続CGIを改造してみた。

「短冊」 年金が正しく記録されますように - 子ども さすがUSO放送! 俺達に(ry SISC(JVMで動くScheme)を使えば継続をmarshalingできるらしい、で、SISCに手を出そうかと思ったが、Rhino(JVMで動くJavascript)も気になる。CocoonもRhinoを使っているらしいが…

麻雀プログラムの基本 あがりの形を得る

Gaucheの例。append-map による深さ優先探索。 (use srfi-1) (define (delete-elt x l) (let ([index (list-index (lambda (p) (eq? p x)) l)]) (and index (call-with-values (lambda () (split-at l index)) (lambda (x xs) (append x (cdr xs))))))) (def…

麻雀 役判定の難しさ

あなたの判定プログラムは、大丈夫? このアガリ形には、いくつかの可能性がある。 三連刻 三暗刻 ツモ の 5飜 (111 222 333 123 11) 純全帯 二盃口 平和 ツモ の 8飜 (123 123 123 123 11) 七対子 ツモ の 3飜 (11 11 22 22 33 33 11) よって、正解は、…

不思議なダンジョン自動生成

(追記)javascriptで書き直しました -> id:Gemma:20070816 Gaucheで書いた、ダンジョン自動生成プログラム。http://racanhack.sourceforge.jp/rhdoc/index.html と同じアルゴリズム。 解説を書こうと思いつつも、すでに2週間放置しているので、先にコードだけ…

もし僕らのことばがS式であったなら

という題で、5分間のScheme紹介をしました。 前半は、メタ言語としてのSchemeの話を、後半はDrSchemeについてを中心に話しました。 DrSchemeには、S式でプレゼンが作れるSlideshowというプログラム言語が同梱されているので、使ってみました。 クロスプラッ…

スキスキ☆Scheme

Scheme。第一級の継続。マクロ。 しかし、カッコだらけ、静的型チェックなし、etc... ambで非決定性計算をやれば、「それ、リストモナドで」。 マクロは、自分が極めてないので、なんかすごいらしいとしか言えず。OCamlにはcamlp4やMetaOCamlもあるし。 遅延…

ラグランジュの四平方数再び

id:zyxwv:20070604 の言う通りです。 上限からだけじゃなく、下限からの探索打ち切りができる。これに一瞬で気づける人がICPC行くんだろう。 #include <stdio.h> #include <math.h> int cmp (int a, int b, int c, int d, int n) { int s = a * a + b * b + c * c + d * d; if</math.h></stdio.h>…

ラグランジュの四平方定理

演習問題の、ラグランジュの四平方定理(2003年 ICPC アジア地区予選 会津大会 問題B)http://osmag.jp/articles/root/root93.html (define (lag n) (define count 0) (define (cmp l) (let1 s (apply + (map (lambda (x) (* x x)) l)) (cond ((= s n) 0) ((> …

ZUI(Zoom User Interface)

COULD:コマンドラインは最強インターフェイス? http://www.yasuhisa.com/could/entries/001143.php COULD:ZUIの可能性 http://www.yasuhisa.com/could/entries/000644.php 経由 ZUI(Zoom User Interface)のデモ http://mrl.nyu.edu/~perlin/zoom/SiteTour.h…

入門OCaml 発売中

名大の生協書籍部にて撮影。 ポップがついて、ちょっとうれしい。 - http://www.rubyist.net/~matz/20070512.html#p04 を読んで、ぼそっと、 「OCamlのライブラリを精査したところ、2239関数のうち、中置演算子(+,@,^など)はウン割だった、ここからわかるこ…