マイコン

ハッカー辞典 第1版 【B】

■BCL (びーしーえる)

 Broadcasting Listening / Listener の略

 1970年代にブームになった世界各国の放送を聞く行為や人のこと。
欧米では「SWL」 (Shortwave Listening / Listener) や、「DXing」と呼ばれていた。日本での「SWL」は、主に趣味としてアマチュア無線の交信や業務局の通信を受信する人やその行為のことを呼んでいた。
受信を確認できる放送番組内容の概略とその感想などを受信報告書としてその放送局に送ると、受信したことを証明する受信確認証(ベリカード)が発行される。これを収集することも楽しみのひとつであり、特に受信が困難なものほど自慢の種になった。
このブームの火付け役のひとつはアマチュア無線(HAM)のブームの到来で、国際電話が高かった時代に海外と気軽に更新できる手段として流行したわけだが、初級アマチュア無線技師免許という国家試験の取得が壁となり(法務や従事に関する記憶問題以外に真空管をベースとする電子工学系の知識も必要とした)免許のいらないBCLに人気が特に集中した。
またもうひとつは各メーカから高性能な受信機(短波ラジオ)が発売されたことがあげられる。
SONYのスカイセンサーや松下のクーガーシリーズが有名で、単体でもかなり高性能であったが、当時ハッカー予備軍であった中、高校生たちはこぞってこのラジオに改造を施したものである。特に当時から電子工学に興味を持っていた彼らの中にはアマチュア無線の免許も取得しBCLも楽しんでいた。そして、難航不落と言われていた南アメリカやアフリカ地域の放送局をターゲットにしたものである。そのためには屋外に15~20mものアンテナを張り、ラジオを改造して外部アンテナを取り付けられるようにしたり、弱小電波を増幅するためにブースターを自作して組み込んだりしたものである。

■Bluetooth (ぶるーとぅーす)

 携帯情報機器などで数m程度の機器間接続に使われる短距離無線通信技術の一つ。
 Ericsson社、IBM社、Intel社、Nokia社、東芝の5社が中心となって提唱し、ノートパソコンやPDA、携帯電話などをケーブルを使わずに音声やデータをやりとりすることができる。
 免許なしで自由に使うことのできる2.45GHz帯の電波を利用し通信を行なうことができる。
 セキュリティー問題にも対応し今では高度な暗号化が施されているもよう。

 はて、私が全項目で述べた時期にアマチュア無線の免許を取得した当時は無線業務上での暗号通信は禁止項目であった。
その後デジタル通信に関しては広義でのモールス通信と解釈され今では以下のような暗号化に対する項目がある。

第百九条の二  暗号通信を傍受した者又は暗号通信を媒介する者であつて当該暗号通信を受信したものが、当該暗号通信の秘密を漏らし、又は窃用する目的で、その内容を復元したときは、一年以下の懲役又は五十万円以下の罰金に処する。
2  無線通信の業務に従事する者が、前項の罪を犯したとき(その業務に関し暗号通信を傍受し、又は受信した場合に限る。)は、二年以下の懲役又は百万円以下の罰金に処する。
3  前二項において「暗号通信」とは、通信の当事者(当該通信を媒介する者であつて、その内容を復元する権限を有するものを含む。)以外の者がその内容を復元できないようにするための措置が行われた無線通信をいう。
4  第一項及び第二項の未遂罪は、罰する。

まぁ現在ではこうやって暗号通信自体を公に認めざるを得ない時代だということだろう。

■BMI指数(びーえむあいしすう)

ボティマス指数。「Body Mass Index(ボディ・マス・インデックス)」の略で、身長と体重から求める国際的な体格の判定方法(計算方法)

BMI= 体重(kg) / 身長(m)×身長(m) で計算され、以下のような指標。

17.6以下 やせすぎ
19.8以下 やせ気味
22 理想体重
24.2以上 過体重
26.4以上 肥満

 ハッカーがこう言った指数を気にすることは稀であるが、私の知る限りでは理想体重であることも稀であると思う。
