Music Paper Again

またしても、五線紙の話題だ。

持ち運びするポケットノートとしてはMoleskineが大きさ的にも丈夫さ的にも良い感じと思っている。丈夫といっても、あまり開いたり閉じたりを繰り返しすぎると背表紙が割れてくるのだけど。Moleskineは五線紙のバージョンも出していて、前にも書いたと思うのだけど、9×14センチのノートだと縦ではなく、横で五線紙だったら完璧だったのにと、そこだけが残念だった。Moleskineではそういう横タイプのものも出ているので、なおさらだ。

Moleskineにはポケットサイズだけではなく、ラージサイズという一回り大きいものも用意されてるのだけど、横罫と方眼と無地しか無かったのだった。ラージサイズで五線が出ればかなり良いんじゃないかと思ってたのだけど、無いものは仕方がない。

ずっとそう思ってたのだけど、今でも日本のサイトではそうなってるのだけど、実は去年の年末に本国イタリアではラージサイズの五線が出ていたのだ。たまたま、お膝元ではもっと種類多いんじゃないかと思って覗いてみたらどんぴしゃだったのだ。

さて、あると分かったのは良いのだけど、どこで手に入れようかということなのだけど、Amazonで”Moleskine”で検索しても出てこなかった。Googleで検索したとき、最初に出てきたのはジュンク堂だったのだけど、洋書扱いでちょっと値段が高かった。どうしようかなと思ってしばし放置して、そういえばと思ってAmazonで”Music Notebook – Large”と、ずばり検索してみたら、あれ?あるじゃない。Amazonはなんかそういうの多い気がする。ちなみにやっぱりMoleskineでは出てこないのだった。

Amazonは洋書扱いでも値引きがあるので早速注文してみた。

さて、手元に届いてみての印象はというと、まずびっくりしたのは両面ではなかったということ。たしかにノートのアイコンでは片一方にしか五線書いてなかったので、その通りなんだけど。開いて右側が五線になっていてその裏は白紙になっている。

次にびっくりしたのは段数が奇数だったこと。11段でした。今までに奇数段数の五線紙は無かった気がするんだけど。

これぐらいの大きさなら縦型でも五線の横幅はそうそう狭いという感じはしない。丈夫そうなのもMoleskineのウリなんだけど、良い感じ。値段はちょっと高いかなと思わなくはないが、五線紙はどれもそんなには安くないので、まあこんなものかもという感じでしょうか。

ともあれ、五線紙の選択肢が増えたのは嬉しい。


Repairing iPod touch 1st Generation Headphone Jack

以前使っていた第一世代のiPod touchは今は相方が使用しているのだけど、とうとうヘッドフォンジャックの調子が悪くなってきた。物理的な挙動による消耗材といえば、あとはボタンぐらいなのだけど、左側のチャンネルが聞こえたり聞こえなかったり、安定して聞こえなくなってきたのだ。とりあえずダメ元で接点復活材なども試してみたのだけど効果はなかった。

色々調べてみたら、iPod touchをアップルで修理してもらうと結構かかるようだ。もうすでに保証期間も切れているし、Apple Careなどにも入っていない。正確な数字かどうか分からないのだけど、これって新しいの買えるんじゃないって値段が出ていた。

わたしは物持ちがいいほうで、修理して使えるなら使いたいと思うんだけど、それにしても、な、値段だ。他になにか手段はないかと、ネットでいろいろと情報を収集していると、どうやら、コネクタ部は別パーツになっていて、今でも取り寄せで買うことが出来るらしい。

iPod touchは(iPhoneもだけど)ケースを開けるのが面倒というのがもっぱらの評判なので、躊躇するところなんだけど、開け方に関する情報が載っているサイトもいくつかあることだし、挑戦してみるかと思い始めていたときに、そのヘッドフォンジャックのパーツを見ていてふと気がついたことがあった。いろいろな内部の写真からはんだんすると、どうやらそのパーツはコネクタなどでつながっているのではなく、半田付けされてるようなのだ。

