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

Garbage Collection Without Paging

Garbage Collection Without Paging(リンク先はLambda the Ultimateの紹介ページ)。2005年のPLDIの。斜め読みなのであんまよくわかってないけど、仮想メモリマネージャをいじるかフックをかけるかして、ページアウトする領域からの参照情報を別の領域に記録…

Emacsでのフォント設定

emacs-unicode-2ブランチでxft enableにした場合の設定は前に書いたが、.emacsでのフォントの設定がどうもうまくいかない。結局、起動時のオプションに--font "Fontname-10"とかすることでなんとかフォント自体は変更できたんだけど、フォントのサイズが12ポ…

近況

ほとんど毎日定時で上がってるのに仕事がしんどいとか言うと笑われそうだけど、しんどい。体力的な疲れが半分ぐらい、精神的な疲れも半分ぐらい。 やっぱ、夏休み欲しいな…。

Moviestar

インストールしてみたけど、マウスクリックの反応がなくなってしまったのでアンインストールした。

SEAL

Set Expander for Any LangaugeでSEALらしい。オレンジニュースより。日本語にも対応したBayesian Setsだそうだ。「風の歌を聴け」「ダンスダンスダンス」で検索したら、「ノルウェイの森」「僕」「羊をめぐる冒険」「村上春樹」といった結果が返ってきた。…

正格性解析ってなんだ

正格性解析とはいったいなんだろうか。そもそも正格性とはなにか。ふと気になったんだけど、ちょっと探してみた限りでは日本語では定義がみつからない。きっと教科書に載ってるような基本事項で、知ってて当たり前のことなんだろう。関数型言語の教科書とか…

SML#をインストールする

リストの区切り文字は;より,の方がいいですよ、と同僚のOCamlerの人に主張したら「そんな本質的じゃないところはどうでもいいよ」と切り捨てられた。本質じゃないかもしれないけど、でもやっぱり,の方が好きだ。ということでSML#を試してみようと思った。 Wi…

いつ関数/メソッドは実行されるのか

Monadic Rubyという失敗ネタをきっかけにして、どう書いたときに関数/メソッドが実行されるのか、ちょっと気になったので、知ってる言語について挙げてみた。 C言語では関数はfunc(args)と書いた場合に実行される。単にfuncと書くと関数ポインタの値が取れる…

HTMLでUIを定義するという事

validなHTMLがー、とかそういうのとほと遠い感じのWebアプリをやっつけで作っていると、 めんどくさい うしろめたい の2つの感情が交互に湧いてきて精神衛生上あまりよくない。

GreasemonkeyでonClickハンドラが動かない

社内用の雑用をちょっと楽にするためにGreasemonkeyのスクリプトを書いた。ボタンを作ってonClickでハンドラを設定しても動かない。結局、 4.21. Intercepting user clicksを見て解決できたけど、これを見つけるまでずいぶんと時間がかかってしまった。 無駄…

名前空間ってなんだ

昔々、プログラミングというものをかじり始めたころ、名前空間という概念にすごく悩んだ覚えがある。今から考えてみると、あの悩みは言語化すると以下のようなものとして書けたと思う。つまり、例えばベクトル空間とは集合の要素に対して和とスカラー倍が定…

Monadic Ruby (2)

結局のところ、どこでもメソッド名を書けばメソッドが実行されてしまうことが問題な訳だ。Schemeであればリストのcar部にこない限り関数は実行されないし、Haskellだと関数はカリー化されているので、引数が揃うまでは関数本体は実行されない。という事で、…

Monadic Ruby

Rubyでモナドっぽい物が実装できないかと思ってちょっと実験してみたのだが、やっぱり難しかった。型推論がないのをあきらめて、演算子を再定義したらbindっぽいのはいけるんじゃないかって事で、>=の定義を上書してみた。Maybeクラスを定義して、そこにbind…

prototype.js vs Yahoo! User Interface Library

YUIとprototype.jsを使ってみた。YUIのイベントリスナ設定関数はYAHOO.util.Event.addListenerで、これで設定された関数が呼ばれるときには、thisとしてイベントが発生したオブジェクトが設定される。これは便利!YUIスゴい!と感動したんだけど、prototype.…

MozillaのJavaScriptエンジンにMonoを使う?

Miguel de Icazaのブログに、Tamarinの代わりにMonoを使うってのはどうよ?みたいな事が書いてある。発端はChris OliverがRhinoのがTamarinより速いよと書いたことらしい。竹内関数の実行がTamarinだと58秒、Rhinoで31秒だそうだ。そこにMiguelが乱入してMon…

