フィンローダのあっぱれご意見番

第56回:消耗品

初出: C MAGAZINE 1996年12月号
Updated: 1997-01-01

[1つ前] [1つ後] [一覧] [ホームページ]


Q&Aのコーナーは唐突に連載終了してしまったが、E-Mailからのお頼りでの質問 は受付けている。ただ、E-Mailの質問内容にシステムに依存した難問が多くてな かなか難しい。本格的に回答するには、やはり有名どころのC++コンパイラや開発 環境を揃える必要があるのだろうか。ただ、私の場合、Q&Aでメシを食っているわ けでもないので、なかなか手が出しにくい感じもある。こういう時は逆にFCなど で質問してしまって、それを参考に回答するという超裏技を使うこともある。

最終回にチョンボをしてしまった。リスト中に次のようなコードが出てくる。

11: if (i >= 0 && i <= 3) {

 これは「if (i >=0 && i <= 3) {」が正しいコードである。HTMLでは「>」「<」 「&」「"」という文字はそのままでは使えないので「&gt;」「&lt;」「&amp;」 「&quot;」に置き換えるのだが、WWWで受けた質問の回答を本誌にコピーする時に、 html2txtというフィルタをかけずにそのままコピーしてしまったらしい。

*

 E-Mailで、signed intとunsigned intはどう使い分けるのか、という質問があ った。これはまた希に見るナイスな質問だと思った。もちろん、符号が必要な計 算にsignedを使うのは当然として、例えばカウンタ。forのループでよくあるのは Listのようなコードである。

for (i = 0; i < 100; i++) 文

 このiはsigned intにするべきか、あるいはunsigned intにするべきか。iの値 に符号が必要がないことは前提とする。多分、このコードを100人のプログラマー に書かせるならば、99人までがiを単にint、すなわちsignedとしたコードを書く だろう。では、unsignedにしてはいけないのか。別に構わない。では、なぜそう しないのか。unsignedなんて長い綴をタイプするのは面倒だから、単にintの方が 楽じゃん、と言われそうじゃん。という位しか理由が思い付かないのだが…。ま、 それは説得力がある。

 どちらかというと、デフォルトはint。何か特別な理由がある時だけunsigned、 というような使い分けを無意識にしているような気がする。


 この原稿はThinkPAD 230Csというマシンで書いている。J3100を使っている時も、 電源アダプタと本体を接続するプラグの所の断線に悩まされたものだが、このマ シンも同じトラブルが発生してしまった。使っているとやたらピロピロと音がす るので妙だと思っていたのが、結局、電源アダプタ新品と交換したら問題解決し たので、プラグの根元の所の断線であることが判明したのである。TP230Csは主電 源が外部電源から内部バッテリーで切り替わるとスピーカーからピロッという音 がするので、ピロピロという音はそれが頻繁に発生するという状況である。プラ グ付近の接触不良というのは、少しの振動で外部電源が供給されたりされなかっ たり、という状態変化が起きる。この時に音が出るのだ。

 まだTP230Cs自体は保証期間内なので、この機械を買ったT-Zoneに持っていった。 ところが、電源アダプタは消耗品扱いなので修理できないというのである。経験 的に、これは別に不自然ではない応対である。J-3100と同じだからだ。故障個所 はプラグの断線と分かっている。プラグだけを交換すればよいのだ。ところが、 電源アダプタを買い直すと8,000円もするのである。プラグだけを交換できないか と尋ねると、できないと言われた。部品だけを取り寄せてもらえれば自分で交換 してもいいのである。CPUを交換できるような神業は持っていないが、短波ラジオ を作った程度の経験はあるので、はんだ付け位ならなんとかなると思うのだ。と ころが、それもできないというのである。部品のバラ売りはしていないというの だ。自分の責任で勝手に部品を調達して修理するか、さもなければ8,000円出して 電源アダプタを買ってくれというのである。

 確かに、修理・交換には人件費がかかる場合も多い。特に、パソコンの修理の 場合は、故障個所の特定が困難だったりすると、調査に数時間かかったりする場 合もあるだろう。人件費を考えると、それだけで8,000円以上かかるかもしれない。 8,000円の電源アダプタの修理の人件費に8,000円以上かけるのはコストの観点か ら考えると馬鹿げた話だ。しかし、資源という観点からは非合理的な面もある。 プラグ付近の断線以外の部品はおそらく全く正常なのである。断線個所が一つあ るだけで、全部品を捨てて買い直すというようなことが、はたして正常な感覚な のだろうか。最近のpcは省電力機能が普及して、エネルギー、資源の節約もやか ましいようだが、その実態がこんなものでは何かおかしい。

 一つ指摘したいのは、この故障があらかじめ予期されているということだ。つ まり、応対した人の話によれば、この主の故障は「よくあります」というのであ る。私の経験でも、このようなケースは何度か見ているので、希だということは まずなさそうである。ということは、メーカーも電源アダプタのプラグ個所が故 障しやすい、ということは分かっているはずだ。私の場合はまだ1年も使っていな いうちに故障したわけだし、それも、J3100の時の経験があるので、断線しないよ うに気を付けて使っていたつもりでそうなのである。全く断線しないケーブルが 発明できれば素晴らしいが、現状としてはコードの可動個所が断線するのは避け られないということだろう。ならば、その個所だけを簡単に交換できるように設 計するのが基本ではないだろうか。例えば、本体接続側だけでなく、ACアダプタ 側もコネクタで接続するようにして、断線時にコードだけ交換可能にすれば、全 く故障していない殆どの部品はそのまま流用できるのである。製造コストや手間 は少し増えるかもしれない。しかし、ユーザーにとってもメーカーにとってもの 本当の利益とは何なのかを考えてみれば、自ずからそのような発想は出てこない とおかしい。壊れやすい個所は簡単に交換できるように設計する。ただそれだけ のことだ。日本IBMの担当者のご一考を期待する。このコラムを読んでいるかどう か知らないが…。そのうちWWWとかFPROGにも出ていくので、誰かの目に入ってく れることを祈ろう。

 さて、どうしようもないから結局ACアダプタを購入した。数日外出する用があ ったので、TP230Csを安心して使いたかったのである。秋葉原からそのまま中央線 に乗って遠出して、新品のACアダプタを使おうとしたら電源が入らない。

 型版が違うのである。どうもTP530とか、そのあたりのACアダプタらしい。その 後交換しに行った時に分かったのだが、TP230Cs用電源アダプタ、という所に間違 って積んであったのである。電車の時間が迫っていたのであわてて買ったのがま ずかった。普通、TP230Cs用電源アダプタ、と書いたラベルの所に積んであれば、 それ用のアダプタだと思うものである。幸い、外出先では爆弾持ちのアダプタを だましながら何とか使うことができた。

 とりあえず秋葉原に再び出かけて状況を説明したら、交換してもらうことがで きて、助かった。店にはまだ買った時と同じ状態で陳列されていたので、他にハ マった人はいなかったということか。

 とにかくACアダプタを交換してTP230Csも安定して使えるようになった。これで 話が終わるはずだったが、実はこの後が面白いのである。このACアダプタの箱を 空けると1年間の保証書が入っていたのだ。ふむ、最近の消耗品は1年間の保証ア リか。ということは、断線しても1年以内なら修理してもらえるのかな…というこ とは、本体附属の場合は消耗品で、パーツで別途購入したら消耗しなくなるとか?


 とか言っているうちに、今度はカードモデムがおかしい。TDKのDF2814というV .34モデムである。このカードモデムから外部に接続するためのケーブルを付ける 所である。どうもコネクタの接触不良らしい。接続中にいきなりNO CARRIERにな るので変だと思っていたら、まさに断線という所か。オートパイロットだとあま り症状が発生していないのは、本体に触らないためだろう。

 困ったことにケーブル側が問題なのかカード側が問題なのかよく分からない。 もしケーブル側の問題なら、ケーブル交換だけで済むかもしれない。いずれにし ても、モデムを修理するとすれば、モデムとケーブルを一時手放さなければいけ ない。これは結構痛い。予備のモデムとして14.4kbpsのものを持っているが、 28.8kbpsのモデムを使うと、NIFTY-Serveだと、ROAD5で接続した時に3KB/秒以上の 値が出ている。14.4kbpsでこの速度は出ないような気がするし、RIMNETとppp接続 している時はもっと速いこともあるので、ちょっと困ったな、という感じである。


(C) 1996 Phinloda, All rights reserved
無断でこのページへのリンクを貼ることを承諾します。問い合わせは不要です。
内容は予告なく変更することがあります。