kanaiComputershacksMusicTweet数え切れないほどテクノロジーを駆使していながら、その仕組みに関する知識はゼロか、ほんのちょっとしか溜まってないっていうのもおかしなもんだよね。EdstromはMP3形式を分析して、独自のMP3デコーダーを一から作るための、最高の解説書を作り上げた。地球上でもっとも有名なファイル形式でありコーデックであるMP3だけど、これをよく理解しているプログラマーは少ない。エンコーダーもデコーダーも、標準のライブラリーやOSのカーネルみたいに、”他の人”が作ったソフトウェアのクラスに存在している。この記事は、そんなデコーダーの神秘のベールを、必要に応じて、信号処理と情報理論の短い解説をしつつ、はがしていくものだ。加えて、小さくて機能は完全でないけれど、いじくりまわすには最適なデコーダーを作ることができる(Haskellを使用)。64のマニュアルを思い出させてくれた。これには、プリンターやモデムなどを買ったときに中に入ってくる6ぺージのユーザーガイドだ。したガイドには、裏表紙にドライバーのコードが印刷されていた。それを自分のプログラムに組み込むことで、そのデバイスが動く仕組みを、使用開始時点にはすっかり理解できた。今、ボクの机の上には300ボーのモデムよりもずーっとクールなデバイスが置かれているけど、ボクが80年代に遊んでいたデバイスについて知っていたのと同じぐらい深さで、それらについて知識を得ることは、まずあり得ない。言うものの、日常使っているテクノロジーの内部を、逐一、隅の隅まで解析して詳しく知ることができれば、さぞ楽しいだろうね。