« 2006年06月 | メイン | 2006年08月 »

2006年07月13日

Collatz 予想

 キミならどう書く 2.0 - ROUND 2 - について。

 いきなり brainf*ck で書く元気はないので、とりあえず C に起こしてみました。bf 化をにらみつつコード短縮をかねてループや判定条件を 0 基準に変更していったら、こんな感じになりました。

続きを読む "Collatz 予想"

投稿者 kazuho : 2006年07月13日 11:15 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2006年07月11日

Movable Type をコマンドラインから操作する (トラックバックスパム一括削除)

 数万件のトラックバックスパムが蓄積された結果、サイボウズ・ラボの Movable Type (3.2-ja-2) が機能不全を起こしていました。管理画面から削除しようにも Internal Server Error が発生したりして、遅々として進みません。

 そこで、コマンドラインからトラックバックスパムを一括削除するようなコードを書いて実行しました。
 
 せっかく作ったということで、備忘録をかねてコードを公開したいと思います。コマンドラインから Movable Type を制御したいような場合の参考になるかもしれません (って、汎用的なコードになっているかは、かなり不安ですが...)。

続きを読む "Movable Type をコマンドラインから操作する (トラックバックスパム一括削除)"

投稿者 kazuho : 2006年07月11日 12:11 | コメント (3) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2006年07月05日

Re: BF2JS opimizing compiler

BFにはまっておられる奥さんに。
(brainfu.k - BF2JS opimizing compiler - 404 Blog Not Found)

 弾さん、ありがとうございます。 String.prototype.replace でコンパイラを実装しているのが美しいと思います。

 自分でも触りたくなったので、単純な Dead code elimination と、いくつかの Peephole Optimization を追加してみました。特にゼロクリアと加算処理の最適化は効果が大きかったようで、手元のパソコンでは、素数計算が2秒以内で完了するようになりました。

 代入処理全体を置換したり、あるいは、ループ内でメモリの値をローカル変数に割りつけたりといった、さらなる最適化の余地は残っていますが、おいしいところは片付けられたかな、という感じです。

続きを読む "Re: BF2JS opimizing compiler"

投稿者 kazuho : 2006年07月05日 13:16 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク