2009-01-01から1年間の記事一覧
Firefox で新しいフレームを開くと、そのフレームでは Firemacs 3.6 が動かないというレポートを 3 つ頂きました。忙しかったのと、Firefox 3.5 では再現しないのとで、ほおっておいたのですが、昨日時間ができたので調べてみました。Firefox 2 と 3 では内…
デーモン版の Receiver Policy Framework (RPF)をリリースしました。RPF の背景は、この辺りを読んで下さい。 Receiver Policy Framework RPF v0.3 のリリース RPF は、ENMA のポリシー記述言語として採用されることを目指していましたが、採用されませんで…
いくつかの拡張機能が Firefox 3.5 へ対応するのがあまりに遅いので、禁断の技に手をだしてしまいました。。。Firefox 3.5 で、3.5 未対応のアドオンを利用するには以下のようにします。 URL バーに about:config と入力 コンテキストメニューで「新規作成」…
Firemacs 3.6が承認されました。:)
Haskellでメール関連のサーバーを書いていて、いろいろ調べました。かなりがっかりな結果ですが、包み隠さず書きます。 forkIO forkIO でユーザースレッドを作ると、内部では select() を使います。select() はファイル記述子を 1024 までしか扱えないという…
私にとっての文章の土台を便宜的に分類するとしたら、3つに分けられるだろう。一番目は、大学の研究室での訓練。私が所属していた九大の牛島研では「推敲」というソフトを作っており、先輩たちの発表は、どういう文章が曖昧で、それをいかに見つけ出すかとい…
GHC 6.10.3 になって、ghci で C-p と入力してもコマンド履歴をたどれなくなった。一ヶ月間苦しんだけど、問題が解決できたので書いておく。GHC 6.10.3 は libedit の利用を止めて Haskeline に切り替えた。Haskeline は、標準では C-p をコマンド履歴をたど…
ご存知の方がいらっしゃったら、教えて下さい。>>= と -> の結合順位についてです。(-> の方は結合順位じゃない気もします。)演算子 >>= は、左結合のはずです。 m >>= f >>= g == (m >>= f) >>= g ここで、無名関数と >>= を組み合わせた式を考えてみます。…
ミトコンドリアDNA以外にも、片方の親からだけ受け継ぐDNAがある。そう、Y染色体だ。前者は母の系譜を、後者は父の系譜をたどる道具となる。本書は、「イヴの七人の娘たち」の続編であり、同じ研究者によって書かれた。しかし、前作のような痛快さを求めて読…
想像してみて欲しい。小さい頃に百科事典で「世界中のすべてのゴールデンハムスターは、たった一匹のメスの子孫である」という話を読んだとする。大人になって、この信じがたい話を証明できたとしたら、一体どんな気分だろう?本書は、ミトコンドリアDNAが解…
「Firefox 3.5 に対応した Firemacs がないのか」と何人もの人に聞かれましたが、もう3.6を提出して承認待ちの状態ですよ。承認を待っているアドオンが多すぎて、承認にはしばらくかかるようです。Firefox とバージョンが合わなかったのが、心残り。。。
手元では更新していましたが、長らくリリースしていませんでした。この際、思い切ってバージョンを 1.0 とし、Goby をリリースしました。
重い腰を上げて、ホームページを整理しました。古いページは思い切って削除し、ホームからたどれないページをなくしました。正確な文章の書き方は、人気コンテンツのようなので、読みやすいスタイルに変更しました。
Ruby ではブロックが自慢らしい。制御構造を自由に作れる感じがするのだと言う。 obj.foo do |x,y| x を使う y を使う end これは、高階関数の最後の引数として無名関数を渡していることに他ならない。他の言語でどうなるか考えてみる。JavaScript ではこう…
以下、Mailman を /usr/local/mailman にインストールしているという前提での話です。 ソースコードをいじったら .py を .pyc に直すには、以下のようにします。 % sudo python -c 'from compileall import *; compile_dir("/usr/local/mailman/Mailman")' M…
ある人は、Haskell には副作用がないと言う。また、別のある人は Haskell には副作用があると言う。Haskell を学ぶ者にとって、こういった意見の食い違いが、Haskell を得体の知れない言語にし、学習の障壁となっているかもしれない。そこで、この記事では、…
先週、Perl の正規表現と Posix の正規表現の違いについて説明する機会があった。端的に言えば、非決定性有限オートマトン(NFA)と決定性有限オートマトン(DFA)の違いだ。この違いを理解するには、「詳説 正規表現」の「エンジン始動」の章を読むとよい。正規…
先週、輪講で「Real World Haskell」の6章を読みました。独自に定義した JSON の型 JValue を Int などへ変換する例題が載っています。このとき、独自に定義した JSON というクラスを使います。僕は、いや、輪講に参加した全員は、この例題が何を言いたいの…
僕は今、プログラマーとしての幸福感に満たされている。遅延評価を習得できたと思えるからだ。 遅延評価 なぜ関数プログラミングは重要かには、遅延評価の利点を以下のように説明している。 停止条件はループの本体とは切離すことができ、強力なモジュール化…
日本データ通信協会がISPの送信ドメイン認証実装状況を公開しました。
必要に迫られて、Haskell でグローバル変数が欲しい理由のコメントで Otter_O さんに教えて頂いた「Global Variables in Haskel」を読んでみました。要点は、Otter_O さんが「Haskellとglobalに書かれています。暗黙の引数は素晴らしいですね!これで unsafe…
Gmail の転送と SPFで書いた内容に図を加えて、迷惑メールに関するIAjapanのポータルサイトに載せてもらいました。 SPFと転送の相性問題に対する解決策の紹介(日本語) Introducing a method to solve the "SPF vs Forwarding" problem(英語)
Real World Haskell 読書会 2009年05月に行ってきました。土日はスポーツしていることが多く、最近では子育てに時間を取られ、この手の勉強会に出たことはないのですが、友達に誘われたので思い切って参加してみました。予想していたよりも面白くて、来月も…
来る5月19日、いつものコクヨホールで、第7回 迷惑メール対策カンファレンスが開催されます。今回の焦点は 昨年改正された特定電子メール法と特定商取引法の執行状況 受信側へのドメイン認証技術の導入 です。長いゴールデンウイークのために申し込みを忘れ…
分かった! 分かった! 分かった! 自己言及 ものまね鳥(M)は、自己言及する鳥なんだ!Haskell では、型推論がジャマして、ものまね鳥を実現できない。 -- Mx = xx m x = x x -- エラーになる ヒバリ(L)も実現できない! -- Lxy = x(yy) l x y = x (y y) -- …
言語表現法講義 (岩波テキストブックス)作者: 加藤典洋出版社/メーカー: 岩波書店発売日: 1996/10/08メディア: 単行本購入: 9人 クリック: 96回この商品を含むブログ (50件) を見る文章の書き方をテーマとした名著に出会うと、心の中に爽やかな風が吹き抜け…
The Haskell School of Expression をようやく読み終えました。The Haskell School of Expression: Learning Functional Programming through Multimedia作者: Professor Paul Hudak出版社/メーカー: Cambridge University Press発売日: 2000/06メディア: ペ…
何人かの人と議論して、Receiver Policy Framework の仕様を変えました。というわけで、 RPF v0.3 をリリースします。v0.3 では、Milter ありきの設計になっています。こんなことが書けるようになりました。 $ip_white_list = 10.0.0.1; $ip_forwarding_list…
同僚が Perl でのファイル処理で悩んでいました。あるデータの情報が、2 つのファイルに分かれて、順番を守って行ごとに格納されています。やりたいのは、2 つのファイルを同時に開き、どちらも最初の行から最後の行まで読みながら、データをつきあわせるこ…
昨日、知人から言われて気がついたのですが、Gmail で転送の設定をしていると、転送の際に SMTP MAIL FROM を gmail.com に書き換えていますね。SPFと転送の相性問題に対する解決案の案1と案2のいいとこ取りみたいな感じかな。Gmail では転送した結果のエラ…