なんだか一気に難易度が上がったような予感もしたのだけど、まあなんとかなるでしょ、という楽観が半分、ダメそうだったらそのままふたを閉じようという打算が半分で、とりあえず乗ることにした。

※お約束
もちろんのことだけど、以下の方法を参考に試してみて失敗したとしても責任はとれません。結論から言うと、むしろ、労力を考えると素直に修理に出した方が良いと思います。

Continue reading →

iPhone Without 3G

E-mobileから出ているPocket WiFiという小型のルーターがある。E-mobileの3G回線を5台までの機器でWiFi経由でつなぐことが出来るという機器だ。そのコンセプトとコンパクトさに興味があったのだけど、たまたま初期費用を無しで使い始めることが出来るチャンスがあったので、試してみることにした。

そもそも、iPhoneのパケット料金が毎月上限まで行っていて、どうしたものかと思っていたのだけど、せっかく一台にまとまったのに二台にするのはどうだとか、もう一回線契約するのはどうだとか、色々思うところはあったのだけど、結局は高々費用的にはおなじぐらい、あとは好奇心に負けたという形だ。

使い勝手としては、私の用途としては問題ない。しかし、逆にいろいろとiPhoneの癖が分かってきたのが興味深い。

まず最初にやったことはiPhoneの3Gでのパケットをdisableにすることだ。方法はここを参考にした。要はパケット通信用のアクセスポイントを書き換えて接続できなくすると言うことだ。なんか似たようなことをNokiaの携帯を使ってたときもやった気がする。

3Gでのパケット通信をdisableにしてみたところ、分かったことがいくつかある。

  • disableにするとバッテリーの持ちがよくなった。
      これはあからさまに体感できる。朝持ち出して夕方にバッテリインジケータの目盛を見てもほとんど減っていないのだ。
  • iPhoneはなにもアプリが動いていない状態でsleepに入るとWiFi接続も切れる。
      sleepから復帰してもWiFiを接続し直すので、それまでの間は3Gのパケット通信を使うようだ。これは自宅などのWiFiが常にある環境でもそういう挙動をする。
  • 前項のとおりsleep中、sleep復帰時はWiFiで接続可能な場合も3G経由のパケット通信を使うことがあるようだ。
      というか、結構これがパケット量を使ってるのではないかという気がしてきた。
  • ACなど外部電源をつないでるときはsleepしてもWiFiの接続が失われることがない。
      自宅では必要なとき以外はドックなどにつないでいた方が良いかもしれない。
  • なにかアプリが動いているときはsleep状態でもWiFi接続が持続する。
      iPodアプリで音楽を再生している間はWiFiが切断することはなかった。

Pocket WiFiの方はというと・・・、実のところまだ使い始めたばっかりなので、何か特に気付いたと言うことはない。駅などはいいのだけど商業ビルでの対応が弱いかなと思うことはあるが、回線速度などの不満はない。

それよりも、iPhoneがsleep時にWiFiを切ってしまうのと、WiFi接続が一定時間続いた場合にPocket WiFiがWiFiをオフにしてしまう機能のコンボで必要なときに意外と手間取ることがある。前述のようにiPod機能を使用していれば接続は保たれるのだけど。そのあたりの設定はまだまだ試行錯誤の途中だ。

Pocket WiFiは同時に5台までつながるので、ノートパソコンとの使用も考えているが、一度設定のためにつないだとき、うっかりDropBoxがファイルを更新してしまい、慌てて切ったと言うことがあった。使い放題のWiFiだといいのだけど、従量課金制のネットを使ってる場合はDropBoxも考え物だなと思ったのだった。

Everything Becomes Software

