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

TwitterをGoogleトークやPidginやAdiumやiChatやGMailにつなぐ方法(2ステップでおk)

tweet.IMに登録します。 https://www.tweet.im/ tweet.IMは、"TwitterをGoogleトーク互換のインスタントメッセージに流してくれるサービス"です。(本当はTwitterのパスワードを他人に教えちゃダメですが、ここは彼らを信用しましょう) Googleトークのアカウ…

顧客が本当に必要だったもの(ロボット編)

http://2chart.fc2web.com/itkakumei/ によくまとまっている。

XMLの名前空間接頭辞をとっぱらうGaucheスクリプト

名前空間接頭辞があると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-…

OCaml-NagoyaでFUSEの紹介をした

FUSEでファイルシステムを作ろう

Gaucheで魔方陣に挑戦(順列を実装)

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…

SXPathまじやばい

みずぴー日記: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 プロセス Scheme アクタ

Erlangの根底にある、メッセージを送受しあうオブジェクトという考え方は、 SimulaやSmalltalk、そしてCarl Hewittのアクタモデルだ。アクタモデルをもとに、SteeleとSussmanがSchemeを作った。Scheme使いの私としては、Erlangは押さえておかねば。今更なが…

thunk you

みずぴー日記のコメント欄で、"マーシャリングって軍事っぽいイメージがあるよね"という話で盛り上がったことがある。 http://d.hatena.ne.jp/mzp/comment?date=20081114#cGemmaよ、ひとんちの米欄でお前は何を(ry ってなもんや(三度笠) あれは正直すまんか…

Gauche-FUSEでOutputzファイルシステム

シェルでの操作も Outputz に入れたいが良い方法はないかな。キーロガーまで行くとやりすぎ感がある。ヒストリを定期的に POST かな。cd, ls しすぎ問題を把握したい。http://d.hatena.ne.jp/higepon/20081125/1227598921 使い方 $ mkdir /tmp/fs $ ./output…

Gauche-FUSE 拡張ライブラリ v1.0 をリリースしました。

http://gauchefuse.googlecode.com/files/Gauche-fuse-1.0.tgzファイルシステムをGaucheで書きたい!│├ 1.カーネルモジュールプログラミングを勉強する││ [まちがい] │ ユーザ空間でのプログラミングと勝手が違うのが難点です。│ それよりも別の手段を探し…

0〜1000に含まれる0をカウントする(Gauche)

この一週間ほどは、Gauche-Fuse拡張ライブラリを書いています。 Cの構造体をforeign pointer objectにして、構造体のアクセサも用意する。 このstubをCLOSのクラスでラッピングすれば(proxyクラスという)、もうお客様にもお出しできます。 Cの構造体とScheme…

名言「今年はRubyが来る」を振り返る

小室哲哉の名言「今年はレイヴが来る」を振り返るの改変。 小室:もともとはだから、どういうのが? 一番その言語の好きな趣味も含めて、ハッカーとしての趣味も含めて。 SAM:あの、本当に個人的な趣味だったら、関数型言語。しかも静的型付け。 小室:関数型言…

明日10日午後10時〜はNHKスペシャル「デジタルネイティブ」

番組内で、はてなが紹介されるそうです。 (公式)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はマクロだ!! ゙…

「パクリだ」と言われたデミアン・ハーストの作品をJavaScriptでパクってみる

参照 J0hn D0e の日誌:「パクリだ」と言われたデミアン・ハーストの作品をSchemeでパクってみる ふつくしい。火蜂のフグ刺し弾幕のようだ。 http://eva-lu-ator.net/~gemma/geocities/pendulum/fermat.html //キャンバス要素のコンテキスト var ctx = null; …

検索インデックスを作ろう 後編 (Hadoopで転置インデックス)

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番めのコマンドで、数字だ…

Gaucheでテンプレートエンジン(作りかけ)

Schemerは目に優しい丸括弧のSXMLで片付けてしまいますが、テンプレートエンジンもあると便利かなと思って、半日仕事ででっちあげました。単純なXSLTです。 作りかけです。バグがあります。コードもひどいです。コメントお願いします。 仕様 挿入 <p> Hello, #{</p>…

