アンチ・ソフトバンク?

知人に「uzakadeuはソフトバンクが嫌いなんだろう?」と言われました。
文脈から、たぶん持ち株会社としてのソフトバンクソフトバンクグループのことではなく、ソフトバンクモバイルのことだと思います。

日頃の私の言動がソフトバンクモバイルを批判してるように聞こえるからそう言われるんでしょうね。



答えは「No」です。別に好きでも嫌いでもありません。
納得できないことがあって要望を口にすることが多々ある半面、業界の慣習を破壊すること関しては期待しています。



なおソフトバンクモバイルの幹部に関しては、次のような感情を持っています。

  • 孫社長は苦手。理由は不明。動物的な勘で避けてる気がする。
  • 松本副社長には好感を持っている。ただし自社に関する発言は眉に唾付けて読む。
  • 宮川CTOには好感を持っている。

が、あくまで幹部個人への感情ですし、会ったこともないし、大して意味はありません。



ちなみにホークスや出版事業会社は理屈抜きに応援しています。

MacでOctave

GNU Octaveという数値解析ソフトウェアがあります。

これをいつも使ってるiMacで利用したいと思い立ちました。その顛末です。

MacPortでOctaveをインストールする

まずMacPortでOctaveをインストールしようとしました。
MacPortを使うのは初めてなので

辺りを参考に手順を進めます。

$ sudo port selfupdate
$ sudo port install octave

とすると、たくさんの依存関係があり、それを解決するためにいろんなものをインストールし始めました。
やがて curl-ca-bundle パッケージのインストールでchecksum errorが発生しました。


よく分かりませんが、パッケージ情報に紐づいてるチェックサムが間違ってるのでしょう。これはさっさと諦めます。

【追記】2010-11-20 01:53
コメントでチェックサムが修正されたことを教えていただきました。私もやってみてインストールできることを確認しました。

SourceForge.netからOctaveをインストールする

次にSourceForge.netからOctavegnuplot、AquaTermをインストールしようとしました。

を参考にインストールを終えます。
で実行してみると...

octave-3.2.3:1> x=1:30
octave-3.2.3:2> plot(x,sin(x/pi))
dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /usr/X11R6/lib/libfontconfig.1.dylib
  Reason: Incompatible library version: libfontconfig.1.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0

というエラーが出ます。


「libfontconfig.1.dylibはlibfreetype6.dylibのv13.0.0以降が必要なのに、今あるのはv10.0.0だよ」という意味です。いや、そう言われてもそれはAppleから提供されてるもんだし。。。

【追記】2010-11-15 04:15
otoolで見ると問題なさそうな気がするけど、見方間違ってるのかなぁ。

$ otool -L /usr/X11/lib/libfontconfig.1.dylib
    ...
    /usr/X11/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.0.0)
    ...
$ otool -L /usr/X11/lib/libfreetype.6.dylib
    /usr/X11/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.0.0)
    ...


【追記】2010-11-15 22:26
原因わかりました。octaveが古いライブラリのコピーを持ってて、そちらを先に参照させているようです。

$ otool -L /Applications/Octave.app/Contents/Resources/lib/libfreetype.6.dylib
    /tmp/deps-i386/lib/libfreetype.6.dylib (compatibility version 10.0.0, current version 10.18.0)
    ...

対策としては、octaveのソースを取得して再ビルドすべきかな。


私は/Applications/Gnuplot.app/Contents/Resources/bin/gnuplotを編集して次の一行を36行目辺りに追加しました。一応問題なく動いています。

DYLD_LIBRARY_PATH=$(echo $DYLD_LIBRARY_PATH | awk '{gsub(/[^:]*\/Octave\.app\/[^:]*:/,"");print}')


調べてみると、最近のMacOS Xのアップデート(v10.6.4 → v10.6.5)から出始めた問題らしいです。知らんけど。


システムのライブラリを置き換えるのは躊躇われるので、これはあきらめます。

VirtualBox on MacUbuntuoctaveをインストールする

次にMac上でVirtualBoxVMWareみたいなもの)を動かし、そのうえでUbuntuを動かし、Ubuntuoctaveをインストールすることにしました。一応Mac上でoctaveが使うことになります。(^_^)

からVirtualBox仮想マシンイメージをダウンロードし、仮想マシンイメージをzip解凍してからVirtualBoxに登録します。


あとはUbuntu上で

$ sudo apt-get install octave
$ sudo apt-get install gnuplot-x11

とし、インストール完了。



意外に苦労しましたが、何とかoctaveiMac上で使うことができました。

近くの小学校のバザーにいってきたー

子供をつれて近所の小学校でやってるバザーにいっていました。食べ物もあるらしいので、お昼前にお腹をすかせて、準備万端。


いってみると...おぉ!おでんや焼き鳥や駄菓子やら売っています。意外と本格的。んで、いざ買おうとすると、前売りチケットと交換みたい。あれっ?

小学校のPTAがやる催しです。売れ残ると困るので、前売りでわかった量しか材料を買えませんよね。事情は察します。ただお腹をすかせた(私を含む)家族が...。


家族を鼓舞しつつ、昨日いった熊本県立大学の学祭にいくことに。


大学でからあげと焼きそばを食べて落ち着きました。おいしぃ、おいしぃ。(^-^)
ステージではお笑いトリオ「ななめ45°」のライブがはじまりましたが、子供の都合で見ずに帰りました。残念。