極端な値ではないにしろ太り気味かやせ気味が多いような気がする。
それは、彼らの食生活に依存するのだが、ハッカーはたいていの場合寝食を忘れてコンピュータに向かっているか、常に何かを口にしながらコンピュータに向かっているかどちらかだが、不健康そうに見えて割りと元気である。
昔何かの本にハッカーにエンゲル係数は当てはまらないと書いてあったが、こういった指数とも無縁なのかもしれない。

■BTO (びーてぃーおー)

 Build to Orderの略

 ユーザーやクライアントの使用目的に合わせて製造すること。
 最近はBTOパソコンという言葉をよく耳にすることがあるが、ショップやメーカーがユーザーの使用目的にあわせてパソコンをアレンジして販売することをこう呼んでいる。
一昔前の言い方だとカスタムショップブランドといったところだ。
 まだパソコンがマイコンと呼ばれていたころ、ハッカーたちは彼らの知人や友人のわがままを実現できるように既成のコンピュータに自作ハードウェアを組み込んでシステム作成したものだ。(必要に応じてソフトウェアやファームウェアも組み込む)
そういう意味ではBTOのさきがけ的存在とも言えるだろう。

| | コメント (0)

マルチリンガル

 ハッカー(日本人)は しゃべる事ができなくても英語の読み書きが得意である。
プログラムと言う作業を流暢に行うということは、英語を駆使する事に他ならないからである。元々プログラム言語というのは英語記述であるのに加え、特にライブラリ関数と呼ばれる便利にプログラムするためにあらかじめ用意されている数多くの関数を利用するためにはその名前を英語で記述する必要が有るし、更にはその用意されている関数がものすごい数量で有るため、全てを暗記できる物では無く、マニュアルから探すためにも英語力が必要になるからである。
 例えばWINDOWSのプログラムをする場合などは、当然WINDOWSの機能をうまく使いまわすためのライブラリーが用意されているが、それを使うためには利用したい機能の関数の名前を探す所から始めなければならないので関数の名前の見当を付けながら索引を調べる事になる。
 例えばWINDOWSのなんらかの情報を得たい場合には 大抵の場合頭に Getの付いた関数となる。特に得たい情報がWINDOWの中から発生される物の場合は GetWindow****と言うタイプの名前になるのが普通である。逆にWINDOWSに何か情報を渡したい場合は、SetWindow***と言う具合だ。
 相手がダイアログの場合は GetDilog***や DialogをDlgと略した表記で GetDlg***と言った名前が付けられている。
 プログラムに関してもそうだが新しい技術やハードウェアのマニュアルに関しても大抵の場合は英文でしか供給されていない場合が多いため必然的に英語に慣れて来る物だ。
 学校で無理矢理詰め込まれる勉強とは違い必要に迫られて覚える学習効率と言う物は格段に跳ね上がる物だ。

 しかし 今回話題にするマルチリンガルとは人間同士の会話やコミュニケーション言語のことではなく、コンピュータとの会話(プログラム)の為の言語である。
通常、プロのSEと称する人達も その活躍する分野によって使用する言語に偏りが出て来る物である。言語と分野を関連づけるならば、事務屋はCOBOL、技術屋はFORTRAN、WINDOWSプログラマーはC、C++等、WEBプログラマーはJAVA、PERL、RUBY等と言った感じで、自分の分野以外の言語は不得意もしくは全然使えないと言った人がほとんどであるのに対してハッカーは一切なんの隔ても無く適材適所でどんな言語でも使いこなしてしまう。
 これは頭を切り替えている訳では無く極自然体で言語を使いまわしているのだ。
何故そういう事が可能なのかと聞かれると、きっと彼らはこう言うだろう。

   「基本は全部同じでしょ?!」

 これは、普通のエンジニアとハッカーの 言語に対する捉え方が全然違うと言うのが大きな原因であろう。
普通のエンジニアは、言語の違いを日本語、英語、ドイツ語、フランス語、スワヒリ語の違いのように認識しているのに対して、ハッカーはそれを単なる方言の違いくらいにしか捉えていないのである。
 まぁ ハッカーにとっては前者の日本語、スワヒリ語の違いですらそんなに苦になる物ではないであろが、それこそが 「基本は全部同じでしょ?!」に総称される。
