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

タミフルを飲む

休日の間、インフルエンザ(A型)になり、今朝病院でタミフルを処方してもらった。確かに効き目あってつらい症状はだいぶ抑えられた。世間で言われている精神的影響はちょっと心配だったけど、そういう点では特に問題はなかった。ただ、食料を買出しにいったと…

Creative CommonsとGPLは非互換

Creative Commons Licenseは、いわゆる原著者表示義務であるAttributionが大前提。Attributionはどのオプションでも必ず入る。 一方GPLは、このようなCopy Left以外の義務をすべて否定するライセンス。non-commercialなんてもってのほか。似てる部分は、任意…

Scala Higher Kind Generics

Generics of a Higher Kind | Lambda the Ultimate 経由。 http://www.cs.kuleuven.be/~adriaan/files/genericshk/tcpoly.pdf ScalaでできてHaskellでできないことがあげられている: class Monad m where (>>=) :: m a -> (a -> m b) -> m b data (Ord a) =>…

curryとapplyとprototype.js

1引数 apply(f, a) = f(a) curry(f)(a) = f(a) curry(apply)(f)(a) = f(a) curry(apply)は function(f){return f} =idと同等 prototype.jsのcurryはこうなっていない。と言っても対応するapplyがない以上なるならないの問題以前か。ただf.curry()がfそのまま…

はてなワールドを試す

重い。通信というか移動でのキーイベントとフォームやIME入力との相性の悪さがでてるような。 FPS移動派なので正直すぐ固まってしまう。文字入力できないって感じ。チャットウィンドウは、下画面固定でもいいんじゃないかと思う。タブでフォーカスが映るのは…

d2.hatena.ne.jp

http://d2.hatena.ne.jp/bellbind/ 記事単位で編集可能に。やっとというか。 長文だと1文字修正してアップするのも時間がかかるのがなくなりそう。あとは、記事追加時にtumblrみたく入力テンプレートがタブで選べたりとか、フォトライフとか別の写真アップロ…

派閥ジェネレータで木を作る場合でのコードをRubyで書いてみる。

サーバのいらない派閥ジェネレータ - ラシウラ JS版は後ろからループでたどるやり方で、処理的にはそれで十分なのだが、こんどは頭からたどるやり方を示す。こんどはオリジナルのmzp氏の版のように木構造を一旦作ってしまう方式でやってみる。webric部分はな…

サーバのいらない派閥ジェネレータ

http://howdyworld.org/habastu/index.html 面白いけどHTML+JavaScriptだけでできるような。あとやってることに対してrubyコードも複雑すぎると思う。 <html> <head> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <script> //</meta></head></html>

はてなハイクであそんでみる

ちょっと使ってみた。 http://h.hatena.ne.jp/bellbind/ ほしいのは消しゴムというか線をピックして消すツール。 書いて保存されるサイズより、HTML表示で使われるサイズが若干縮小されている。ちょっと絵がゆがむのが残念。せっかく描いてもアップロードに…

Life is beautiful: Javascriptクイズ(中級者向け):無名関数と実行効率の話

http://satoshi.blogs.com/life/2007/12/javascript-1.html はてブコメントで軽く書いたけど、クイズだしこちらに移しとく。 オーバーヘッドは内側のfunctionがstyle2propを呼ぶたび毎回作られること。隠蔽はstyle2prop = function() { var capitalize = fun…

phpBB3日本語版の配布形態ってGPL的にアウトじゃないだろうか?

追記2007/12/23: 以下に書いた「お願い」条項はもう消えたようです。 昨日phpBB3.0.0がリリースされた。それはともかく、Googleで「phpBB3」を引くと以下のphpBB3日本語版をうたうサイトが目に付く。 http://bbmods.info/bbs/viewforum.php?f=8&sid=9620aab2…

dependent type

ちょっとわかりにくかった http://en.wikipedia.org/wiki/Dependent_type このというのは、 function make_size_n_vector(n) { return new Array(n); }のような関数の型を表すもの。単に「型Nの引数を受け取って、『要素型RのVec』を返す関数」じゃなく、「…

ECMAScript4のpackageとnamespace

http://d.hatena.ne.jp/bellbind/20071207/1197018213 のつづきは軽く obj wrap Type: = obj is like Type ? obj : throw new TypeError() みたいな感じの式(throwは文なので感じだけ) これはlikeにとってのcast相当 Gradual Typeだと、(型宣言がついてない)…

ニコニコ動画上でVOCALOID2初音ミクが広がるまでの記憶

たった2,3ヶ月前のことだけど、その現場にずっといたのにもう忘れかけてるので、自分の記憶の中にある「自分の目から見て」初音ミクがどのように広がってったかをメモっておく。ミク以前 MEIKOのアクエリオン、アンインストールが結構秀逸だった amazonで予…

Evolutionary Programming and Gradual Typing in ECMAScript 4 (Tutorial) を読む。