ocaml-nagoyaはてなグループ作ったよ

http://ocaml-nagoya.g.hatena.ne.jp/

Scheme どう書く?的「どうしたデルタ1? 応答しろ!」

整列済みの number のリストがある。'(1 3 4 5 6 12 13 15)このようなリストで数が連続している部分は '(1 2 3) -> '(1 . 3) のように両端のみを書くような記法を導入する。最初の例のリストであれば以下のようになる。'(1 (3 . 6) (12 . 13) 15)このような…

ThriftをOCamlで

今日のOCaml-nagoyaで発表した http://www.itpl.co.jp/ocaml-nagoya/index.php?Thriftそれはさておき OCamlには、うまいテンプレートエンジンがないらしい。 テンプレートごときに、型をつけるのは、型苦しい気がする。 テンプレートエンジンだけ、ThriftでR…

formlets HTMLのフォームを抽象化する試み

The Essence of Form Abstraction(PDF) http://blog.tupil.com/formlets-in-haskell/ こういうフォームで、日付入力ボックスを、部品として抽象化できたらいいよねという話。 入力が01〜12月の範囲かチェックとか、生のクエリデータを意識しないですむように…

MapReduceって高階プロセスじゃね?

Unix哲学には、標準入力と標準出力があって、つまりプロセスは、関数だ。関数型言語には、"関数をうけとる関数"がある。mapとか、foldとか。じゃあOSで、"プロセスをうけとるプロセス"ってなんだろう。 MapReduceか。MapReduceは未来では、OSの一機能になる…

プログラミングに詳しい人に質問です。に釣られてみる

プログラミングに詳しい人に質問です。大学でプログラミング経験の学部一年生向けにプログラミングを教えることを想定しています。週1コマ×半年程度の限られた時間で、プログラミングとはどういうものかという本質を教えたいのですが、どの言語を使うのが適…

はてなフォトライフにアニメーションGIFをアップできるようにしました

はてなフォトライフにアニメーションGIFをアップできるようになりましたGIF89aの仕様書を読み、 ライブラリのコードに深く深くわけいって、 やっと解決できました。どうぞご利用ください。はてなハイクのGIFアニメでひとことが盛り上がっていると、はてなス…

はてなインターンの2週間で作ったもの

私が提出したもの。これで評価は60点くらい。他の人はもっとすごいです。 はてなスターフレンドのRSSをAjaxで受け取ってツリー表示 はてなスターフレンドをグラフ表示 RidgeとMoCoで作った、TODOリスト ベクトル空間モデルによる類似検索エンジン Hadoopで転…

はてなインターン1週間のまとめ

まずはじめに、京都は美人が多い。 はてなのジョエルテスト ソース管理システムを使っているか? Yes. gitを使っている 1オペレーションでビルドを行えるか? Yes. 毎日ビルドを行うか? Yes. 障害票データベースを持っているか? Yes. gitと連携する内製ツ…

マリオのジャンプ実装法とVerlet積分(実践編)

前回の続き実際にやってみました。(Canvas要素を使っているのでFirefoxでどうぞ) http://eva-lu-ator.net/~gemma/geocities/jsmario/jsmario.html マリオのようにジャンプで放物線運動をするゲームを作るとき、 たいていは、座標と速度を使って物理計算する…

プログラミングと禅

禅(Wikipedia)ってプログラミングにも応用できそう。プログラミングにおける公案って何だろう。 それを理解しようとするうちに、いつのまにか悟りに近づいているような。 後になってみれば、答よりもそれを求める過程にこそ意味があったと気づくような。 学…

Python勉強中

Google App EngineのためにPythonを勉強中。自分はScheme使いなので、 Lisp プログラマのための Python 入門がとても役にたっている。 そういえば、学部3年で、「C言語の次に学ぶべきは、LispかPythonか」で迷ったときにも、この文書を読んだ覚えがある。 読…