「基本」と言うのが彼らにとっては「アセンブラ」と言う物だ。
アセンブラというのはコンピュータのCPUに一番直結した命令系の羅列である。
基本的にはメモリーの内容をセットしたり移動する事とメモリーの内容を2進法の1と0単位(ビット)で左にずらしたり右にずらしたりする事と単純な加減乗除演算、そしてその結果に対して0になったとか桁があふれたとかの条件を判断すること。

   「それだけ」である。

※ ここでプログラム言語としてアセンブラを使えると言っている人はきっと ジャンプ命令もあると唱えるだろう。
 しかしハッカーはそんなことは言わない。なぜならばジャンプ命令というのは単にプログラムカウンターと言うメモリに数値をセットする動作に他ならないからである。

 そしてこれを組み合わせてどんな複雑な動作も作り出してしまうのである。
どんな複雑なコンピュータも、WINDOWSの制御も全てこれで構成されているのである。
 実はアセンブラを理解するということは最低限の動作機能さえ有ればたいていどんなことでもできると言う事を知ることでもあるのだ。
 そしてこれは会話言語も共通する概念でもあるとハッカーは無意識に認識している。
普通の人がいきなり日本人の一人もいない英語圏に放り込まれたらどうするだろうか?
まぁ よほどアクティブな人でないかぎりは解説の必要もないだろう。
しかし、動詞はDO GET HAVE TAKE GO、それ以外は中学校の最初で習う程度の名詞や外来語としてカタカナで表現できるものの名前を使えば最低限の意思の疎通ができるのだ。
分からない物は絵を書くか実物を指差せばいい。
 そのうちに耳も慣れて来るし、「この場合はこう言う」などの生の事例で慣れて来る物だ。
 ハッカーはそれと同じプロセスをコンピュータ言語に対して行使する。
取り敢えず自分が知らない言語であっても使ってみる。つまりコンピュータと対話してみるのだ。
そうするとコンピュータからの応えが返って来る。その様子を伺いながら言語自体のクセとか使いまわしを理解していくのである。
その試行錯誤を簡単な物から少しずつ複雑な物にステップアップする。2~3日早い場合は1日それをくり返す事でその言語を使いまわせるようになるのである。
専門用語(エキスパートレベルの操作)に関しては迷わずサンプルプログラムを探し参考にする。一度参考を見れば次からはその言葉もすらすらと使えるようになる。もちろんサンプルが無い場合は倍の時間を掛けて自分で話せるよう更に試行錯誤を続ける。
このようにハッカーは基本と応用力を駆使していろいろな言語を操るのである。

あ・・・今回は落ちが無い(^^;)

| | コメント (0)

エレガントな力技

ハッカーはエレガントと言う言葉に大きな執着を持っている。
ハッカーの生活空間は決して誉められるほどエレガントで有る事は希で、たいていは薄暗い部屋の片隅に有るデスクとその上に置かれた数台のコンピュータ、床や壁は配線のコードで足の踏み場も無く、コンピュータを操作しながら手のとどく範囲に必要な物(資料や材料だけでは無く 食料、コーヒーポット、ドリンク剤の買い置き、お気に入りのおもちゃなどなど)が所狭しと積み上げられている場合がほとんどだ。
 衣服に関してもエレガントとは程遠いファッションセンスの者がほとんどで、かのアインシュタインがそうであったようにたんすやクローゼットには同じ種類のシャツやズボンがずらりと並んでいたりするのだ。(決して着替えずに同じ服を着ている訳ではないのだよ。某ハッカー註)
 この生活環境に関しては無頓着なハッカー達だが、ことロジック(論理)に関しては異常なほどに「エレガント」と言う言葉にこだわる。
