Entries from 2009-02-01 to 1 month

SORT_REGULARはまあREGULARであってる

「PHPのsort関数は相当おかしい」のどこがオヤジギャグなのか一目で気づかなかった人は、PHPを今後使わないことを検討してください (俺含む)。さて、なんか「なんでこれが『SORT_REGULAR』なの?」「The language developed only by retards」とか「これがデ…

μPD7752エミュレータをJSに移植した

JSでCSM音声合成をやろうとしてたら (需要ありそうだし)、wonderflの「音声合成もどき」にちょっと先を越されてしまい、なんとかインチキできないかといろいろ考えて、ふとパピコンのエミュレータから持ってくればいいじゃんと思い立ち、探したらあっさりと…

PHP5.3のクロージャの謎というかPHPだから謎なんてない!な挙動

zend_compile.c を読んでいて気づいた。 これの結果が int(4)となる。摩訶不思議。みんな大嫌いなクロージャのuseキーワードは、5.1から導入されたcompiled variables(CV)という、ローカル変数アクセス高速化のための機構の実装が腐っているために導入され…

分け入っても分け入っても...

mb_check_encodingは何をチェックするのか(その3 UTF-8編)で指摘していただいた (thx!) バグを直しているときに気づいた。みんなよく聞いてくれ!悪いのはmbstringだけじゃないんだ!といって自己正当化してみるテスト。 結果 string(3) "123" string(8) "&…

PHPスクリプトでテンプレートの継承できたよ\(^o^)/

追記: 一部文字を実体参照化してなかったのを修正。typo修正。タイトルは若干 (というかかなり) 釣り。改造したPHPでテンプレートの継承 (もどき) をできるようにしてみた。ローカル変数が受け継がれないとか、まだまだ実用には耐えられるものではないので、…

LeopardのUNIXコマンドと環境変数COMMAND_MODE

昨日id:ichii386と id:ichii386「Solarisとかだといつもps -efってやるんだけど、Macだとだめなんだよね」 id:moriyoshi「え?使えるよ?何いってんの?」 という話になり*1、この違いの原因を突き止めることに。「バックドアとか仕掛けられてない?」「んなわけ…

undefinedだけじゃないのか、デフォルトのグローバルオブジェクト

ECMA-262を読んでいたら、たまたま見つけたのでメモ。いつもNumber.NaNとか使ってた。 15.1.1 Value Properties of the Global Object15.1.1.1 NaN The initial value of NaN is NaN (8.5). This property has the attributes { DontEnum, DontDelete}.15.1.…

BP Study #17での発表のために作成したサンプルコードとその解説

追記: 一部意味不明な箇所を修正公開する機会がないなあと思っていたので。 ※スライド自体はここにあります。 1. パイプラインパターン 以前にもこれは言及したことがあるけど、GoF的なパターンとして確立しているというよりかは、定石だということでパター…

Issue #4753: Faster opcode dispatch on gcc

追記: typo修正。テストコードに余計な「r」が含まれてたのと、「PICコード」とか間抜けなこと書いてたのを。Issue #4753職場でも話題になったので。このパッチのコメントによると、threaded codeにしたほうが分岐予測が効果的に働き、15%-20%ほど速くなると…