http://www.ecmascript.org/es4/spec/evolutionary-programming-tutorial.pdf Guradual Typingというのは簡単に言うと、コード中で部分的に静的な型情報を記述できて、その範囲で静的チェックができるようになっている型システム。 Gradual Typing for Funct…

再帰関数の表現

let a = v; restは(\a -> rest)(v)と等価だけど、再帰関数はどうなるか。まず、Y f -> bodyを用意する。Yは、引数にfを受け取り、fはbody中に出てきてもよくて、その場合bodyになる、ようなbodyをつくる式。こうすると、 letrec f(x) -> body; rest => (\f -…

完成: Pythonで型推論を実装してみる

たぶん解決 - ラシウラのつづき。 Lambdaでの無限循環型の排除と、変数型の同値性の導入できちんと実装した。 型推論をPythonで実装してみる - ラシウラ出張所 - coders 同値性のコードが予想以上に大きかった。同値管理の実装は馬鹿っぽいけど、うまくやる…

de Bruijn index

http://en.wikipedia.org/wiki/De_Bruijn_index 簡約時のα変換不要にするラムダ式の変数表現法 λx.λy.x → λ λ 2 λu.λv.((λx.λy.x) u v) → λλ((λλ2) 2 1) => λλ((λ3) 1) => λλ2 その式の内側から数えたλのインデックスで変数名を表現する。β変換では 適用する…

たぶん解決

http://d.hatena.ne.jp/bellbind/20071127/1196146911 のつづき中を調べるには単純な例に限る。 # \x->x x print "expr1_3" expr1_3 = Lambda(["x"], Apply(Ref("x"), [Ref("x")])) print_type(expr1_3) これを実行すると、 expr1_3 ([([([([...]) -> <variable type>]) -> <variable type></variable></variable>…

型推論つづきのつづき

高階関数の型推論の問題 http://d.hatena.ne.jp/bellbind/20071122/1195681317 とりあえずできたが、今度は推論で完全じゃない部分を入れてないためにおきる問題にぶつかる。Haskellだと普通はidid x = x xは型が(((...->t)->t)-t)となる型エラーで定義でき…

エンジニアとネタバレの関係

パンプキンヘッドいわく ネタバレで楽しめなくなるのが普通の人 ネタバレで満足するのが経営者 ネタバレを見た上で楽しむのがエンジニア

型推論つづき

http://d.hatena.ne.jp/bellbind/20071121/1195644746 「不正確」の解決をしてみる。一応Wikipediaにアルゴリズムがあるので、対応付けしてどこがまずいかチェックしてみる http://en.wikipedia.org/wiki/Type_inference 型推論のアルゴリズムは「Hindley–Mi…

Pythonで型推論のアルゴリズムを書いてみるが

記憶だけをたどって、型推論のアルゴリズムがかけるかどうかやってみる。let recやパラメトリック型は抜きで、まず書いてみようとしたが途中で断念。 (つづき→ http://d.hatena.ne.jp/bellbind/20071122)以下の型推論のコードはたぶん不正確です。 構文木 # …

アプリのアップグレードとか

http://d.hatena.ne.jp/bellbind/20070629/1183078324 Vistaにいれてるアプリをしばらくアップデートさせてなかったので、ひさびさにチェックしてみたらほぼすべてアップデートがあった。とりあえずダウンロードだけしておいた。その総数26個。

連環画

中学生くらいのとき図書室に三国志の連環画の翻訳本(たぶん陳瞬臣訳だったような)があって、ふと思い出して検索で探してみた。どうも連環画というようだ。 連環画 - Wikipedia いずれも20世紀頭の作品で、製作技術は文化大革命で滅んだようですごく残念。↓に…

オプーナ多すぎだろ

http://www.gpara.com/special/event/ranking/character07/index.php つかオプーナさん人気か

年金過誤納額還付きた

半年分。二重にでも払わされたのかな。理由が書いてないんだけれど。手続きで社会保険事務所に行くことになるようだから聞いてみるか。

tex記法でcasesが使えるようになってた

http://d.hatena.ne.jp/hatenadiary/20071109/1194590107 おお。半ばあきらめてたからおどろき。 500投入したアイデアポイントも1500に増えた。

不動点意味論のわかりにくいところ

http://d.hatena.ne.jp/bellbind/20071030/1193720960 なんとなくわかってきたのでメモ 結局は、半順序、上限がイメージしにくい 半順序は直感的にa より b のほうが情報が多いというだけのもの 半順序かどうかではなく、そうなるように定義されているものと…

ptex-binが入れられなかった

mathtex試すためにtexディストリを入れてみたけど、単にパッケージインストールだけのはずなのに大変だった。texliveパッケージをいれ、パッケージにtexlive-doc-jaってのがあるので、それをいれ、そこにあるドキュメントをソースからビルドをしようとしたら…