スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ウェブ進化論 

ウェブ進化論 本当の大変化はこれから始まる
梅田 望夫
4480062858

力作です。熱量があります。つまり、ガンガン読めます。

 

熱量のある本というのは何らかの感情に訴えかけてくるので途中で読むのを諦めさせません。こういう本はやっぱり売れますよね。で、 お前の言っている熱量ってなんだってことになりますが、それが何なのかうまく言えないので熱量といっているわけです。

 

まあ、量ってくらいなので一般的なジャンルで熱量のある順番に並べてみると、(1)マンガ (2)小説 (3)新書 (4)教科書のような順番になるのでしょう。 ウェブ進化論の稀有なところは新書でありながら出来の悪い小説に比べればはるかに熱量が高いということです。国家の品格も結構、 熱量の高い本でしたがやはりこちらの方が上でしょう。

 

熱量の高さゆえ、 あおられ気味になるのですがマスメディアで時折見られる露骨なあおりとは違ってギリギリっぽいところで止めているあたりはさすがはアルファブロガーですね。 見習いたいものです。ただ、先ほどのマンガから教科書の順番というのは逆さから見た場合、理解しないと次に進みにくい順番でもあります。 今回は自覚できるほど短時間で読み終わりましたがはたして著者が言いたかったことをどの程度理解できているか自身はありません。

 

個人的に一番刺激を受けたのは羽生善治氏のITが取り巻く環境に対する捉え方でした。短い章でしたが、 グーグルよりインパクトがありました。

 


スポンサーサイト

大使閣下の料理人 

大使閣下の料理人 (1)
西村 ミツル かわすみ ひろし
4063286312

週刊モーニングで連載されていた大使閣下の料理人が終了しました。大好きなマンガが終わるのはやっぱり寂しいものです。

私は料理マンガ(グルメマンガというのかな)は大好きか一切読まないかの両極端なのですが大使閣下の料理人は必ず読む数少ない料理マンガでした。 個人的には料理マンガというよりは外交の世界を料理を通して見た人間ドラマと解釈しています。みどりのろうごくNでは以下のように書かれています。

本当に地道に正面から問題を受け止めて、掘り下げて理解して、そして誰もが幸せになれるような解決策を示して行く。 それが全く押しつけがましくもご都合主義にも見えないのがこの漫画のレアなところで。

まさにその通り。私がこのマンガが好きな理由はまさにこれです。 このあたりはスタートレックと共通する部分があると思います。 あるべき姿と現実的な制約の中でどのような解決策を見出していくかというのは実はまるっきりソフトウェア設計という仕事と同じなわけでして、 このあたりが私が興味を惹かれる理由なのかもしれません。

Wikipediaの大使閣下の料理人
平成14年度文化庁メディア芸術祭優秀賞


TiddlyWiki 2.0.8 へアップデートした 

2.0.8が出たというのでアップデートしてみました。


まずは今使用しているmymemo.htmを忘れずにバックアップ。
(悪いことはいいません、必ずバックアップしたほうが良いです)
mymemo.htmをブラウザで開いたまま、別のウインドウ等でTiddlyWikiのサイトへ行き、 DownloadSoftwareからempty.htmlを右クリックから名前を付けて保存。 その際に保存先はブラウザで開いているmymemo.htmへ上書きする。


ブラウザで開いていたmymemo.htmでsave changesをクリック。(ここがポイント)
保存されたらmymemo.htmをリロード。右クリックでソースを表示させて2.0.8にアップデートされているのが確認できます。


レジスタへのアクセス表現 

組込みやドライバ関連のコードを書いている人ならば避けて通れないのがレジスタアクセスです。 いくつか都合の良い妄想が入り込んでいますがレジスタへのアクセスする際のコードの書き方を並べてみました。

 

アドレス0x43210000にFIFO_STATUSという32bitレジスタが割り当てられていてbit0はFIFOがEmptyであるかどうかを示すビットであったとします。

if ((*(volatile unsigned long *)0x43210000) & 1) != 0) {

}


さすがにこのように(業務で)書いている人はいないかと思います。チェックアウトしたコードに上記のような書き方がされていたら、 がっかりする人がほとんどではないでしょうか。

#define REG_FIFO_STATUS 0x43210000
if ((*(volatile unsigned long *)REG_FIFO_STATUS) & 1) != 0) {

}


こうなってくると普通っぽく見えてきます。 FIFO_STATUSというレジスタが複数個所で使用されることを考慮するのとEmptyビットに対する処理であることを明確にするために

#define REG_FIFO_STATUS ((volatile unsigned long *)0x43210000)
#define FIFO_STATUS_EMPTY 0x00000001
if ((*REG_FIFO_STATUS & FIFO_STATUS_EMPTY) != 0) {

}


こうなってくるとどこでも見かけるコードです。ただこの場合、

#define REG_FIFO_STATUS ((volatile unsigned long *)0x43210000)
#define FIFO_STATUS_EMPTY 0x00000001

// FIFOがEmptyの場合
if ((*REG_FIFO_STATUS & FIFO_STATUS_EMPTY) != 0) {

}


のようにコメントを付けておかないとレジスタ仕様書の内容を知らなければEmptyでない場合の処理なのかそうでないのかがわかりにくくなります。 そこでこういうこういう書き方も考えられます。

typedef volatile union {
    unsigned long value;
    struct reg_fifo_status_field {
        unsigned long empty:1;
        unsigned long oe:1; // overflow error flag
        …
    } b;
} reg_fifo_status_type;
#define FIFO_STATUS_NOT_EMPTY 0
#define FIFO_STATUS_EMPTY 1
#define FIFO_STATUS_OVERFLOW 1

#define REG_FIFO_STATUS ((reg_fifo_status_type *)0x43210000)
if (REG_FIFO_STATUS->b.empty == FIFO_STATUS_EMPTY)

}


これならばコメントを書かなくてもどちらの場合の処理かわかります。 ビットフィールドを使用することに対する是非はとりあえずここでは考えていません。 相手がハードウェアですからリードすると消えてしまうビットや同時に複数のビットに書き込まなければならないビットがあったりします。 処理速度やコードサイズの制限さえ許せば

#define FIFO_STAUTS_SET_EMPTY 1
#define FIFO_STATUS_CLR_OVERFLOW 1

reg_fifo_status_type reg_status;

reg_status = REG_FIFO_STATUS->value;
reg_status.b.empty = FIFO_STATUS_SET_EMPTY;
reg_status.b.oe = FIFO_STATUS_CLR_OVERFLOW;
REG_FIFO_STATUS->value = reg_status.value;


と書くことで実現できます。


どのような表現を使用するかはケースバイケースで選択すべきだと思いますが、 多くの表現方法を覚えておくことは損することにはならないでしょう。


国家の品格 

国家の品格
藤原 正彦
4106101416

遅ればせながら国家の品格を読みました。いろんな意味でおもしろい本でした。

 

第三章あたりまではなんというか、2ちゃんねるでスレがのびる内容ですね。 十分考慮するに値するのに詰めが甘いために余計な突っ込みを許してしまっているような感じです。話の展開も、「お、ひょっとしてこれは…」 と思っていたら、「やっぱり、ゲーテル、キターッ!」などと、おそらく著者が望んでいないであろう楽しみ方ができました。

 

第四章あたりからが著者が本当に言いたかったことがかかれているのではないかと思います。こうこうだからこうである、 という話で結論の部分に来ると思わず、「ちょっと待ってくれ。」といわざるを得ない部分が多々ありますが、 理由として挙げられている事例はとても面白いものがあります。

 

天才を輩出する土壌として精神性を尊ぶこと、美の存在などが大切であると言っています。 それを導く事例としてインドのラマヌジャンという数学者の生まれ故郷まで訪ね、そこには美しさが存在すると言っています。 インドという国から当然、その宗教にも触れることで精神性も重視しています。こうのようにして著者が言いたいことを展開していくのですが、 数学的な発見に対して岡潔氏の「西洋人はインスピレーション型、日本人は情緒型」という言葉を引用しています。 これは数学の歴史にもくわしいであろう著者がおそらくハンガリーあたりの厳しい政治情勢の中でも立派な数学者がいたことを当然知っているがために存在を無視できない数学者の無垢さ加減なのでしょう。 著者の人となりが垣間見えるという意味でもおもしろい本だと思います。これもまた著者が望んでいない楽しみ方でしょうけども。


VMWareを使った配布方法 

deskzillaのサイト内にBugzillaがインストールされたVMwarePlayerのイメージがダウンロードできるページがあります。 これを知った時になるほどなぁ、と感心してしまいました。


いまどきのLAMPな環境でのサービスは知れ渡ってきたとはいえ、セッティングはやはり敷居が高いと思います。XAMPPという手もあるのでしょうが、 目的のWebService自体は自分でインストールしなければなりません。 その点VMWareのイメージであればインストール作業が全く必要ないのがいいですね。 WMWarePlayerがFreeになったことで配布方法の可能性が広がりました。この展開は全く思いつきませんでした。

ところでdeskzillaよりもFree Virtual Bugzilla Serverの方がほしいと思うのは私だけでしょうか?(笑)

 


微妙に気になるメディアの振る舞い 

入力デバイスだとキーボード、マウス、ゲーム用コントローラ。 ソフトとの組み合わせでどれでも文字が打てるしポインティングデバイスにもなるし、ゲームにも使える。 それでも共存しているのはやっぱり向いている使い方があるから。

 

テレビやラジオ(キー局、地方局)、新聞にインターネット、報道だけ考えてみてもどれでもどれでもできる。 どれでもできるとなんでもできなきゃいけないような考え方が微妙に気になる。新聞はどうがんばっても動画は扱えないし、 テレビは録画してなければ(してても)もう一度さっきの場面を確認するのが大変。もちろん、映像の持つ情報量や、 再確認による正しい理解への努力は重要。 でもそれは幹となる部分を補完するのに重要なのであって補完すべき幹がなくなればその存在価値はなくなってしまう。

 

ラジオで空耳アワーはできません。ラジオではDJが葉書を読んだ瞬間にピークが訪れるような企画が重要視されるべきでしょう。 メディアの棲み分けとは完全な分離ではなく、突出している部分の明確化だと思います。

 


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。