このロジックというのは命題の解法、プログラムの作成、ハードウェアの設計から物の考え方にまでおよぶ。
 理路整然と言った方が一般の方々には分かりやすいと思うが、自分が産み出すプログラムやハードウェアがきっちりとした論理的つじつまの上に成り立ち、動作する事に得も言われぬ快感を覚えるのである。
 特にこの「エレガント」と言う言葉は、無駄が一切無く最小形態で最大の効果をもたらす物にのみ冠される最高の栄誉なのである。
 しかし現実的にはこれを最初からまさに理路整然と組立てられる事象は極希であるため、ハッカー達は大きなジレンマに陥る。たいていの場合、仕事上の制作で起こる場合が多い。
 ハッカーと言う人種に回って来る仕事というのは、たいていの場合 普通にコンピュータやプログラムを学び普通にSE(システムエンジニア)に成った人々(ベテランも含む)が「無茶だ!」と言った案件や、「できるかどうか分からない」アイデアのみの案件が多く、こういう場合は論理自体が成り立たない物が多い。
 そのため、ハッカーは納期までの80%の時間をそのジレンマと戦いながら論理を組立てようとあがく。
 ・・・が、たいていの場合は矛盾の有る条件やクライアントからの論理破壊的追加要求によって出来上がりかけたロジックが音をたてて瓦解する。
 ここまで来るとハッカーは考え方を「動作優先」と言うモードに切り替える。
このモードに入ったハッカーは有る意味恐ろしい。
設計の方向も完全に逆になり、「トップダウン方式」から「ボトムアップ方式」に移行しすべての論理を捨てて最終的に動かすために必要なモジュール(プログラムのパーツブロック)を全て用意(制作)してそれを場当たり的に効率を無視して繋ぎあわせてとにかく要求通り動く物を作り上げる。
 これが ハッカーが「力技」と呼ぶ作業である。
不思議な事にこのモードに入ったハッカーは力技で大抵の物を作り出す力を発揮できる。
しかし、この「力技」がハッカーにとっては一番嫌悪すべき、「エレガントではない」行為なのである。
 仕事である以上、時間と完了に制約を受けているため、こうやって出来上がった物を「納品」することになるのだが、真のハッカーはここで終わらない。
出来上がったシステムを見直し一度崩してまた論理的に「エレガント」に組みなおすのである。もちろんこの成果が日の目を見ることはほとんど無いと言ってもよいが、ハッカーにとっては重要な作業であり、ハッカー自身の「エレガントではない論理」を組立てた事に対するカタルシスなのである。

[余談]
 さて 何故「エレガントなロジック」かと言うとそれはスタートレックに登場するミスタースポックに由来する物だが、ハッカーはトレッキー(スタートレックファン)が大半である。
 もう20年位前になるが、サンノゼのアップル社主催デベロッパーズカンファレンスに参加した時のことだ。
とあるブースで最新の開発システムの解説を私はちょうど一番前に立って受けていた。
解説員(彼もかなりのハッカーである)がひとしきり解説を終えて実際のシステムを指差して「どうぞやってみてください」と私を見ながら言った時に私は後ろに視線を感じて振り返ってみるとそこにはいつのまにかそのシステムを見ようとやって来た人達で100人以上の人だかりになっていた。
 ・・・しかも みんなの視線が私に集まって沈黙が数秒間。
解説員に目を戻すとにっこり笑って「どうぞ」
 そこで私はマックに向かって一言「コンピューター?! Computer?!」と呼び掛ける。
    さらに深い沈黙。 視線は私に集中して来る。
 もういちど マックに呼び掛ける 「コンピューター?! Computer?!」
    次を期待しているのが背中にひしひしと伝わって来る
    しかし、次を続けるにはもう一人会い方が必要なのだが、
    私の知り合いは誰一人いないのだ
    それを見て取った解説員が私にマウスを取って渡してくれた。(やたっ!)
 そこですかさずにっこりと笑い人差し指を立てて マウスを口に当て
    「ハロー? コンピュータ?! Hello? Computer?!」

 すると 雑踏の私の真後ろにいた人が
    「キーボードでどうぞ Just Use The Keyboard.」

その瞬間拍手と爆笑が響き渡った。
トレッキーなら誰もが知ってるスタートレックIVの1シーンだが、このパロディー一つで
友人が一気に増え日本からおそるおそる一人で参加したカンファレンスの3日間がとても楽しい物になった。

| | コメント (0)

