ブックマーク / d.hatena.ne.jp/yoriyuki (7)

  • 2007-01-17 - 数学猫の生活と意見

    ■[その他]GMailのバックアップ fetchmailを使ってローカルに落としてくるようにした。.fetchmailrcは poll pop.gmail.com protocol pop3 port 995 user [user name]@gmail.com keep ssl ■[その他]メールアカウントのパスワードをローカルディスクに保存することの是非 上の記事ではパスワードは毎回手で入力するように設定している。もし、メールアカウントに関する資産でももっとも重要なものがメール自体であれば、メールをローカルに暗号化せず保存している限り、パスワードをローカルディスクに平文で保存してもよい。というのは、セキュリティ上のリスクは、守りたい資産を破壊するコストがもっとも安い経路によって決定されので、パスワードを平文で保存しても、平文で保存されているメールを読むのにかかるコストとパスワードを

    harupiyo
    harupiyo 2007/01/18
  • メールアカウントのパスワードをローカルディスクに保存することの是非 - 数学猫の生活と意見

    harupiyo
    harupiyo 2007/01/18
  • yoriyukiの異常な愛情、または私は如何にしてOCamlerを止めてデファクトスタンダードを愛するようになったか - 数学猫の生活と意見

    言語の進歩が止まっている - 例えばモジュールがOCamlの特徴の一つなので、もっと強化すればいいのにと思うのだが。ユーザーが少ない - 例えば自然言語処理の専門家はC++Javaを使っている。専門家の作ったツールが使えない。 標準ライブラリが貧弱かついい加減 - Arrayの長さを変えることができないし、コンテナー型は二重連結リストなどもっとあってよい。Hashtbl.addとSet.addで引数の順が違う。Set.equalはあるのにMap.equalはない、などなど。 複数ファイルに分かれたプログラムの扱いがインタープリタとコンパイラで違っている - インタープリタでは#loadまたは#useディレクティブを使って他のファイルをロードするが、これはコンパイラではエラーになる。実質的にインタープリタかコンパイルのみの言語として使うことを強制される。高階関数はもはや大抵の言語で使えるよ

    harupiyo
    harupiyo 2007/01/08
  • Lispが何故使われないか - 数学猫の生活と意見

    原因のほとんどは経路依存性*1とかネットワーク効果*2によるもので、Lisp自体の性質とは無関係だと思います。と言った上で、私が何となくLisp系言語を使わない理由としては、Too dynamic: 実行時にコードが差し替えられることがすごい利点だ、と言っている人がいましたが、逆に言えば今どのコードが走っているか理解しにくい、という欠点にも繋がる。Meta programming:S式のおかげでMeta Programmingがしやすいが、Meta Programmingを多用したプログラムは理解しにくい。動的型付け:利点でもあるけど、特有のバグを引き起こす。識別子に関数と値の2種類が別々にバインドできる。これは私には非常に美しくなく感じます。主観ですが。一方でSchemeは言語仕様が弱い。(特にModule機能が標準でない)Proprietaryな実装が中心。CMU LispはStand

    harupiyo
    harupiyo 2007/01/04
  • HatenaTailを公開します - 数学猫の生活と意見

    ■[HatenaTail]HatenaTailを公開します DNSの設定を間違えていたのでアクセスできませんでした。私のプロバイダからは見えるようになったので、公開します。URLのポート番号は今のところ必要みたいです。ポート番号なしでのアクセスをお願いします。 HatenaTailははてなブックマークにブックマークされたウェブページの間に関連を発見するツールです。意外なページに関係があることを発見して楽しんでいただければ幸いです。はてなユーザーの方でブックマークを公開されている方は、はてなidを使ってログインすることでおすすめページなどの機能も使うことができます。 関連の発見にはBayesian Setsを使っています。サイトの構築にはRuby on Railsを用いました。最新の情報は管理者の はてなダイアリー に掲載しています。また、ソースをdarcsリポジトリとして配布する予定です

    harupiyo
    harupiyo 2006/12/07
  • Hatena Relate - 数学猫の生活と意見

    Bayseian Setが面白そうだったので、これを使ってはてなブックマークの最新人気エントリをグループ分けするプログラムを書いてみました。ブックマークしたユーザーを属性と見て分類します。起動するとはてなブックマークから最新エントリを取得して、HTMLを標準出力に書き出します。Rubyプログラムです。 class AttrVector attr_reader :name def initialize(name) @name = name @attrs = Hash.new(false) end def add(attr) @attrs[attr]=true end def remove(attr) @attrs.delete(attr) end def each @attrs.each_key{|key| yield(key)} end end # require 'test/unit'

    harupiyo
    harupiyo 2006/10/20
  • BrainScan - BrainF*ckプログラムを超高信頼化する - 数学猫の生活と意見

    BrainScanというものを作ってみました。BrainFuck*1のソースコードモデル検査器です。プログラムがとり得る全状態を探索し、異常が起きないか検査します。検査できるのは、ポインタがアンダーフローしないことバッファの値が0-255を越えないかどうか(-Rまたは--rangeオプションを付けたときのみ)コード中で!でマークされた位置に到達しないかどうか(したらエラーとみなす)です。エラーを検出すると、そこまでのトレースを出力します。アルゴリズムは単純で、深さ優先探索をするだけです。バッファの状態は区間の集合として保持されています。OCamlで書かれて、コンパイルするにはfindlibとextlibが必要です。例を見てみましょう。 $ ./brainscan '[]!' ! reached. 0: [ 2: ! BrainF*ckプログラムはコマンドライン引数として与えます。この例だと

    harupiyo
    harupiyo 2006/10/20
  • 1