2 MB 超の画像データを無理矢理 localStorage に保存してみた
HTML5 にはローカルにデータを保存する仕組みがいくつかありますが、MobileSafari (iOS 6) の場合 localStorage は 5 MB までの容量制限があります。
JavaScript の文字コードは UTF-16 なので、ASCII 文字も 2 バイトの容量を食います。よって、ASCII 文字列を保存する場合は実質 2.5 MB までしか使えません。
バイナリデータは Base64 エンコードして保存するでしょうから、保存できるデータは元の容量で最大約 1.875 MB ということになります。
たった 5 MB しか保存できないのになんかもったいないですよね!
独立性の仮定と平均場近似の関係
PRML の10章(下巻 p. 178)に、変分推論において確率分布 q が次のように分解できる形を用いることに関して「物理学で平均場近似 (mean field approximation) (Parisi, 1988) と呼ばれる近似法に対応している.」と書いてあります。
Mac における MP3 ファイルの文字化けを直してみた
約2年半前、初めて Mac を買ったわけですが、Windows で使っていた MP3 ファイルを持ってくるとメタ情報が文字化けして困ったものです。iTunes のリストなんかは日本語の曲名がさっぱりわかりません。
当時いろいろ調べてみたところ、どうも ID3 タグの文字コードの問題ということまではわかっていたのですが、iTunes で ID3 タグの変換をすると直るとか、EasyTAG を使えばいいだとかの情報があっても結局直せませんでした><
ピュア R で MessagePack for R を作ってみた(unpack のみ)
MessagePack をご存知の方も多いかと思います。
ざっくり説明すると、サイズがコンパクトで、かつシリアライズ・デシリアライズを高速に行うことができる言語に依存しないデータ形式です。・・・という理解です。
有志によって様々な言語でも実装が行われていることも特徴かと思います。
JSX で生成されたコードを動的ロードしてみた
JSX は静的言語なので、JavaScript のように必要になったら動的にスクリプトをロードして、そのスクリプトに含まれるであろうオブジェクトにアクセスするのには不向きです。
ですが、そういうことをしたいねという話があったのでデモを作ってみました。
Sample for dynamic loading JavaScript generated by JSX
Gist のコードの表示がおかしくなっていたので修正した
最近 Gist がリニューアルして、コードを埋め込む際に生成される HTML の内容も変わったようです。
っで、そのせいでこんな感じになっていました↓
R のコアチームにバグレポートを送ってみた
「R のデータ構造とメモリ管理」でも述べましたが、R のメモリ関連の関数の出力結果はヘルプを読んでも意味不明なものが多いです。
summaryRprof(memory = “both”) で付与される結果がどういう意味なのか調べていて気付いたのですが、この関数では単位の異なるものを足し合わせて結果を出力しています。Rprof のバグか summaryRprof のバグかは定かではありませんが明らかにバグです。
R の if は文なのか? ~R の内部処理の観点から~
おもしろいネタを見つけたのでダメ出しにダメ出ししてみようと思います。
R のデータ構造とメモリ管理
R のメモリプロファイリングをしたかったんですが、表示される結果の意味が理解できなかったので、R のデータ構造とメモリ管理について調べてまとめてみました。
JSX のプロファイラが素晴らしい!
個人的にとても便利だと思っているけどあまり注目されていない JSX の機能にプロファイラがあります。