鍵鬼は無念の涙を流した

Mac

それは数週間前のこと。 手持ちのKeynote 1.0(英語版)がIntel Macでは動かないので「もうiWork '07は出んやろ」と思い9/1のプレゼン用にiWork '06を買った男がここにひとり。 そして昨夜未明。 http://www.apple.com/jp/iwork/ '07ではない・・・たしかに'07…

ご飯を残したら負けかなと思ってる

,,,,,,,,,,,,,,,,,,,, /": : : : : : : : \ /-─-,,,_: : : : : : : : :\ / '''-,,,: : : : : : : :i /、 /: : : : : : : : i ________ r-、 ,,,,,,,,,,、 /: : : : : : : : : :i / L_, , 、 \: : : : : : : : :i / 食べ残し…

Piece Framework勉強会に参加してきました

先週末のことになりますが、第8回Piece Framework勉強会に参加してきました。 こちらのミスで飛び入り参加のようなかたちになってしまいましたが、快く迎えてくださってありがとうございました。>all (あとで申し込みのメールを見直してみたら、サブジェク…

php_qr 0.2.2: OO-APIのバグ修正

php_qr-0.2.2.tgz QRCodeクラスでmaxnum=1のとき、finalize()をコールしても内部的にfinalizeしたことになっていなかったのを修正しました。

業務(?)連絡

名古屋止まりらしいので乗り過ごす心配はなさそうです。 追記: 名駅では無事に降車。 在来線に乗り換えて目が覚めたら三河安城を一駅過ぎて安城だったのはたぶん気のせい。 少なくとも(高校時代)目が覚めると県境のトンネルを越えてそこは岡山だったのに比べ…

オレオレパッチ

PHP

ちょっとだけ便利になるパッチたち。PHP 5.2.3 向けです。 php-5_2_3-config-file-scan-dir.patch CLI とその他 SAPI で config_file_scan_dir を分ける。 CLI 用の config_file_scan_dir は configure --with-config-file-scan-dir で設定したパスに接尾辞 …

jQuery で MochiKit ライクな DOM 生成

車輪の再発明である可能性はひじょーに高いですが、この程度なら探すより書くほうが早いので作ってみました。 MochiKit のように H1([attributes[, node(s)[, ...]]) で jQuery オブジェクトが生成できます。 あえて jQuery.fn.extend() せず、window オブジ…

ブログアプリケーションの作成ですと!

技術評論社のサイトで連載 Piece Frameworkによるブログアプリケーションの作成 が始まりました。 Piece Frameworkは,本質的な開発の実践のためのアプリケーションフレームワークです。この連載では,簡単なブログアプリケーションの作成を通して,ステート…

php_qr 0.2.1 & php_yaml 0.0.4

いずれもメンテナンスリリースで、新機能等はありません。php_qr-0.2.1.tgz 標準で読み込まれるヘッダで TRUE および FALSE が定義されていないとコンパイルできない問題を修正。 JSON 出力時、ダブルクォートで囲まないように変更。 php_yaml-0.0.4.tgz コ…

QDBM のユーティリティ API : Cabin

便利そうな関数がいっぱいあったので、その中から cbxmlbreak & cbxmlattrs を使った単機能エクステンションの習作を。 XML (ていうか SGML) のテキストデータを配列に分割する関数です。DOM や正規表現でゴリゴリするよりシンプルな処理に。 普段は CodeGen…

Parallels 導入

Mac

IE で Web サイトの確認をするために Parallels Desktop for Mac 3.0 と Windows XP を購入しました。 インストールは難なく終了し、あとは Parallels Tools をインストールして Coherence モードにすれば驚くほどシームレスに動作します。 さらに AppleK fo…

コルーチンもどき by 継続

php_continuation-0.0.5.tgz 既存の関数をクロージャ化する関数を追加しました。 string co_enclose(callback $func[, array $env_vars[, int $flags]]) これは co_make_callable(co_create($func, $env_vars, $flags)) を短く書けるようにしたものです。 引…

CVS の python 拡張モジュールが良さげな件

PECL のサイトでは放置されてると思いきや、CVS のログを見ると先月末あたりから開発が再開されている模様。 Python クラス専用の zend_object_handlers 構造体のメンバを全て書き下ろして、マジックメソッド相当のことをよりネイティブに実装されています。…

マジックメソッドで遊んでみる

PHP

__call(), __get(), __toString() を使って実験。 _name = (string)$name; } public function __call($name, $args) { return new MagicChain(sprintf('%s::%s(%s)', $this->_name, $name, serialize($args))); } public function…

Continuation 0.0.4

php_continuation-0.0.4devel.tgz 一昨日書いた以下の項目を実装。 配列で continuation に渡す引数リストを指定する方法はダサいしミスの元になりやすいので、次のバージョンでは後方互換性を無視して可変長引数にしようと思います。 今は実行時にローカル…

スレッディング拡張モジュールは断念

PHP

APR を使えばプラットフォームごとのスレッドの実装に気を遣わなくていいじゃーん! ってことでクラス図を書いたりなんかしてやる気マンマンだったのですが、関数のコールスタック EG(argument_stack) とかその他諸々のスレッド間で独立していないと困る情報…

Teaser

PHP

Class Chart of AtThread, Draft 2 posted by (C)rsk Class Chart of AtThread, Draft 2.1 posted by (C)rsk

Continuation 0.0.3

php_continuation-0.0.3devel.tgz 昨日予告してたやつです。 array co_inspect(resource continuation $co) continuation にバインドされている変数のコピーを取得する。 アーカイブに付属の使用例だと何が嬉しいのかよく分からないと思うので、別の例をば。…

Continuation 0.0.2

php_continuation-0.0.2devel.tgz コールバック関数がコードによっては予期しない動作をする可能性があったので、修正版をリリースします。 次のバージョンでは、continuation にバインドされている変数をエクスポートする関数を実装する予定です。

コルーチン改め継続

php_continuation-0.0.1devel.tgz 別に C言語レベルでコンテキストスイッチしなくても、関数が呼び出される際の状態を保存・復元すれば似たようなことができるじゃん! と思いつき、変数のシンボルテーブルの複製をリソースにすることでコルーチンっぽい操作…

OpenDogs Extension 0.4.0

php_opendogs-0.4.0.tgz IEEE754 に基づいた浮動小数点数/16進表記文字列の変換をする関数を追加。 string od_float2hex(float $num[, bool $as_single = false]) 浮動小数点数の16進表記を得る。$as_single が true かつ $num が単精度で表現可能な値なら8…

素数探索

PHP

予め生成しておいたテーブルから素数を探索するクラスを作ってみました。 31ビットで表せる素数は 2 から 2147483647 (0x7fffffff も素数!) までの約1億500万個あるのですが、二分探索法を使って高速・省メモリに素数を調べることができます。 ダウンロード …

コルーチン実装失敗

PHP

ここ二日ほど某イベント用に PHP でコルーチンを実現するエクステンションを作ってました。 ・・・が、どうも ZendEngine の VM と、コルーチンを呼び出す/コルーチンから復帰する際のコンテキスト切り替えの相性が悪いらしく、特定の条件でしかまともに動か…

YAML パーザ改良の巻

php_yaml-0.0.1devel3.tgz 以前のバージョンではクォートされていないスカラー値の int/float 判定と、int/float のパース処理はかなり手を抜いていて、PHP 組み込みのものを使っていました。そのため 2進数、60進数、可読性のためにアンダースコアが途中に…

YAML パーザのベンチマーク

PHP

そろそろポインタいじりにも飽きてきたので Pure LL な世界に戻ろうかと思う今日この頃です。 (pthread extension を書いてみようかと思ったこともあったけど、泥沼に嵌る予感がしたので中止) 思うところあって、Spyc と拙作の LibYAML エクステンションでベ…

OpenDogs extension 0.3.0 - PHP で複素数演算

php_opendogs-0.3.0.tgz C99 の complex.h を使った複素数のサポートを追加しました。 倍精度実数の精度に制限されるので厳密さが求められる用途には厳しいかもしれません。 complex リソースで複素数の演算をします。(下記 API 一覧の返値/引数型では単に c…

PDO_PGSQL でラージオブジェクト

make test で必ず失敗するので PDO_PGSQL におけるラージオブジェクトのサポートは腐っているものとばかり思っていたのですが、実はそうではありませんでした。 なんと、腐っていたのはテストケースの方でした。その発想はなかったわ。 というわけで、ちゃん…

OpenDogs extension 0.2.0 is out!

php_opendogs-0.2.0.tgz 文字列が UTF-8 として妥当なシーケンスか検証する関数 od_unistr_valid() と機能一覧を連想配列で返す関数 od_get_features() を追加したり、別件で作ってた Unicode 正規化機能をマージしたり。 正規化を有効にするには configure …

Yet-Another YAML parser for PHP

php_yaml-0.0.1devel.tgz Yet-Another っていうか LibYAML のラッパに過ぎないわけですが。 しかも emitter は未実装で、parser も基本型のみで、複合キーやユーザ定義タグにも非対応。 さらに対応している libyaml バージョン 0.0.1 と svn ではずいぶん中…

プラチナチケット━━━━(゚∀゚)━━━━!!!!

5/16 の厚生年金会館、いつまでたってもチケット来ない!なんでやねん!と思っていたら... 母が受け取ったの忘れて鞄に入れたままでした orz で、番号と座席表を比べてみたら... なんか最前列のほぼド真ん中なんですけど!(°Д°) 正直足が こんな状態なので微…