javascript
id:monjudoh や id:nishiohirokazu と話してて作ったんだけどとりあえず使い道なかったので共有します。テキストをレンダリングして画像にするという話ではなく、 テキストを UTF-8 に変換する UTF-8 化されたバイト列であるテキストをラスタ画像 (ImageData…
ひょんなことで pixiv といろいろ縁があったので発表に至りました。 PHP を JS に変換する「Phjosh (仮)」についてです。誰にも聞かれなかったのであえて書くと、Phjoshの開発者の脳内発音は「fjosh」みたいな感じです。Phjosh(仮)プロジェクトView more pre…
AaなゲームをjsでView more presentations from Moriyoshi Koizumi.動画をAAに変換するデモは以下で観れます。 (動画がTheoraなのでSafariは非対応)http://dl.dropbox.com/u/673207/aalibtest/index.html紹介したサンプルコードその1: <html> <body> <pre id="screen" style="width:80ex; height:25em; line-height:100%; color:white; background-color:black"></pre> </body></html>
最近 JS + JSONP だけを使って何かつくるのがマイブームなのですが、今回は 2 つの Twitter アカウントのプロフィール画像の類似度を調べるというものを作ってみました。似たもの診断「Canvas のセキュリティモデルでちょっとはまった件 (2)」で使った手法を…
4/22追記: Mach-O builder も実装したので Intel Mac でも遊べる。JQuery っぽい文法で、ブックマークレットとして簡単に遊べるアセンブラが欲しいと思って勢いで書いてみた (デモ)。とりあえず以下のサンプルが動くくらいにしか実装してない。 var buf = ne…
作っている途中でここの車輪の再発明をしていることに気づいたわけですが、こちらははてなスターも出るし、ブックマークレットを呼び出すためのブックマークをもう一度クリックすることで表示を消せるようになっているのでまあいいかとか思ってます。 javasc…
漫喫であまりに暇だったのでついカッとなって作った。 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…
JSでCSM音声合成をやろうとしてたら (需要ありそうだし)、wonderflの「音声合成もどき」にちょっと先を越されてしまい、なんとかインチキできないかといろいろ考えて、ふとパピコンのエミュレータから持ってくればいいじゃんと思い立ち、探したらあっさりと…
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.…
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); はどうかってブクマコメを…
追記: もっとよいアルゴリズムについて教えてもらいました (1, 2)。新しい結果とコードはこちら。TraceMonkeyの結果が不正確だったので取り直した件ですが…。速くはなったけど、あまり変わらず。という残念な結果に。 Chrome FF3.0 FF3.1b2 IE6 IE8 Opera9.6…
時間がないのでまだPoCの段階だし、手短に。MS ExcelとかWordとかいろんなマイクロソフト製品の文章ファイルのバイナリ形式は「OLE2 Compound Document」というファイルシステム的な構造を持ったコンテナがベースとなってまして、昨日今日で、これを作ること…
注意: FF3.1b2の結果が不正確です。取り直したのはこちら。ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(), Perlで言うところの「"..." x n」、RubyやPythonで言うところの「"..." * n」) を高速に実装しなけ…
id:Voluntasのおかげで自分的に再燃したブックマークレット熱。まあブックマークレットというと実用的な感があるけど、まったくそんなことはなく、要はワンライナーのこと。いろいろ作ってみた中で、ちょっと汎用化できそうなものがあったので若干体裁を整え…
誰でも一度は試すと思うんだけどV8がなんかtailcall最適化してそうで気になったのでためしてみました! Windows上の各ブラウザしかしらべてません。完全にへたれです。 試したやつ Firefox (Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/…
(via Ajaxian)「Heap Feng Shui (風水) in JavaScript」。ポイントを要約すると Webブラウザ exploit の手法について概説 スタックオーバフローは非常に難しい 一般的な heap exploitation も難しい ほかの可能性は? 配列の介在しないスタックオーバフロー (…
var f = switch (a) { case 0: return 0; case 1: return 1; default: return f(a - 2) + f(a - 1); }; 関数の結果にもマッチできるわけで。 var f = switch (a) { case f(a + 1) % 8 + 1: return a + 1; default: return a * 4 + 3; }; しかも yield (コル…
昔、某天才Yさんの紹介してくれたJS/UIXに本気で釣られて、JavaScriptで端末エミュレータを書き始めたことがあった。結局まごまごしているうちにAjaxTermが出てしまったのだが、こちらはすべてサーバサイドでエスケープシーケンスを解釈してHTMLにレンダリン…
これは知らなかったのでメモ。FireFox 限定のようですが。 Array = function() { alert('You gotta blah!'); };とやった後に >||js| [1, 2] |