2008-01-01から1年間の記事一覧
tweet.IMに登録します。 https://www.tweet.im/ tweet.IMは、"TwitterをGoogleトーク互換のインスタントメッセージに流してくれるサービス"です。(本当はTwitterのパスワードを他人に教えちゃダメですが、ここは彼らを信用しましょう) Googleトークのアカウ…
http://2chart.fc2web.com/itkakumei/ によくまとまっている。
名前空間接頭辞があるとXPathが使いづらいから消してやる。 Gaucheのsxml.tree-transライブラリを使ってSXML変換をかける。 #!/usr/bin/env gosh (use sxml.ssax) (use sxml.tools) (use sxml.serializer) (use sxml.tree-trans) (define (remove-namespace-…
FUSEでファイルシステムを作ろう
http://www.cut-the-knot.org/do_you_know/AllPerm.shtml の B. Heap's algorithm で、順列を生成してみる。 (use gauche.uvector) (define-syntax =2 (syntax-rules () ((=2) #f) ((=2 t) t) ((=2 t1 t2) (let ((x t1)(y t2)) (if (eq? x y) x #f))) ((=2 t…
みずぴー日記:E4Xまじやばいに対抗して、GaucheでSXPathを使ってみる。 SXML要素を作る (use sxml.ssax) (use sxml.sxpath) (define sxml (call-with-input-string "<product> <model stock=\"yes\"> <name>foo</name> <price>100</price> </model> <model stock=\"no\"> <name>bar</name> <price>200</price> </model> </product>" (cut ssax:xml->sxml <…
Erlangの根底にある、メッセージを送受しあうオブジェクトという考え方は、 SimulaやSmalltalk、そしてCarl Hewittのアクタモデルだ。アクタモデルをもとに、SteeleとSussmanがSchemeを作った。Scheme使いの私としては、Erlangは押さえておかねば。今更なが…
みずぴー日記のコメント欄で、"マーシャリングって軍事っぽいイメージがあるよね"という話で盛り上がったことがある。 http://d.hatena.ne.jp/mzp/comment?date=20081114#cGemmaよ、ひとんちの米欄でお前は何を(ry ってなもんや(三度笠) あれは正直すまんか…
シェルでの操作も Outputz に入れたいが良い方法はないかな。キーロガーまで行くとやりすぎ感がある。ヒストリを定期的に POST かな。cd, ls しすぎ問題を把握したい。http://d.hatena.ne.jp/higepon/20081125/1227598921 使い方 $ mkdir /tmp/fs $ ./output…
http://gauchefuse.googlecode.com/files/Gauche-fuse-1.0.tgzファイルシステムをGaucheで書きたい!│├ 1.カーネルモジュールプログラミングを勉強する││ [まちがい] │ ユーザ空間でのプログラミングと勝手が違うのが難点です。│ それよりも別の手段を探し…
この一週間ほどは、Gauche-Fuse拡張ライブラリを書いています。 Cの構造体をforeign pointer objectにして、構造体のアクセサも用意する。 このstubをCLOSのクラスでラッピングすれば(proxyクラスという)、もうお客様にもお出しできます。 Cの構造体とScheme…
小室哲哉の名言「今年はレイヴが来る」を振り返るの改変。 小室:もともとはだから、どういうのが? 一番その言語の好きな趣味も含めて、ハッカーとしての趣味も含めて。 SAM:あの、本当に個人的な趣味だったら、関数型言語。しかも静的型付け。 小室:関数型言…
番組内で、はてなが紹介されるそうです。 (公式)http://www.nhk.or.jp/digitalnative/ (詳細)http://www.nhk.or.jp/special/onair/081110.html ふとNHKスペシャル デジタルネイティブ(http://www.nhk.or.jp/digitalnative/)のHPをのぞいてみたらかなり映像…
Gauche-Fuse拡張ライブラリが欲しいので、Gauche-gtkのソースとか、SWIGの文書を読んだりしています。 SWIGのGaucheモジュールも作れたら面白げ。 - ./ ;ヽ l _,,,,,,,,_,;;;;i <いいぞ ベイべー! l l''|~___;;、_y__ lミ;l define-syntaxはマクロだ!! ゙…
参照 J0hn D0e の日誌:「パクリだ」と言われたデミアン・ハーストの作品をSchemeでパクってみる ふつくしい。火蜂のフグ刺し弾幕のようだ。 http://eva-lu-ator.net/~gemma/geocities/pendulum/fermat.html //キャンバス要素のコンテキスト var ctx = null; …
Hadoopで転置インデックスを作る。Hadoopのインストールについては以下を参照。 Hadoopのインストールとサンプルプログラムの実行 Running Hadoop On Ubuntu Linux (Single-Node Cluster) 転置インデックスとは、本の巻末にある索引のことだ。 例えば、るる…
1行のシェルスクリプトで単語リストを作る TAOUP:7.2 Pipes, Redirection, and Filtersを参考にした。 tr -c '[:alnum:]' '[\n*]' | grep -v '^[0-9]*$' | sort -iu 1番めのコマンドで、アルファベット数字以外を改行に変換する。 2番めのコマンドで、数字だ…
Schemerは目に優しい丸括弧のSXMLで片付けてしまいますが、テンプレートエンジンもあると便利かなと思って、半日仕事ででっちあげました。単純なXSLTです。 作りかけです。バグがあります。コードもひどいです。コメントお願いします。 仕様 挿入 <p> Hello, #{</p>…
http://ocaml-nagoya.g.hatena.ne.jp/
整列済みの number のリストがある。'(1 3 4 5 6 12 13 15)このようなリストで数が連続している部分は '(1 2 3) -> '(1 . 3) のように両端のみを書くような記法を導入する。最初の例のリストであれば以下のようになる。'(1 (3 . 6) (12 . 13) 15)このような…
今日のOCaml-nagoyaで発表した http://www.itpl.co.jp/ocaml-nagoya/index.php?Thriftそれはさておき OCamlには、うまいテンプレートエンジンがないらしい。 テンプレートごときに、型をつけるのは、型苦しい気がする。 テンプレートエンジンだけ、ThriftでR…
The Essence of Form Abstraction(PDF) http://blog.tupil.com/formlets-in-haskell/ こういうフォームで、日付入力ボックスを、部品として抽象化できたらいいよねという話。 入力が01〜12月の範囲かチェックとか、生のクエリデータを意識しないですむように…
Unix哲学には、標準入力と標準出力があって、つまりプロセスは、関数だ。関数型言語には、"関数をうけとる関数"がある。mapとか、foldとか。じゃあOSで、"プロセスをうけとるプロセス"ってなんだろう。 MapReduceか。MapReduceは未来では、OSの一機能になる…
プログラミングに詳しい人に質問です。大学でプログラミング経験の学部一年生向けにプログラミングを教えることを想定しています。週1コマ×半年程度の限られた時間で、プログラミングとはどういうものかという本質を教えたいのですが、どの言語を使うのが適…
はてなフォトライフにアニメーションGIFをアップできるようになりましたGIF89aの仕様書を読み、 ライブラリのコードに深く深くわけいって、 やっと解決できました。どうぞご利用ください。はてなハイクのGIFアニメでひとことが盛り上がっていると、はてなス…
私が提出したもの。これで評価は60点くらい。他の人はもっとすごいです。 はてなスターフレンドのRSSをAjaxで受け取ってツリー表示 はてなスターフレンドをグラフ表示 RidgeとMoCoで作った、TODOリスト ベクトル空間モデルによる類似検索エンジン Hadoopで転…
まずはじめに、京都は美人が多い。 はてなのジョエルテスト ソース管理システムを使っているか? Yes. gitを使っている 1オペレーションでビルドを行えるか? Yes. 毎日ビルドを行うか? Yes. 障害票データベースを持っているか? Yes. gitと連携する内製ツ…
前回の続き実際にやってみました。(Canvas要素を使っているのでFirefoxでどうぞ) http://eva-lu-ator.net/~gemma/geocities/jsmario/jsmario.html マリオのようにジャンプで放物線運動をするゲームを作るとき、 たいていは、座標と速度を使って物理計算する…
禅(Wikipedia)ってプログラミングにも応用できそう。プログラミングにおける公案って何だろう。 それを理解しようとするうちに、いつのまにか悟りに近づいているような。 後になってみれば、答よりもそれを求める過程にこそ意味があったと気づくような。 学…
Google App EngineのためにPythonを勉強中。自分はScheme使いなので、 Lisp プログラマのための Python 入門がとても役にたっている。 そういえば、学部3年で、「C言語の次に学ぶべきは、LispかPythonか」で迷ったときにも、この文書を読んだ覚えがある。 読…