「無い物は無い」->「無い物は作る」

   「無い物は無い」

この言葉は ことコンピュータに関して言うと昔と今では正反対の意味を持っている。
今のニュアンスだと「何でも有るから無い物自体が見当たらない」と言うニュアンスだが昔は本当に「無い袖は振れぬ」的なニュアンスである。
実際に今のパソコンにはありとあらゆるソフトウェアが供給され、こう使いたいと思った物がほとんど揃っているのだが、当時のマイコンにはソフトはおろか キーボードやCRT(モニターのことだがまだグラフィック表示すらできない物)を制御する機能すら揃ってはいなかった。
マイコンは「何でもできる魔法の箱」と呼ばれていたがそれは潜在能力としての話であり、実はそれを引き出すためのソフトウェアが・・・いやそのソフトウェアを作る手段すらまともには揃っていなかったのである。
事実 高価なマイコンを興味本意で買った人達の大半はその壁にぶち当たり、魔法の箱は机の下や押し入れに置き去りにされ、いつしか粗大ゴミの山と化して行くのであった。
しかし ハッカー達はそこで考える。
「こいつは何でもできるが赤ん坊といっしょだ。言葉も知らなければ表現する事も知らない。
要するにコミュニケーションの手段から教えてやらねばならない。」
そこで先ず一列に並んだ発光ダイオードしか無い表現手段を数字や文字に置き換えられるようなプログラムを作り始めた。
キャラクターディスプレイと言う発想である。
計算の結果や判断が「YES」なのか「NO」なのか・・・・
無味乾燥な数字を羅列したプログラム(マシン語と呼ばれる命令を直接数字で書き込んでいく)から導きだされた回答が文字として表現できるようになった。
同時に入力手段もずらりと並んだビットごとのスイッチによる入力からキーボードと言うタイプライターのように文字や数字を直接入力できるようなプログラムも作り出した。
これで、最低限のマイコンと人間のコミュニケーション手段が確立した訳だが まだ入力は普通の人では理解不能な数字の羅列による入力で、とても対話と呼べるような物では無かった。
ハッカーはまた考える。
「大型コンピュータのようにプログラム言語を使えばプログラムが対話的にできるようになるのではないか?」
しかし、当時の電子部品環境は非常に厳しい物で、特に記憶装置(メモリー)のサイズも小さく高価であったためいかに簡単で効率的な言語を作るかがテーマであった。
苦肉の策で誕生して来るのが当時の大型コンピュータで稼働していたPL/Iと言う言語を単純化したTL/Iと言う言語だ。
画期的だった。
大型コンピュータのように高級言語でマイコンが動作するというだけでも当時は目を見張る物が有った。
その後は、BASIC PASCAL C ・・と次々と高級言語が開発されていく事になる。

つまりハッカーとはこういう人種だ。

      「無い物は作る」

今では笑い話だが、NECから本格的なBASICで動くマイコン PC-8001が発売された当時、OS=N-BASICと言う劣悪な環境で、プログラムをタイプするにはラインエディターと言って1行単位でしかプログラムを書き換える手段が無かったのだが、これではプログラムの効率が非常に悪い(実は大型コンピュータもそうだった)ため先ず私は今のWINDOWSに付いている「メモ帳」の様なテキストエディターを作った。

 「プログラムを作るために テキストエディターを作る」

当時のハッカー達はそれぞれに自分専用のテキストエディターを作った物だ。

考えてみると今でも開発をしている時に必要になるちょっとしたデータ変換やフィルター処理のプログラムなどは考える前に作ってしまうことが多い。
開発用のディレクトリの中にはその時にしか使わなかったような小規模な小便利ツールが山積みになっている(笑)
2度と使わないのに何故か消さない。
既に有る事すら忘れ去られている物がほとんどだが、時々発掘される事が有る。
そして実行させてみて 納得したように「ふふっ・・」とほくそ笑み、またそのままHDの片隅に埋没される。

註)そのようなプログラムが活躍する事が極希にあるが、そういったシチュエーションはとてつもなく緊急の場合が多いのは何故だろう?

| | コメント (1)