Backnumber

June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
September, 2005
August, 2005
July, 2005
June, 2005
May, 2005
April, 2005
March, 2005
Feburary, 2005
January, 2005
December, 2004
November, 2004
October, 2004
September, 2004
Augsut, 2004
July, 2004
June, 2004
May, 2004
April, 2004
March, 2004
February, 2004
January, 2004
December, 2003
November, 2003
October, 2003
September, 2003
August, 2003

- HMDT archive-
August, 2003

August 31

改装してからリンク切れ多数だった Cocoa 1001 だけど、気合いを入れて全部見直したぜ。これでリンク切れ全部なおっているはず、たぶん。掲示板で指摘してくれた方々、ありがとうございました、およびご迷惑をおかけしました。

我が家の信用ならないネットワークは、原因は分からないけど状況は分かってきた。

ネットワークは、AirPort Extreme Base Station を、802.11b + g の混成で使っている。802.11b からの通信は、ほとんど問題ない。だけど、802.11g が問題ある。いちおうつながるんだけど、一定時間放っておくとつながらなくなってしまうんだ。そして、g の方がつながらない、たとえば Safari の読み込みがつながらない、状態で、b の機器からアクセスすると(これは問題なくつながる)、g の方もつながるのだ。

g が「つながらないよー、つながらないよー」といっているときに、b で「つんつん」とつついてやると一気につながる、という感じ。どうもソフトウェアの問題っぽいよなー。この間、Base Station のファームウェアをアップデートしたけど、関係あるのか?

この間書いた Oxygen だけど、再起動とリスタートを繰り返したら、とりあえず実用に耐える速度で動いた。iMac G4 1GHz で。どうやらコツは、外観のテーマを Mac OS X にしないことのよう。Metal でならどうにか使える。

とりあえず動くけど、落ちまくるし、動作しない機能が多すぎる。とてもじゃないけど常用できない。このレベルで Mac OS X 対応をうたうってのは、いい度胸だ。いまのところ、基本はテキストエディタ+コンソールでやって、楽をしたいときだけ Oxygen を使う、って感じです。

August 28

ネットワーク絶不調。AirPort Extreme と iMac の間で、つながったりつながらなかったりする。他の Mac はつながっているから、iMac のせいだろうか?でも、iMac だけが 802.11g を使っているんだよな(他は b)。これも怪しいような。どうしたもんかね。ときどきつながる、というのが抜本的な解決(買い換え)に踏み切らせないで、いやらしい。掲示板にときどきアクセスできないのは、このせいです。

XML エディタとして、Oxygen を購入してみた。Oxygen は、Java で書かれた XML エディタ。そこそこ評価は高い。Java なので Mac OS X にも対応している。早速使ってみよう!

、、、遅っ!なんじゃこりゃ!テキスト編集が異常なほど遅い。これだけ遅いと、なんかノスタルジーを感じる。たとえるなら、68K Mac + 28.8 Kbps モデムで、リモートの Mac を Timbkutu で操作してテキスト入力をしているような感じ。つまり、犯罪的に使い物にならないわけね。なんか設定がおかしいのか?まぁ、Oxygen は Windows 上で使うつもりで買ったからいいんだけど。

August 27

CNET に Mac OS X 版 OpenOffice の開発に遅れっていう記事が出てたけど。つまり、OpenOffice 1.x の Mac 版は出さない、っていう話だな。2.0 から出すけども、それも Windows と Linux が終わった後で。普通は同時に開発を進めるものだろうけど、開発リソースが圧倒的に不足しているのでしょう。

個人的には OpenOffice にはまったく興味がないけれど、オフィス・スイート・ソフトウェアは確実に必要だ。その意味では itoya_laboratory*net_news の 08.27 に賛成。でも欲しいのは、OpenOffice や MS Office のような、旧態依然としたソウトウェアではない。

