Adobe InDesign CS5を中心とした電子書籍ソリューションであるDigital Publishing Suiteについて、簡単なビデオチュートリアルを作成してみました。諸事情あって作ったデモなのですが、ついでなのでYouTubeにアップしておこうかと。個人的には、これを使って日本語の出版物を作った場合に、どんな感じの見た目になるのかなというのに興味があったりします。
State of the art C compiler optimization tricks, Felix von Leitner, Linux Kongress 2009. 最近のCコンパイラーの最適化能力についてまとめたプレゼンテーション。定数の扱いやインライン展開などの基本的な項目から始まって,分岐の削除やベクトル化, SIMD 化など,最新のコンパイラーに搭載されている様々な機能について調べている。 この手の分岐の削除はほとんどのコンパイラーで有効らしい。 ベクトル化については gcc がだいぶ頑張っている印象。 「gcc は全プラットフォームにおいてビデオコーデックプログラマーより賢い」 これらの最適化が実際のコードでどのように機能するか気になって逆アセンブリコードを覗いてみる人も少なくないと思うけれど,それを代わりにやってくれた感じだ。この手の話題に興味がある人ならば,目を通
僕は JavaScript が好きだ。できるだけ多くのことを JavaScript で済ませてしまいたいと考えている。 以前は JavaScript では絵や音を扱うことができないという点がボトルネックになって,応用の幅を狭めていた。これが最近になると, Canvas 要素のおかげで絵を扱うことができるようになったり, Flash を代行役にすることによって音を出せるようになったりと,いろいろ状況が変わってきている。 そこで今回は,以前から機会があれば触ってみたいと思っていた Processing.js と SoundManager 2 を使って, JavaScript によるオーディオ&ビジュアルプログラミングに挑戦してみた。 Processing.js とは Processing.js は,ビジュアルデザイン向けプログラミング言語 Processing を模して作られた JavaScr
一日時間を確保し,以前からやってみたいと思っていた iPhone アプリの開発について勉強してみた。 今回,習作として作成したアプリは下のようなもの。ただ単に汚い持続音(いわゆるドローン音)を出すだけのアプリだ。 Casper Electronics の Drone Lab にインスピレーションを受けて作成した。名前は "Dr. Drone". iPhone の勉強を始めるにあたって,以下の2冊の書籍を参考にした。 iPhone SDK アプリケーション開発ガイド 作者: Jonathan Zdziarski,近藤誠(監訳),武舎広幸,武舎るみ出版社/メーカー: オライリージャパン発売日: 2009/09/07メディア: 大型本購入: 37人 クリック: 773回この商品を含むブログ (58件) を見る ライトウェイト・プログラマのためのiPhoneアプリ開発ガイド 作者: 百瀬健太,古渡
Arduino から LED マトリクスを制御する最も簡単な方法は, MAXIM 社の LED ドライバー MAX7219 を使用する方法だ。 Arduino playground の LEDMatrix の項にノウハウやソースコードがたくさん載せられている。ここにある Matrix ライブラリやLEDControl ライブラリを使えば, MAX7219 とシリアル通信を行う部分の処理はライブラリ任せにすることができる。 Arduino 側から使用するピンは3つだけで済むし,様々な面で非常に効率的な方法だと思う。 MAX7219 はマルツ等で入手することができる。 MAX7219 の唯一の不満点は,画素毎の輝度の調整ができないことだ。表示全体での輝度は 16 段階で設定することができるが,特定の画素だけを明るくしたり暗くしたりということはできない。7セグメント LED を使った数値の表示や
Google Code Blog - Apollo 11 mission's 40th Anniversary: One large step for open source code... アポロ11号の月面着陸から40周年ということで,最近やたらとアポロ計画関連の話題を見かける。そんな中,アポロ計画にちなんだ話題として Google Code Blog に投稿されたのが上のエントリー。 Google Code 上で公開されている Virtual AGC and AGS プロジェクトの中に, NASA のハードコピーから転記された本物の AGC (アポロ誘導コンピュータ)のソースコードがありますよ……とのこと。 このソースコードには,オリジナルのアセンブリコードに記されていたラベルやコメントまでしっかり転記されている。それらの記述に目を通していると,そのコードを書いた人の考えや気持ちが伝
Arduino による MIDI 機器の制御は恐ろしく簡単に実現できる。例えばこんな感じで…… ケーブルの加工 不要な MIDI ケーブルを切断してピンヘッダをハンダ付けする。 MIDI では 5 ピン DIN コネクターのうち 2, 4, 5 番のピンしか使用しない(下図参照)。テスターを使って各ピンと繋がる線を特定する。 加工したケーブルは以下のような感じ。ホットグルーを使って絶縁を施してある。 配線 以下のような感じで配線する。 プログラム 以下のプログラムではオクターブ1から6の間の「ド」を順に鳴らしてリピートする。 void setup() { Serial.begin(31250); sendMidi(0xb0, 0x78, 0); // all sound off } void loop() { for (int i = 1; i < 7; ++i) { int note =
オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが
今,最も熱い論文発表スタイルは,ダンスだ! 上のビデオは,ジョーンズ・ホプキンス大学は Vince LiCata 教授による博士論文 "Resolving Pathways of Functional Coupling in Human Hemoglobin Using Quantitative Low Temperature Isoelectric Focusing of Asymmetric Mutant Hybrids" をダンスで表したもの。4人の意味深な動きや,ボールやグローブなどの小道具にも,ちゃんとそれぞれ意味があって,論文の内容を表現している。突然現れて粉を振りかける人とか,写真を撮る人とかにも意味があるよ! このビデオは,先日開催された The 2009 AAAS/Science Dance Contest における受賞作品のひとつ。その賞品として,彼らの論文のひとつがプ
research!rsc rsc: Alphabetical Order いわゆる「アルファベット順」の概念が一般的に使われるようになったのは,案外と遅くのことらしい。 1286 年に書かれた文書に「単語全体をアルファベット順にソートする」という,今で言う「アルファベット順」の概念が解説されているのを初めてみることができるという。当時やそれ以前の文書においては,単語の先頭一文字や二文字だけでソートされることが多かったらしい。 初めての英語の辞書 "A Table Alphabeticall" (1604 年)においては「アルファベット順」が使われているものの,慣れていないせいか,最初の方のページでは順序のミスが多い。それより後ろの部分ではそれほどミスが無いというから,やはり徐々に慣れていったんだろう。 恐らく,日本語においても,単語全体を「あいうえお順」に並べる方式が使われるようになったの
research!rsc: Using Uninitialized Memory for Fun and Profit N個のフラグを扱う場面があるとする。まず,こんな感じで書き始めることになると思う。 bool flags[N]; for (int i=0; i<N; ++i) flags[i]=false; もしこのとき,Nがものすごく大きかったら……フラグをクリアする処理だけで,結構な時間を食ってしまうかもしれない。 そんなときのために編み出されたのが,上のエントリーで紹介されているアルゴリズム。二つのテーブルを組み合わせて使うことにより,メモリを未初期化のまま使うことを可能にしている。 未初期化のメモリへのアクセスなんて,それ自体が不正なことのように感じられるかもしれないけれど,たまには未初期化のまま使ってみるのもオツなものですよ……という話。実用性については,正直なところあまり無
In Praise of Scripting: Real Programming Pragmatism - Lambda the Ultimate IEEE Computer に掲載された一記事に対する LtU での議論。 CS 教育に用いる言語 ― つまり「大学で最初に教えるプログラミング言語」は,いいかげんスクリプト言語を選んでもいいのでは? という意見。 本当にショックなのは,プログラミング言語の学術コミュニティが,スクリプティングによってプログラミングの現場に引き起こされている大きな変化を受け入れずにいるということです。オブジェクト指向のパラダイムに夢中になるがあまり,特に学部生のカリキュラムにおいて LAMP (Linux-Apache-MySQL-Perl/Python/Php) ツールセットを受け入れようとしません。より多くのプログラミング理論がより優れたプログラミングの実践
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く