近くの大学の学祭にいってきたー

近所にある熊本県立大学の学祭に子供を連れて遊びにいきました。ここは元女子大だったそうで、今でも女性の多い学校です。一見してまじめな学生が多くていい大学です。



中に入ると、カラAgeと称してカラオケ?をやっていましたが、お昼でお腹が空いてたので、食べ物中心にまわりました。


  フライドポテト、からあげ、ホットケーキ、...


子供の好き嫌いが多いので、どうしても子供中心のチョイスになります。本当は食べたかったけど食べ損ねたもの、


  お好み焼き、サツマイモのコロッケ、豚汁、...


他に、セカイカメラ(AR)の催し物に興味があったのですが、小さい子を連れていくと迷惑がかかりそうなので断念しました。



引っ越して6年、他の用事と重ならないかぎりこの学祭に来てます。悲しいこと、嬉しいこと、いろいろな思い出とリンクしてて、時の流れを感じるイベントです。

七五三でしたー

昨日(12日)、うちは七五三でした。朝から写真撮影とお宮参りと親戚まわりの超ハードスケジュール。疲れたー。


うちの子は大変な状態で生まれました。産室からすごい勢いで治療室に運ばれ、妻も私も生まれた直後の子供を見ていません。「あなたが居てもしょうがないから」と家に帰された夜、泣きながら一人でビールで誕生を祝いました。「もしかしたら明日死んじゃうかもしれない。たった一日の人生になるかも知れないけど、俺が祝ってあげなきゃ誰も祝ってくれない」と考えてました。

幸いにも、子供は持ち直して10日くらいで退院。その後は今まで病気らしい病気もしない丈夫な子です。


いま君が無事であることがすごくうれしい。これからも君が無事であることを心から祈ります。

浮動小数点数演算はむずかしくない

 固定小数点数演算と聞くと拒絶反応を示す人もいるけど、計算の考え方自体は簡単で、皆さんも小さい頃から知恵として持っていると思います。

 0.6+0.7+0.2を計算する時、まず6+7+2を計算して、結果の15の小数点の位置をずらして1.5という答えを導きますよね。ほぼこれのことです。


 この例でいうと

  • 0.6を6としたり15を1.5とする小数点位置の調整(スケーリング)は、コンピュータではなく人間がやる。
  • コンピュータはあくまで6+7+15を計算する。

というのが、固定小数点数演算の考え方です。これを掛け算(乗算)にも拡大すると、もう固定小数点数演算のできあがりです。*1


 何でこんなことをするかというと、

  • コンピュータは浮動小数点数の計算より、整数の計算の方が得意=高速に行える。
  • 最近のCPU(マイクロプロセッサやDSP)はハードウェアがSIMD(複数の整数の足し算や掛け算を一命令で行える)命令を備えていることが多く、さらに計算を高速に行える。

という処理速度上の要求です。


 みなさん、PCや携帯やスマートフォンで、写真=静止画やビデオ=動画や音楽/音声を扱いますよね。こういう機能はたくさんの実数演算を行うので、固定小数点数演算を使って高速に処理しないと、コマ落ちしたりして使い勝手が悪くなるのです。


 さて、固定小数点数演算の基本的な考え方は簡単ですが、次のことには少しテクニックが要ります。

  • 演算精度を保つ。コンピュータの整数は表現できる数の範囲が狭いので、必要な演算精度を確保するために工夫が必要です。
  • 小数点の位置を明確にする。先程も言いましたが、小数点は人間=プログラマの頭の中にのみ存在します。その小数点がどこに存在するか(Qフォーマット)は文書やコメントの形で残しておかないと、苦労します。
  • CPUのアーキテクチャを理解する。CPUのレジスタ構成や命令を熟知すると、さらなる高速化が可能なことが多いです。


以上です。

*1:引き算は負数の足し算に、割り算は逆数の掛け算として考えることができます。

Apple製品がブレない理由

 自分のライフスタイルで生活のシーンを便利に格好よく過ごしたい。衣食住が足りたら、そんな欲求を持ちます。スティーブ・ジョブズは、Appleは、そんな人々の欲求をうまく満足させる製品を提供している。私はそう思っています。


 以下は私が考えた生活シーンとApple製品の対応です。もちろんこれが唯一の正解だとは言いません。私の生活シーンに欲しくなるApple製品が存在する、ということが分かってもらえれば十分です。

  • 街へ手ぶらで出かけたい。 → iPod shuffle
  • ウォーキング、ジョギングへ手ぶらで出かけたい。 → iPod nano
  • 音楽が好きだからいつも全てを持ち歩きたい。 → iPod classic
  • リビングで家族一緒に楽しみたい。 → AppleTV
  • くつろぎの時間、クリエイティブな時間をアシストする。 → iPad
  • インターネットを、カメラを、電話を、コンピューティングを手軽に持ち歩きたい。 → iPhone
  • 本格的なコンピューティングを持ち歩きたい。 → MacBook Air
  • がっちりとコンピュータを使いたい。 → その他のMac


 こう考えると、Appleが次に狙うのはあのシーンではないか、と何となく予想がつきます。が、そんな的中するかどうか分からない話は止めておきます。


 で、まとめると

 その製品で演出したい生活シーンを決めていれば、機能選択やプロモーションでブレなくなり、その結果として分かりやすく売りやすい製品になる。(んだと思う)

というのが今回言いたかったことです。


                              以上です。