iPadの発表は久々にかじりついてリアルタイムで見ていた。iPhoneの時のようになにかひねりや、じらしなどがあるかと思ったのだけど、いきなりiPadっていうストレートさにもびっくりした。今日のWeb界隈では賛否合わせてiPadの話題にあふれていた。

欲しいのかと聞かれると、間違いなく欲しいと答える。売れるのかと聞かれると、それは分からない。同じ市場の他のプレーヤがまだみあたらないので、新たに存在感をあらわすルーキーが勝つのか、それともそんな市場がなかったかのように消え去るのか。はたまた柳の下の3匹目の鰌になるのか。

なによりも、私にとって魅力的なのは、あの値段で、あのサイズのタッチパネルを持ったデバイスが自分で好きにプログラム出来るのだ。それは、わたしにとってはとても革命的なことだ。そう、わくわくしている。

結局iPadのもっとも重要な機能はソフトウェアで何にもなるということなんじゃないかと思う。あの値段だったらデジタルフォトフレームにだってできなくはない。

今はiBooksといって電子書籍リーダのソフトをインストールしているけど、別に紙のメタファーにいつまでもとらわれる必要はないのだ。別の形態のメディアが登場したときもソフトウェアで対応できる。もしくは、AppStoreの中からそういうメディアが生まれるかもしれない。

イニシャルな状態で、iPadが何かという問いに対する答えがAppleの用意したソフトウェア群ということになるのだが、何かというのは時とともに変化しそうだ。

iPadはコントローラの機能だけを実装して処理するのはデスクトップPC、そんな使い方も良いだろう。音楽のソフトのプラグインのパラメータをいじるのにiPadを使う、そんなシチュエーションも登場するんじゃないかと思う。わたしはそういうインターフェイスとしてのiPadにとても期待しているのだ。

File Not Found, But Found

XcodeのヘルプでiPhone SDK 3.1のドキュメントを見ようとすると「ファイルが見つかりませんでした」なるエラーダイアログが出るのだけど、目的のドキュメントは表示されるという不思議な状態になっていた。必要な情報は3.0のドキュメントでも得られるので放置していたのだけど、ついに3.1のドキュメントでないとダメという状況になり、何か探す度に出るダイアログに辟易して、ようやく抜本的に解決しようと思い立った。

この現象は多分メジャーなことだと思われるので、日本語でずばり検索すれば出てくるだろうと思ったのだけど、出てこなかった。情報がないと言うことではなく、もうちょっと探し方を工夫すれば出てきたのだと思う。

日本語がダメなら英語で・・・とおもったのだけど、はて、このエラーは英語版ではどう出てるのだろうかと色々思案したあげく、”xcode 3.1 docset”で検索してAllenさんのblogのエントリーにたどり着くことが出来た。