じゃあどんなの?と聞かれると、答えは難しい。難しいなりに考えてみた。

  • すべてのデータを、あらゆる箇所で再利用できる。作られたデータは XML 形式でデータベースに格納されて、紙、PDF、ネットワークで利用できる。
  • 高度な自動化処理。すべての操作をすべての言語、AppleScirpt や VisualBasic だけではなく、Perl、Python、Ruby に解放する。さらに、グラフィカルに自動化できる新言語も必要。
  • もちろん、ユーザインタフェースも重要。使いこんでいく度に不満を感じる MS Office のような UI ではなくて、もっと洗練されたものを。

うーんと、つまり、なにかこう、エポックメイキング的な爆弾が必要。オフィスの世界だけ、コンピュータの発展から取り残されているような印象がある。ここが変われば、また面白くなる。

August 26

しつこく、XSLT ネタ。

Web を漁っていたら、以下の記述をみつけて、はっとする。

XSLT は Lisp や Haskell のような関数型プログラミング・スタイルであり、C のような命令型言語とは異なります。したがって、XSLT には変数の代入がありません -- 初期化のみです。
(developerWorks: XSLT を使った改行)

なるほど。関数型だったわけね。これですべて理解できた!(大げさ)

August 25

きょうも引き続き、XML と XSLT で格闘中。

XSLT は使っていると、「おぉっ、これは使いやすくて楽だ!」と「げげっ、なんて使いにくいんだ」の間を行ったり来たりしてしまう。これは XSLT を、変換規則記述言語としてとらえるか、アルゴリズム記述言語(つまり普通の意味でのプログラミング言語)として使うかで、印象が変わるんだな、きっと。

ああでもない、こうでもない、といいながら使ってみると、けっこういろんなことが記述できるんだということが分かった。ま、if と for さえあれば、すべてのアルゴリズムは記述できるわけだし。使い込んでいくと、デバッガが欲しくなるなー。XSLT を一行ずつ実行して、カレントノードの値をのぞけるやつ。無いのかな、そういうやつ?

August 24

ちょいと、トップの模様替え。どんどんシンプルになっていくような気が。

いま、サイトの中身をすべて XML + XSLT で更新できるように移行中。過去の遺産を引き継ぐのは大変だ。でも、これが完了すればワン・クリックで更新ができるようになるはず。Weblog なんかに負けないぞ、と。

August 23

旅行から戻ってきました。あー、疲れた。Las Vegas いってきました。ホテルでごろごろして、カジノにいっぱい貯金してきました。つまり、負けたってことね。散財旅行だったなー。

August 18

業務連絡です。

ちょっと、夏休みを取って旅行してくるので、連絡が取れなくなります。金曜ぐらいに帰ってきます。んでは。

August 17

掲示板、復活しました。なんか、AirPort いきなり、ふっ、と使えなくなって、10 時間後ぐらいにまた、ふっ、と復活しました。だいじょーぶなのかな、これ?またいきなり使えなくなるかも。ちょっと、どきどき。

August 16

どうも、うちの AirPort がお亡くなりになったようだ。ということで、しばらく掲示板にアクセスできません。ご迷惑かけます。

どうしようかなー。修理に出さんと。それとも、買い替えた方が安いのかも。

August 14

Apple から Security Update 2003-08-14 が配付されているそうな。早速あててみると、

「fb_realpath() 」の機能の潜在的な弱点(ローカルやリモートのユーザがシステムに対する root 権限を未認証で得るおそれがありました)が解決します。

とのこと。ふーむ、fb_realpath() って何?

検索すると、がんがん見つかる。たとえば、ここ。これによると、fb_realpath() ってのは、wu-ftpd の関数。wu-ftpd ってのは FTP デーモンの一種。で、この中で off-by-one バグが起きていて、バッファがオーバーフローする、と。これが発見されたのが 7/31。

その記事の続報が、ここ。ここでは、BSD 系の C ライブラリ関数 realpath() に、同等の問題があるとのこと。この記事は 8/7。

Mac OS X での Security Update は、fb_realpath() を修正っていっているけど、realpath() には問題ないのか?いちおう BSD 系なのに。第一報が 7/31 で、アップデートの配布が 8/14 って、遅くないかい Apple?