JavaScriptのObjectはcall by referenceではないと主張したい

Mozilla Developer CenterのCore JavaScript 1.5 Reference:Functionsには「Non-object parameters (中略) are passed to functions by value;Object parameters (中略) are passed to functions by reference;」って書いてあるんだけど、これ、じっくりと読…

iff

iffってこれまでtypoかと思ってたんだけど、必要十分条件を表すif and only ifの省略表現だったのね…。絶望した!こんな事も知らなかった自分に絶望した!

Engineering the LOUDS Succinct Tree Representation

Engineering the LOUDS Succinct Tree Representation(O. Delpratt et al., 2006)を読んだ。モチベーションとしてはTxの実装ってどういう風になってるのかが知りたかったというのがある。 LOUDSというのは順序木を効率的に実装するためのアルゴリズムで、こ…

Using Mercurial locally with CVS

Using Mercurial locally with CVS。CVSのリポジトリからデータを取ってきて、ローカルではMercurialを使って管理する方法。会社とかでは役に立つケースがあったりするかもしれない。

SVG Photo Demo

SVGで画像を表示して、それをインタラクティブに動かすデモ。via SVG Photos demo。コード見てないけど、たぶんJavaScriptでハンドラを書いてあるんだろう。そういえば、同期で修論用の研究で、デザイン用の制約条件をオリジナルの言語で書いて、それをSVG+J…

MacBook熱すぎ

熱すぎて、膝の上では決して使えないMacBook。机の上に置いて使ってるだけで、机の下がじんわりと温かくなる事を今日発見した。どんだけ発熱してるんだ…。

Unsupervised segmentation of Chinese text by use of branching entropy

Unsupervised segmentation of Chinese text by use of branching entropy(Z. Jin and K. Tanaka-Ishii, 2006)を読んだ。前から知ってたんだけど、実験結果は知らなかったので。基本的なアイデアとしては、単語内ではPerplexityは低いが単語境界ではPerpexit…

JavaScriptの感想

ここ数日仕事でJavaScriptを使っている。 varをつけないとグローバルになるのがイヤ。これ、いつか忘れて失敗しそうで恐い。 returnが省略できないのは意外とめんどい。 ブラウザ間での非互換で頭が痛い。ライブラリ使っても吸収しきれない部分もやっぱりあ…

フィボナッチ数列をTrampolined Styleで

フィボナッチ数列を実装しようとしたら頭が混乱してきた。やっぱり、自分で手を動かしてみないと、きちんと理解できたかどうかは確認できないな。

MacBook音質悪い?

どうも、MacBookのヘッドホン端子に直接ヘッドホン端子をつないでると、プチプチノイズが乗るような気がする。USB-Audioを使えば問題ないんだけど、サスペンドから復帰すると音が出なくなるんだよなぁ…。こういうバグは原因がどこにあるのか見当がつかないの…

Texts Rasterization Exposures

Texts Rasterization Exposuresには、フォントラスタライゼーションに関して、今までの常識とはちょっと違うことが書いてある。要約してみると以下のような感じ? 水平方向のGrid Fittingはやめよう。カーニングがずれて汚くなるし、WYSIWYGなレイアウト調整…

So long, and thanks for all the fish

久々にOSNewsを読んだらWhy I Quit: Kernel Developer Con Kolivasなんて記事が出てた。ck patchの人はKernel開発やめたのか…。Con-Kolivasのページに行ってみるとなぜか日本語で「さようなら、いままで魚をありがとう」とか書いてあって面食らったんだけど…

JavaScriptでTrampolined Style

Trampolined Style (Steven E. Ganz et al. International Conference on Functional Programming, 1999)をざっと読んだ。ICFP…。 Trampolined Style(カタカナだとトランポリンスタイルでいいのかな?ああ、なんだか形態素解析が難しそう…)というのは、関…

二分探索は意外と重い

要素数が少ない配列に対して二分探索を行ってもパフォーマンスは向上しないどころか、微妙に低下することがある。問題設定によっても変わってくるかもしれないが、一般に二分探索では一回のループに3,4回は比較が必要であるのに対し、線形探索なら比較は1回…

EXA Performance Issues

Carl WorthのBlogでのEXAのi965用ドライバのパフォーマンス問題に関する一連の記事が面白かった。 EXA使うよりアクセラレート機能を使わない方が速い、おかしい!というところから、DRI有効にすると速くなるよ、でもそれでもまだいくつかのテストはEXA enabl…