あとは、氏のエントリーの通り作業をすればいいのだけど、また後々同じような症状になったときのヒントになればと、手順を書いておこうと思う。

  • XcodeのドキュメントセットからiPhone OS3.1をアンサブスクライブする。
  • Xcodeを終了し、3.1のdocsetを削除する。

    標準では/Developer/Platform/iPhoneOS.platform/Developer/Documentation/DocSetsにインストールされている。

  • 古いバージョンのドキュメントを取得する。方法は以下のようにwgetなどで。
    wget http://devimages.apple.com/docsets/Oct2009/com.apple.adc.documentation.AppleiPhone3_1.iPhoneLibrary.xar
    
  • ダウンロードしたアーカイブを解凍して、docsetを先ほどのディレクトリにコピーする。

    以上で終了だ。

  • How to build liblicense on MacOSX

    Creative Commons(以下CC)という自分の著作物に対するライツを明示する方法がある。 なんて説明は要らないぐらい、CCは認知されている。

    明快な内容と、どんなライセンスかを簡単に示す方法があるので、とても使いやすい。ライセンス自体はCCのページから簡単にWebなどのページに埋め込む用のコードを作成してくれるようなツールも用意されている。

    面白いのがライセンスの表現自体がURL表記になっていることだ。たとえば、http://creativecommons.org/licenses/by-nc-sa/3.0/のような感じに。URLの該当ページにはライセンスの内容が書いてあり、また、他言語のページも用意されている。

    Webなどや文字媒体にはライセンスを書くことは比較的楽に出来るのだけど、わたしはmp3などの音声媒体にライセンスを含めたい。iTunesなどでTagを編集するときに記述できると良いのだけど、残念ながらiTunesにはその機能はないようだ。他のTagエディタで出来るのかはわからない。

    CCにもccPublisherというソフトが用意されてあり、それを使えばmp3のID3Tagにライセンス内容を含めることも出来るのだけど、ccPublisherは長い間メンテナンスされてないらしく、しかも何か分からないエラーで書き出しされないことがある。つまり、ちょっと使えないな、と。

    ないなら作れば良いという話なのだけど、幸いCCはliblicenseというライセンスの選択、読み書きをするライブラリを公開している。CCがというより、有志が作っているという表現の方が正しいかもしれない。

    とりあえず、liblicenseが動けば目的までは近そうなので、liblicenseをMacOSXで動くようにbuildしてみることにした。ここで簡単にbuildできてしまっては話が終わってしまうのだけど、いろいろはまりポイントがあったので、備忘録もかねて手順を書いておこうと思う。

    Continue reading →

    A Magazine On The Fly

    Mag+ from Bonnier on Vimeo.

    最近特に電子書籍リーダーの話題を耳にするようになった。昨年末よりAmazonのKindleも日本で購入できるようになったし、Sonyの再チャレンジをはじめとしてその市場を狙おうとする挑戦者が次々と現れている。もちろんAppleもその一人と目されている。

    昨年、雑誌の休刊がとても多かったようだ。統計的なデータを見るまでもなく、見渡せば雑誌というものが日常の中でほとんど見かけなくなってきているのを実感する。高校生ぐらいの時は毎月18日となれば書店で山ほど積んだ雑誌をレジに持って行っていたものだが。

    もちろん当時はネットで検索なんて言うものが出来なかったのですべてを紙媒体に頼っていたので状況が違う。そう、状況が違うのだ。いままで何度も電子化を試みては鳴かず飛ばずだったのだけど、ついに分水嶺が訪れようとしている、そういう気配を今年は感じる。

    ただ、今までは紙を電子化という、いわばいかに紙の本をエミュレートするかと言うことの競争だったのだけど、どうもそれはそんなに重要なファクターではなくなってきているのではないかと思い始めている。その思いがさらに強くなったのがこのMag+というムービーを見てからだ。

    Mag+は紙媒体を離れたときの雑誌の未来の一つを提示して見せている。紙の雑誌をそのまま持ち込むのではなく、新たな媒体に合わせてデザインすれば良いというのはとても面白い。

    今現在でもWeb Magazineという形態はあるので革新的な新しさがあるというわけではない。それを閲覧するビューア、つまりはWebブラウザと何が違うのか、というのはあるだろう。そもそもWebは本にはなれないのか、等々。

    このMag+に限らず、他にもいろいろな試行錯誤がなされるだろう。そしてどれが次の世代の本というものになるかは分からない。それでも、本というものが意味するものが変質しつつあるのではないかという予感はある。

    そして、Appleの近日発表されるというタブレット型(スレート型?)携帯端末はそのあたりを狙っているのではないかと、そんな気がしている。

    Happy New Music Paper

    新年にあたり、五線紙を新調した。無印良品のポリプロピレンカバーのダブルリングノート五線だ。無印良品と言えばこの半透明と白とシルバーな素材感が好きなのだけど、最近はずいぶんと色々とデザインのバリエーションも増えた。

    などと言ってみたが、もちろん無印良品に五線紙の商品は存在しない。存在しないので、ドット方眼のダブルリングノートをばらして、レザープリンタで五線を印刷し、また組み立てるといった手間をかけて作った。手間と言ってもほとんどがプリンタの前でジャムらないように見張ってるぐらいなんだけど。

    無印のノートからオリジナルの五線紙を作るのは以前もやってて、ポケットサイズのを作ったのだけど、すでにその元の製品は廃盤なので前よりはちょっと大きめのサイズを選んでみた。

    本当なら無印から商品として五線紙が出てくれればいいのだけど。需要はないのだろうか?

    五線紙は選べる商品数が少ないので、なかなかしっくり来るものに出会えない。出会えない上に、いままでにも2回以上愛用していたものが廃盤という憂き目にあった。

    ともあれ、新しい五線紙を音符でいっぱいにしていこうと思う。

    A Bridge Too Far

    iPhoneのおかげでObjective-Cがかなりメジャーな言語となった。それはうれしいことだ。わたしはObjective-Cが好きで、それは元を正せばSmalltalkが好きだというところに通じる。ただObjective-Cはメリットの裏表で実行時のパフォーマンスに難点がある。いや、それさえも回避可能ではあるけど、記述の利便性が損なわれたり、よく知ってないとできないことも多い。

    例えばメッセージ式で型推定は行われないので、毎回素直にセレクタに対応するメソッドを探してから呼び出す。もちろんキャッシュの仕組みなんかはあるのだけど、直接コールするよりは何倍も重い処理になっている。以前3Dエンジンを実装したとき、ステート管理を素直にメッセージ式で呼び出すいわゆるObjective-Cのクラスで実装したら劇的に遅くなって愕然としたことがある。メッセージ式は大量に呼び出す必要があるとき、とくに回数の多いループの中なんかは要注意だ。

    Objective-C 2.0で実現されたプロパティも困った問題を引き起こすことがある。アクセス方法がC/C++でなじみのドットアクセスなので、ついついその感覚で使ってしまうのだろうけど、パフォーマンスに影響あるところで

    @property (nonatomic) Vector *position;
    ...
    object.position.x = 100;
    object.position.y = 100;
    object.position.z = 0;
    

    というような記述を見てくらくらとしたことがある。これは、つまり

    [[object position] setX:100];
    [[object position] setY:100];
    [[object position] setZ:0];
    

    だと考えれば、どれだけのコストがかかってるか分かるのだけど、簡便な記述がそれを見えにくくしている。

    ただ、Objective-Cを使う人口が増えるということは、コンパイラに手を入れる人間の数も増えるということなので、近い将来にパフォーマンスのかなりの部分をコンパイラが面倒を見てくれるようになるかもしれない。

    さて、今回も枕が長くなったが、Objective-Cの(実装内容を見れば実は普通のCの機能なのだけど)Toll-Free-Bridgeという仕組みを調べて行くうちに、いろいろとパズル的にC++側から見れば純粋なC++なクラス、Objective-C側から見れば純粋なObjective-Cの実装というのができないかと考えてみたというのが本題である。

    Continue reading →

    How to combine jpeg files to a PDF

    iPhoneにGoodReaderというPDFを高速に表示できるアプリがある。PDF以外も対応しているのだけど、試してみたことがないのでその機能がどれぐらいかと言うことは分からない。ただ、PDFの表示速度だけでこのソフトを選んでも良いんじゃないかと思わせるぐらい、速い。

    iPhoneというか、OSXはもともとネイティブにPDFに対応している。その前の歴史としてNeXT Stepの表示システムがdisplay postscriptだったという由来があるのだけど、歴史は置いておいて、その流れをくむiPhoneのアプリケーションフレームワークであるCocoa TouchもPDFを投げれば表示してくれるような仕組みがある。ただし遅い。

    GoodReaderはPDFをレンダリングするコードを独自に(オリジナルかどうかは分からないけど)実装して高速化しているようだ。

    Continue reading →