では、off-by-one バグとは?これは日本語に直すと「1 つ違い」のバグ。このバグで有名なのは、C 文字列をコピーするときに、最後の NULL が抜けてしまう、ってやつ。今回の件は、ここに説明がある。ようは、バッファのサイズが MAXPATHLEN で、MAXPATHLEN + 1 の文字列が来たときにオーバーフローしてしまう。スタック上でバッファオーバーフローが起こると、任意のプログラムを実行できてしまうので、root が乗っ取られてしまう、ということか。

追記:掲示板での突っこみによると、更新されたのは /usr/libexec/xftpd と、/usr/lib/libSystem.B.dylib。それぞれ realpath() は含むけど、fb_realpath() は含まない。つーか、OS X では fb_realpath() を使っていないようだ。というわけで、アップデートのメッセージはちょっとおかしいんじゃないの?yakk さん、Thanks!

でももちろん、それとは関係なくアップデートはかけましょう。

August 13

はじめてのブラウザのつくり方、きのう PDF 版を公開したので、それに合わせて Web 版も内容を少し変えたぜ。最初のサンプルは、ほんとに 1 行もソースコードを書かないでブラウザを作れるようにした。

August 12

えー、お久しぶり。

ちょっと、過去のコンテンツの整理をやってみることにしたよ。内容が古くなったり、HTML がガタガタだったり、読みにくかったりしたのを書き直すぜ。

手始めに、はじめてのブラウザのつくり方の PDF 版を作ってみた。これで、プリントアウトして使えるよ。

しかしドキュメントというのは、書き散らすときよりも、保守する方が大変だね。

はじめてのブラウザのつくり方:PDF 版
MyFirstBrowser.pdf

iCab の 2.9.5 がリリースされたそうで。

いままで iCab って特に興味はなかったんだけど、スラッシュドットによると

「iCab開発チームは、とても小さく、1 〜 1.5人で、開発/eメールサポートその他すべてを行なっています。」

おぉっ!かっこいいっ!そうだよな、プログラミングなんて、少人数チームの方がずぅっといいって。ちょっとほれた。

mkino の持論は、「プログラミングは 1 人がベスト、2 人がベター、それ以上は失敗する」。もちろん、会社の中ではこれはできないけどね。だから、会社でのプロジェクトはすべて失敗する。

August 7

HMDT の本ではサンプルソースコードを配付しているんだけど、ビルドするときに環境によっては大量の警告文が出てしまうんだ。その対処法をまとめてみた。こちらからどうぞ。

いろいろ調査していただいた、辰巳さんありがとうございました。

August 5

ちょいと思うところがあって、Fink と X11 を試してみた。

いままで X11 試したことがなかったんだよね。理由は、美しくないから。X のウィンドウが Aqua といっしょにならんでいるのが、耐えれられん!と、思っていたのでした。

で、動かしてみたら、おぅ、ちゃんと動くじゃん。速くはないけど、遅くもない。使い物になるなぁ。比べる対象としては変だけど、Java ベースの GUI アプリケーションよりも、よっぽど使える。これからは、積極的に使おうっと。

うまくダウンロードできなかった、BNN 新社のサイトにある HMDT の本のサンプルですが、対応をしていただき落とせるようになりました。ご迷惑をおかけしました。

August 2

HMDT の本サンプルソースコードを、うちのサイトからもダウンロードできるようにしました。

ちょっと、出版社の方のサーバにトラブルがあるようで、うまくダウンロードできないことがあるかもしれません。そのときは、こちらから落として下さい。申し訳ありませんが、お願いします。

ソースコードは、すでに本を買われた方も、これから買う予定の方も、もちろん別に買う気のない方も、お気軽にどうぞ。

August 1

HMDT の本の正誤表を作りました。致命的ではないものの、脱力して笑ってしまうものが多数ありました。買っていただいた人には、申し訳ないです。

つーかね、タイトルから間違っているし。「Object-C」じゃなくて、「Objective-C」だっつーの。あぅぅ。言い訳の言葉もありません。


[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp