Entries from 2009-01-01 to 1 year
Perlの謎APIをwrapして、Perlスクリプトの関数をC++から簡単に呼び出せるようにしてみた。てか、 リファレンスカウントを透過的に行えるようpimpl形式のコンテナを使ってみる mortalを透過的に行えるようcall_sv()による関数呼び出しを完全にブラックボック…
Gripで作成したmp3をiTunesにインポートすると、ASCIIでない文字がことごとく化けるのでなんでだろうと思っていたら、Grip は文字列フィールドに UTF-8 を入れる際、そのフィールドのエンコーディングを UTF-8 ではなく ISO-8859-1 と指定するようなのだ、な…
Objective-C + C99限定なんだけど #define pool for (NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; pool; [pool drain], pool = 0) とかって定義しておくと void foo() { pool { NSObject *obj = [[MyObject alloc] init]; [obj autoreleas…
作っている途中でここの車輪の再発明をしていることに気づいたわけですが、こちらははてなスターも出るし、ブックマークレットを呼び出すためのブックマークをもう一度クリックすることで表示を消せるようになっているのでまあいいかとか思ってます。 javasc…
id:sotarok が 本当ですか!!名前空間区切りがきれいなPHPくれますか!! http://wassr.jp/user/sotarok2/statuses/IYzUK778PO と言ったので、ぼちぼち作った。たとえば php.ini に namespace_separator=(´・ω・`)と書いたり、もしくは .htaccessに php_…
追記: ケース4についての記述がなかったので言及。前回の調査で、[[:print:]] と \p{IsPrint} は実は等価でないということが分かったわけだけど、これだけではまだ再現できなかった理由、つまり、 use encoding 'utf-8'; $_ = "\t"; # 1. マッチしない print…
漫喫であまりに暇だったのでついカッとなって作った。 javascript:(function(d,w,h,z,f,t,u,a,n,c,o,p,m,q,i,j,s){s="n=d.createElement('canvas');with(n.style)width=n.width=w,height=n.height=h;n.setAttribute('style','position:absolute;left:0;top:0…
もともとPECLにあって、PHPのバージョン5.2.0から標準に組み込まれたfilter拡張モジュール。URLのクエリ文字列やPOSTされた入力文字列の妥当性検査と「サニタイズ」という2つの役割を果たすもので、また突っ込みどころがいろいろあるんだけど、まあ利用法に…
8.6 Named character references を見たら、サポートされている実体参照の種類がぐっと増えてました。知らなかったー。HTML 5 でサポートされていないものの一覧も作ってみました。 参照名 Unicode文字コード (10進) 文字 HTML5での参照名 epsis 8714 ∊ - an…
Bug #46478でid:hnwさんに報告していただいたバグを修正しようと思って作成したものですが…そもそもこのバグを作ったのは私で、5年くらい前の話になりますが、HTML4.0でサポートされている実体参照のテーブルではなく、Unicode 1.1 以降は obsolete となって…
前から言われてる、これ。(id:hnw さんも、もしかしたらこれは私が実装したということを知っていて自粛してるのかもしれないけど、そういう気遣いは不要です!)まあつまりですね、もともとfgetcsv()は「\」(0x5c) で次の文字をエスケープできるという割と不…
「鬼車の[[:print:]]はPOSIX流じゃないらしい」でid:ockeghemさんやid:nihenさんと先週いろいろやりとりしてた中で、一つだけ解決していない問題があった。utf8フラグが立っているかどうかでPOSIX文字クラスのマッチの挙動が変わるという件。 大変詳しい調査…
もうすっかり時期を逃した感があるけど、とりあえず書いてしまったので貼っときます。美人ゴルフをするのに、実在するwww.bijint.comのサーバにアクセスするのは、とてもよくないことになるかもしれませんよね!! なので練習用のサーバを書きましたよ東條さん…
typedef char c;typedef int i;i sprintf(c*,c*,...);i socket();i close(i);i connect(i,i*,i);i read(i,c*,i);i write(i,c*,i);i***gethostbyname(c*);c*strstr(c*,c*);c*malloc(i);i open(c*,...);i main(){c*h="www.bijint.com",*t,*z;i b[]={0x50000002…
追記: どっちが正しいとかそういう話ではないので念のため...。 追記2: Technical ReportがAnnexとなっていたのを修正。 追記3: 微妙に誤解があった部分を修正。結論としては同じ。id:ockeghem さんの、 「POSIX正規表現の[:print:]は改行やタブがマッチする…
「PHPのsort関数は相当おかしい」のどこがオヤジギャグなのか一目で気づかなかった人は、PHPを今後使わないことを検討してください (俺含む)。さて、なんか「なんでこれが『SORT_REGULAR』なの?」「The language developed only by retards」とか「これがデ…
JSでCSM音声合成をやろうとしてたら (需要ありそうだし)、wonderflの「音声合成もどき」にちょっと先を越されてしまい、なんとかインチキできないかといろいろ考えて、ふとパピコンのエミュレータから持ってくればいいじゃんと思い立ち、探したらあっさりと…
zend_compile.c を読んでいて気づいた。 これの結果が int(4)となる。摩訶不思議。みんな大嫌いなクロージャのuseキーワードは、5.1から導入されたcompiled variables(CV)という、ローカル変数アクセス高速化のための機構の実装が腐っているために導入され…
mb_check_encodingは何をチェックするのか(その3 UTF-8編)で指摘していただいた (thx!) バグを直しているときに気づいた。みんなよく聞いてくれ!悪いのはmbstringだけじゃないんだ!といって自己正当化してみるテスト。 結果 string(3) "123" string(8) "&…
追記: 一部文字を実体参照化してなかったのを修正。typo修正。タイトルは若干 (というかかなり) 釣り。改造したPHPでテンプレートの継承 (もどき) をできるようにしてみた。ローカル変数が受け継がれないとか、まだまだ実用には耐えられるものではないので、…
昨日id:ichii386と id:ichii386「Solarisとかだといつもps -efってやるんだけど、Macだとだめなんだよね」 id:moriyoshi「え?使えるよ?何いってんの?」 という話になり*1、この違いの原因を突き止めることに。「バックドアとか仕掛けられてない?」「んなわけ…
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.…
追記: 一部意味不明な箇所を修正公開する機会がないなあと思っていたので。 ※スライド自体はここにあります。 1. パイプラインパターン 以前にもこれは言及したことがあるけど、GoF的なパターンとして確立しているというよりかは、定石だということでパター…
追記: typo修正。テストコードに余計な「r」が含まれてたのと、「PICコード」とか間抜けなこと書いてたのを。Issue #4753職場でも話題になったので。このパッチのコメントによると、threaded codeにしたほうが分岐予測が効果的に働き、15%-20%ほど速くなると…
2009/2/23追記: 発表資料はこちら。最近「何の人かわからない*1」とよく言われ、アイデンティティを喪失しつつある今日このごろ、Adobe MAXというアドビさんのイベントの午後のセッション「出張JUIカンファレンス - Flashはもういらない?」にて、kawa.netの…
これの続き。 なんかかなりjitterがあるみたいでおかしな結果になってるんだけど、アルゴリズムごとの特徴は出てるので。 - Chrome FF3.0.5 FF3.1b2 IE6.0 IE8.0b2 Opera Safari WebKit/r40352 concat_op 32 203 150 747586 453 156 51.5 32 join 36 478 596…
まさに同じコードでベンチマーク取ってる途中で (や、まじで) エントリを書かれてしまった。なんで気づかなかったんでしょうね。こういうの。ここで言及していただいてることなんですけどね。ちなみに。あと new Array(n).join(s); はどうかってブクマコメを…
追記: 手元のデータシートに従って、YM3526について言及。正式にはCSM音声合成モードでした。 追記2: PC-6001mkIIに内臓されているのはフォルマントボイスシンセサイザーのμPD7752でした。なんか今日話に上ったので。 ファミコンのサウンドチップ *1 にはDi…
追記: もっとよいアルゴリズムについて教えてもらいました (1, 2)。新しい結果とコードはこちら。TraceMonkeyの結果が不正確だったので取り直した件ですが…。速くはなったけど、あまり変わらず。という残念な結果に。 Chrome FF3.0 FF3.1b2 IE6 IE8 Opera9.6…
時間がないのでまだPoCの段階だし、手短に。MS ExcelとかWordとかいろんなマイクロソフト製品の文章ファイルのバイナリ形式は「OLE2 Compound Document」というファイルシステム的な構造を持ったコンテナがベースとなってまして、昨日今日で、これを作ること…