もっとコンピュータが好きになるblog -4ページ目

klikなお話

Macの新作が紹介されましたね.5万円台のMac,弁当箱みたいですね.このぐらいの値段だったら,遊び用に買ってもいいかなぁと思ってしまいます.個人用サーバとしてもいいかもなぁ.とりあえず,お店行って実物見てこようと思います.

- Mac Mini


Knoppixなお話」のコメントでdandelionさんがv3.7からpoint-and-klikという機能が追加されたというフォローをしてもらいました.という事で,今回は実際にklikを利用してみようと思います.

- KNOPPIX3.7日本語版
- point-and-klikの使い方

前回Knoppixはインストールしなくとも利用出来るLinuxですと紹介しました.CDから起動するので新しくソフトウェアがはインストール出来ないとも紹介しましたが,今回はv3.7から追加された機能で一時的にソフトウェアが利用できるようにするpoint-and-klikを紹介しようと思います.


klikを実際に利用するには,コマンドラインから「wget klik.atekon.de/client/install -O -|sh 」と入力して起動しなければなりません.今のところ,簡単に使う為のアイコンがメニューにないので,まだまだ実験的なサービスなんですかね.

起動すると,自動でブラウザが立ち上がり,実行したいアプリケーションを選択するページが表示されます.後はソフトウェアの説明やスクリーンショットを見ながら選択します.サーバプログラムやデベロッパーツールなど使えるソフトウェアも選択できました.

使いたいソフトウェアが登録されていない場合もありますし,既にKnoppixにインストールされているソフトウェアがklikにあったりもします.そこはちょっと微妙ですか.ソフトウェアはバイナリパッケージで配布されるので,インストール後すぐさま利用可能でした.ただし,バイナリパッケージの為,最新版ではない可能性があることは注意しなければいけないですね.(一時的に利用するだけなら気にする必要もないかと思いますけどね)

実際使ってみて,なかなか便利だなと思いました.折角Knoppix使うなら使わない手はないでしょうね.ちなみにkilkのソフトウェア一覧はWindowsでもFirefox使えば見に行く事が可能なので,どんなものがあるか試しに見に行くと楽しいかもしれません.

- Klik




おまけ.

Knoppixの使いこなしリンクについてまとめてみました.まずNTFS書き込む方法について.NTFSというのはWindowsのファイルシステムの事です.つまり,KnoppixからWindowsのファイルを読み込めるだけでなく,書き込めるようになるという事です.

- Captive - NTFS領域を書き込み可能でマウント

次は,Knoppixを自分でカスタマイズして,オリジナルKnoppixを作ろうという話です.こちらはそれなりにLinuxの知識が必要なわけですが,なかなか面白そうです.今度時間見つけてやってみようかなと思ってます.

- KNOPPIX カスタマイズのテクニック

最期はカスタマイズしたKnoppixなどオリジナル1CDLinuxの紹介ページ.いろいろありますね.音楽用に特化したものやセキュリティ用に特化したもの,LAMP(LINUX,APACHE,MYSQL,PHP)がすぐさま使えるサーバに特化したものなどなど.スクリーンショットをながめるだけでも楽しいですね.

- ライブCDの部屋

3Dディスクトップなお話

昔のコンピュータは今のWindowsやMacと違って画面中には文字しか表示されませんでした.今のようにグラフィカルな画面でもってユーザが操作出来るようになったのはごく最近の事です.

ユーザの為のインターフェースは進化し,ランプの点灯などといったシンプルなインターフェースから文字だけの画面へ,そして文字だけの画面からグラフィカルな画面になってゆきました.現在もユーザインターフェースは進化しようといろいろ研究がなされています.その一例が今回紹介するネタである3Dディスクトップです.


- 3DNA
- lg3d: Project Looking Glass


現在のWindowsやMacの画面は全て2Dのグラフィカルインターフェースで作れていますが,上の画像を見て頂ければおわかりになる通り,ディスクトップを3Dのグラフィカルインターフェースで表現出来るソフトウェアがいくつかあります.

一つは3DNAというソフトウェアでWindowsで動きます.上の画像は3DNAを利用しています.ほかにも主にLinux上で動くLG3Dというソフトウェアもあります.これらのソフトウェアはディスクトップのイメージを三次元に置き換えることによって新たなインターフェースを確立しようとする試みとなっています.

これらのソフトウェアを利用する際の注意点ですが,3Dを利用する分,かなりハードウェアの性能が必要になります.

3Dイメージでディスクトップを表すというのはとても興味深いですし,使ってみるとそれはそれで面白いです.しかし実際に利用して頂ければおわかりになると思うのですが,常にあれを利用したいかと問われれば否と答えてしまいます.3Dの画面が,2Dの画面を使っている時に比べて,「これが最大の利点」と言える部分が見あたらないからです.

2Dのディスクトップの延長線上に3Dディスクトップが存在しているといった感触があります.しかし,全ての点において全く3Dディスクトップが使い物にならないかといえばそうではないかと思います.例えば仮想現実,リアル世界に映像に対して,仮想の映像を重ねるというものですが,これに対して3Dの技術が使えば,音楽関係のファイルを自分の部屋のCDラックの場所に置いたり,リアル世界の物と仮想世界のデータ情報を結びつけたり出来れば,単純にディスクトップイメージを3Dにするより使いやすくなるのではないかと思いました.

なんかアニメの世界の話みたいですが,出来たらおもしろそうです.こういうのも使うと夢は膨らみますね.

猫とコンピュータなお話

輩は猫である.名前はまだ無い.どこで生れたかとんと見当がつかぬ.何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している.吾輩はここで始めて人間というものを見た.しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ.この書生というのは時々我々を捕えて煮て食うという話である.しかしその当時は何という考えもなかったから別段恐しいとも思わなかった.


有名な夏目漱石の「我が輩は猫である」の一文です.とかく猫が好きな人は多いようです.僕も猫飼ってるし,持ってるコンピュータの8割の壁紙を猫画像にしてるし,自分で言うのもなんですが,嫌いではないです.そんな僕ですが,昔の言葉を借りるならネットサーフィンしている最中,よく猫の画像を見るんです.犬の画像はあまりみません.

そこでふと思った事なんですが,もしかしたら,ネットの中の人って猫好きなのかなぁとか考えたんですよ.これはちょっとおもしろそうなので,独自調査してみることにしました.という事で今回のネタは完全に遊びです.最近少し堅い話ばかりだったんで息抜き.



そうそう,本題に入るに入る前にお礼おば.おかげさまで読者さまが30名越えました.海外のお札まで調べきれなかったのが少々悔やんでいるんですが,「通貨偽造なお話」もなかなか好評で,年明けそうそう,ここのblogに関しては嬉しいニュースが続いております.これからもどうかよろしくお願いいたします.



- 猫の歴史
- 古代エジプトの猫崇拝
- エジプト猫が増えなかったわけは

猫は上のリンクをたどってもらえればわかりますが,昔から猫と人間の関係は続いています.元々人間は,馬,牛,犬,鳥といった動物たちと共生をしてきました.古代エジプトで猫が飼われるようになり,猫も人間と共生するようになりましたが,猫は先に挙げた動物たちと比べてるとネズミを捕まえる程度の能力を持っていませんし,また他の動物に比べ.人間の命令を受け付けにくい性質を持ちます.それでも人間は共生を続けてきたのは不思議です.

- Pure@online

僕が想像するに,古代から猫は最初に取り上げた動物たちのように人間の代わりに動いてもらえる道具しての役割よりも動物介在療法などに代表されるようなヒーラーとしての役割の方がむしろ多かったのではないかと思います.

古代エジプトの猫の神様,女神バステトも家の守り神としてあがめられていた事と,またその役割から,猫は昔から先に挙げたどの動物より人間と接していた時間が長いはずです.猫は普通家で飼うものですからね.他の動物と違って.



一番身近な動物ということはそれほど愛着が湧くというもので,それが古代から延々人間の遺伝子に組み込まれてきたと考えれば,人間には猫好きが多いのではないかという予想が付けられます.そこで実際にGoogleを利用して検索してみました.比較対照は牛,馬,鳥,犬です.その結果がこちら.


猫  about 127,000,000 for cat
犬  about 82,500,000 for dog
馬  about 55,300,000 for horse
鳥  about 37,600,000 for bird
牛  about 14,200,000 for cow


猫,圧勝です.


次にソフトウェアについて調べてみました.猫に関係するソフトウェアといってすぐ思いつくのが,Unixの「cat」というコマンドです.concatenation(連結)という単語の略で,ファイルを結合するためのコマンドです.でも略がconcatではないのは,もしかしたら,猫がからんでいるのかもしれません.(ちなみにcatの高性能版でdogというコマンドもあります.)

他にはPC98のneko.comというソフトウェアがあります.テキストの画面上に猫が現れて,テキストカーソルを追いかけるという内容のソフトウェアです.これには逸話がありまして,あるパソコン雑誌のライターさんが,画面に猫が走るところを見てウィルスと勘違いして,neko.comをウィルスとして紹介してしまったんです.その後このneko.comはその存在をUnixコマンドのxnekoやonekoに引き継いで,画面上にマウスを追いかけるソフトウェアになっています.ちなみにWindows版のnekoもあります.

- neko for windows
(8日にはHPが存在していたのですが,9日に再び見たら消えていました.一時的に消されたのかもしれません.)

- Mac OS Xはネコ科

MacOSのコードネームがネコ科にするのは有名ですし,他にもいくつか猫の名前をとっていたり,ソフトウェアのロゴが猫のものもあります.もちろん,犬などの動物に関係するソフトもいろいろありますので,一概に猫が秀でて好まれている訳ではないと思いますが,嫌いだったら猫に関係するソフトウェアも出てこないんで,やはり猫はコンピュータの中でも好かれているようです.

最期に「猫とコンピュータ」という本の中の猫とコンピュータの比較をながめてみようと思います.ヘンな比較だなぁ.


ネ)猫
コ)コンピュータ
直感で動く     ネ○ コ×
データで動く    ネ× コ○
名前がついている  ネ○ コ○
計算ができる    ネ× コ○
命令をきく     ネ× コ○
記憶ができる    ネ○ コ○
音が出る      ネ○ コ○
物事を予測できる  ネ○ コ○
オス・メスがある  ネ○ コ×
RUN(LAN)ができる  ネ○ コ○
中古・下取りができる ネ× コ○
落とすとこわれる  ネ× コ○
貸借できる     ネ? コ○
次々にふえる    ネ○ コ○
行方のわからなくなることがある ネ○ コ×
費用がかかる    ネ○ コ○
遊び相手になる   ネ○ コ○
品評会がある    ネ○ コ○
急にキゲンが悪くなる ネ○ コ○
家になくてはならない ネ? コ?



どっちもかわいがってやればなついてきます.しかし,悲しいかな猫はかわいがりすぎると嫌われますがね(僕の事).

Knoppixなお話

月中はいろいろ本が読めてよかったです.しかし,やばいのは徹夜癖つけてしまったことです.まずいなあ.,早く寝るようにしなければ.

前回までは2進数の話ばかりで,すこしネタがかたよりすぎていたんで,今回はわかりやすいLinuxの話をしようと思います.それもLinuxに興味を持ち始めているWindowsユーザにとってうれしいLinuxを紹介しようと思います.


Linuxは便利なもので,高機能なソフトはおろか,OSすら大抵がタダで手に入ります.使いこなすにはそれなりの知識や経験が必要であるのは確かな事なのですが,慣れてしまえば,恐ろしく便利なもので,Windowsに戻れなくなる人もいるほど,中毒性の高いOSとも言えます.

一口にLinuxと言っても,その種類はいくつもあり,いろいろな所でいろいろなLinuxが開発されています.それぞれのLinuxにはそれぞれ特徴があり,その特徴を調べて他のOSと比較したりしながら使ってみるのを楽しめるのもLinuxならではの楽しみです.

Linuxは慣れてしまえば,タダだし,拡張しやすいし,情報源が多いし,面白いし,と良いことが多いですが,まずこの慣れるのがなかなか大変だったりします.まずWindowsユーザの場合,現在使っているWindowsはそのまま残してLinuxも使いたいという意見が大半だと思います.

しかしながら,WindowsとLinuxを同居させようと考えるなら,HDDの知識か,仮想OSの知識を要求されてしまい,まずそこで相当数のユーザがLinux使うことにあきらめてしまいがちだったりします.


しかし,お試しでLinux使ういい方法があるんです.それは1CDLinuxの一つ,knoppixを使う事です.1CDLinuxとは,パソコン起動時にCDドライブにLinuxの入ったCDを入れて起動すると,CDを読み出し,Linuxが使えるというものです.

- Knoppix3.6日本語版

これなら,ややこしい知識がなくてもCDのイメージをダウンロードして,そのデータをCDに焼いて,そのCDを起動時に読ませるだけなので,すごく簡単です.しかもknoppixが偉いのは,ハードウェアの状態を自動で設定し,グラフィカルな画面をいきなり表示してくれる事です.しかも,使えるソフトもいろいろ同梱された状態でです.ゲームもいろいろ付いているので,結構遊べますし,ブラウザやメーラ,メッセンジャーも付いているのでインターネットもばっちりです.

もっと偉いのは,勝手にHDDをマウント(呼び出して中身を読み出せるようにする事)してくれるので,本体のWindowsがおかしくなった時,必要なファイルを取り出すレスキューCDとしても利用出来ることです.

あとKnoppixはWindows上にインストールする事が可能になり,CDを持ち歩かなくともいつでもKnoppixを呼び出す事が可能になりました.ノートパソコンにLinux入れたい人にもおすすめです.



現在KnoppixはCDでの配布を行っていますが,たしか2003年だったかに一度特別版でDVD版というのを出しています.結局僕は買わなかったんですが,LinuxMagazineにおまけで一度付いてきています.

- KNOPPIXのDVD版がLinux Magagin 2月号付録につきました。

とある集まりに行ったとき,その一角にKnoppixのデモコーナーがあり,その時,Knoppixの非売品をもらってきたんですが,ついでにその時Knoppixの関係者さんに聞いてみたんですよ.「DVD版が特別版でありましたが,今後DVD版のKnoppixが出る可能性があるのか」って.

DVD版は特別版のその時限りというのを,付録として付いてきた時のLinuxMagazineの記事で読んだ記憶がありまして,ホントにもう出ないのかなと思ったんですよ.関係者さんの答えとしては,「現在でも圧縮しながらソフトウェアをギュウギュウに詰め込んでいる状態.Linuxのソフトも今後どんどん増加傾向にあるので,もしかしたらDVD版が出る可能性も否定出来ない」との事でした.

個人的にはDVD版のKnoppixというにも魅力は感じますね.今のKnoppixは容量圧縮の為,どうしてもソフトを選別している為,たくさんあるとはいえ,数は限られています.DVDなら4.7Gもあるんで,いっそ,現状Linuxで動くソフトウェアを全部稼働出来る超豪華版Knoppix作ってしまうというのもおもしろそうです.ちょっと格好いいっす.(こういう発想はオタクなんだろうなぁ.そういえば最近はSFS-Knoppixというネット越しで使う物をダウンロードして使う物も出てきているですね.この方式を使えばDVD版はいらないのかな?)


HDDが必要ないので,図書館のような公共用のパソコンに使ったり(へんなソフトをインストールされない),とりあえずLinuxを使ってみたいLinux初心者とかにはおすすめです.だた,どうしてもCDの中に納められているだけあって,機能が限られていたり,拡張が不可能だったり,Linuxの良さをいくつか消されているところもあります.おすすめなのはKnoppixでLinuxに興味をもってもらって,他のLinuxに手を出して遊ぶというのが良いのかなと思っています.

2進数なお話 その3

進数について取り上げてきて,三回目.連載ものになってしまいました.話があまりにも,コンピュータ内部の話になっているので,つまらないなと感じている人もいたかなと思っています.とりあえず,この話は今回までにして,次回はもう少しわかりやすいネタやろうと思います.


前回の終わりに「コンピュータの中で四則演算は全て足し算で出来る」と書きました.今回は引き算を足し算でする方法についてまとめて2進数の話は一旦閉じようと思います.ホントは浮動小数点とか論理演算の話もやっておこうかなと思ったんですが,これは後の機会にやろうと思います.

では,まずマイナスの数とはどう表せるのか考えてみます.ちなみに今回も8bitとして考えます.10進数で255という数があります.これを2進数として表すと次のようになります.

0b11111111

ずらっと1が並びます.ここでこれに1を足すと考えます.すると全ての桁で繰り上がりが発生するので

0b11111111 + 0b00000001 = 0b00000000

となり,256は0になってしまいます.気付かれたでしょうか,この計算は「-1 + 1」(または255 - 255)の計算と全く同じことに.

つまり,こう言えるという事です.「10進数で255という数は-1に相当する.」同様に解釈してゆくと...

「10進数で255という数は-1に相当する.」
「10進数で254という数は-2に相当する.」
「10進数で253という数は-3に相当する.」
・・・・
「10進数で3という数は-253に相当する.」
「10進数で2という数は-254に相当する.」
「10進数で1という数は-255に相当する.」



解釈の仕方はわかったものとして,ここで腑に落ちない事があると思います.「結局0b11111111は-1なのか255なのか」という事です.確かにこのままではわかりません.どちらとも意味がとれてしまいます.

そこで考えられたのが,一番左のbit(一番左の桁)で符号を表すことです.0の時はプラス,1の時はマイナスという具合です.これならはっきりわかります.

- 補数

そしてもう一つマイナスを表す際に重要なのが,補数をとることです.補数についての小難しい話は上のリンクをたどってもらうことにして,簡単に言えば,マイナスの数をプラスの数として表す方法というものです.

んで,2進数の場合は2の補数をとらなければなりません.2の補数をとる場合は,まず先に1の補数をとります.とり方は「1-その桁の数」で計算します.2進数はその計算が楽なもんで,1を足す(引く)というのはイコール現在の数の反転という意味になるんですね.(0なら1に1なら0に)

例としてこんな感じ.4の1の補数は
0b00000100 → 0b11111011

1の補数ととった後,その数に対して+1を行います.そうすることで2の補数が完成します.上の例をそのまま使うと

0b11111011 → 0b11111100

となります.試しに4 - 4やってみましょう.

  0b00000100
 + 0b11111100
--------------
  0b00000000

綺麗に0が並びました.という訳で補数を計算してゆくとこんな感じになってゆきます.


0b01111111は127
0b00000001は1
0b11111111は-1
0b10000001は-127
0b10000000は-128 だといえます.


これら二つの事から,一番最初の考え方と状況が変わった事は,8桁で表せる範囲が変わったという事です.先ほどまでは0~255(もしくは0~ -255)でしたが,今回一番左のbitを符号と置き換えることによって-128~127までの数を表せることになりました.これででしっくりくる計算が可能になりました.マイナスの計算ができれば,もちろんわり算も可能になりますね.



ちなみに,今回は2進数の話なので,2の補数の話を書いていきましたが,10進数だって,同じように10の補数とって,足し算だけで計算も可能なんですよ.おまけでちょっとやってみますか.わかりやすいように4桁で計算してみます.40という数で10の補数をとってみます.

まずは9の補数をとります.まず,9 - それぞれの桁の数の計算をします.
0040 → 9959

そして +1をして,10の補数にします.
9959 → 9960

試しに40 - 40をしてみましょう.

  0040
 + 9960
---------
  0000

といった感じにこれまた見事に0になりました.というところで三回にわたってやってきたお話もとりあえずココで締めます.

個人的に楽しかったけど,読んでる人は講義みたいでつまらなかったかもしれませんね.懐かしがってくれたり,勉強になりますといったコメントが寄せられましたが,そんなコメントがあった分だけ,とりあげて良かったですよ.

一番上の画像の元ネタ
- 2進数の雨の中

2進数なお話 その2

Amazonで中古本4冊買ったうち,2冊来ました.嬉しいなぁ.でもまだあと3冊欲しい本があるんですよねぇ.それから毎月大体買ってる専門誌も買うから,んー,正月早々財政難です.でも読まなくても本は迷わず買うが信念ですから,買うぞ~.


前回は2進数の基礎的な部分をふれてみました.次は2進数使う理由に挙げた「計算が楽」という理由の部分,2進数の計算についてみてゆこうと思います.

まず基本の足し算です.これはわかりやすいと思います.あ,そうそう今回はコンピュータと2進数という話なんで,今回ここでの計算は8bit(2進数にして8桁,10進数だと0~255までの数)の計算という事にします.ま,繰り上がっても9桁目の数は無視されるというだけの話ですから,気楽に見てください.

0b00110011 + 0b00001111という計算をしてみます.1 + 1 = 10,つまり繰り上がる事だけ気にしていけば,そんなに難しくないはずです.

  0b00110011
 + 0b00001111
--------------
  0b01000010

といった感じですね.実際に正しいか10進数に直してみてみましょうか.

0b00110011 は 32+16+2+1=51
0b00001111 は 8+4+2+1=15
51+15=66
66を2進数に変換すると

66/2 = 33 0
33/2 = 16 1
16/2 = 8 0
8/2 = 4 0
4/2 = 2 0
2/2 = 1 0
1/2 = 0 1

0b01000010となって正しい事がわかります.これは簡単.


次はかけ算やわり算をみてみます.2進数は面白いことに値を右に一つずらすと2分の1になり左に一つずらすと2倍の数になります.ちょっと見てみます.

0b00000100 は10進数で4です.右にずらすと
0b00001000 となり,10進数で2倍の8になります.
0b00000100 と右にずらせは4になり,2分の1になりました.

これをシフト演算と呼び,左にずらしてゆくと2倍,4倍,8倍,16倍の数に,逆に右にずらしてゆくと2分の1,4分の1,8分の1,16分の1の数になってしまいます.ちなみに1があふれてしまったら無視します.こんな感じ.

0b11110000 を右にずらす
0b01111000 を左に2つずらす
0b11100000 となります.代わりに0が入ってくるんですね.


もちろんずらすやり方ではないかけ算もします.この方法は普通の10進数の方法とだいたい同じです.

例えば0b00000100 * 0b00000011の場合はこうします.

  0b00000100
 * 0b00000011
-------------
  0b00000100
  0b00000100  (ここの部分はシフト演算ですね)
-------------
  0b00001100 (あくまでも8bitなので)

ここで確認してほしいのは,かけ算は足し算で出来ていることです.つまるところ,足し算さえ出来ればかけ算が出来るということです.また長くなったので,今回も尻切れトンボの状態でここで終わりますが,次回は引き算も足し算でする方法を紹介します.

ここまで言えば大体わかってもらえると思いますが,つまり2進数では全ての四則演算を足し算で計算可能という事です.次回も引き続き読んで頂いて,計算が簡単な理由をもう少しみてゆくことにします.

2進数なお話

のblog内の新しい試みとして,長期連載物を一回やってみようかなと思っています.一週間か二週間ぐらいかけて,一つのテーマに関して掘り下げてゆく内容にしたいと思っています.もちろん,それだけ長期で書くからには,それなりの内容にしなければいけないので,資料集めを現在行っております.どんな話かは書いてからのお楽しみという事で.(開始予定は2月か3月ぐらいに出来たらいいなあと思っています.)


んで,今回はコンピュータの基礎中の基礎である2進数について復習してみようかと思います.基礎を疎かにしていたら,良いことないですからね.一回で2進数についてまとめようと思ったんですが,どうも分量計算すると一回ではおさまり切らないんで,今回は入り口だけやっていきます.

2進数はおそらく小学校に習ったかと思いますが,普通に生活している中であまり使わないかと思います.そこで,簡単にどんなものだったか説明しておきます.ネットマスクなお話をするまえにこちらの話をしておけば良かったかなとちょっと反省.

2進数とは,数そのものを0,1だけで表現する方式で,繰り上げも1の次は10となります.通常,僕たちが生活している世界は10進数という世界で,0から9までの数で表す方式ということです. コンピュータを学ぶ上で2進数は外すことは出来ません.


なぜなら,コンピュータ上で表されるものは全て2進数で表されるからです.じゃあ,なぜ2進数で全て表すのかというと,これから説明していきますが,一つは計算が楽だからという理由と,もう一つはディジタル世界を支えているのはアナログ世界だからという理由です.

アナログ,すなわち波です.波はディジタルのように0,1だけで判断はできません.0と1の間には0.1という数があったり,0.000...1という数があったりします.ですが,高い電圧(波の高い時)の時が1,低い電圧の時が0と置き換える事によって,ディジタル化されます.2進数なら波を高い低いで判別するできますが,もし10進数で全てが計算されていたら,波を10分割しなければならないんで大変です.


とまあ,コンピュータと2進数の関係について軽く説明したところで,変換してみますか.まずは基本の10進数から2進数への変換です.あ,そうそう,電卓なお話を参照しながらやると良いかもしれません.Googleなら変換も楽々です.自分の計算が合っているか確かめるにはもってこいです.

例として「10」を変換してみます.やり方は簡単,単純に「2」で割っていくだけです.答えを2で割れなくなるまでひたすら続けます.


10/2 = 5 余り 0
5/2 = 2 余り 1
2/2 = 1 余り 0
1/2 = 0 余り 1


重要なのは余りの部分です.「1010」が「10」を2進数に変換した結果という事です.この数が2進数であることを示す為には頭に「0b」を付けるか尾に「(2)」を付けるかします.「0b1010」ということですね.ちなみに,この計算の仕方は2進数に限った事ではなくて.例えば8進数でも同じ事が言えます.


10/8 = 1 余り 2
1/8 = 0 余り 1  答えは 0o12


2進数からの変換についてやってみます.基本的な考え方はこうです.一桁目の数*1,それ以降はその桁数の数*2の桁数-1乗とそれぞれの桁で計算して,その合計値という事になります.ちょっとわかりにくいかもしれませんが,こういうことです.先ほどの「10」を例にとってみます.


四桁目 1 * 2^3  (^3というのは3乗という意味)
三桁目 0 * 2^2
二桁目 1 * 2^1
一桁目 0 * 1

8 + 2 = 10


となります.余談になりますが,2進数から10進数は面倒臭いのですが,2進数から8進数や16進数に変換するのは非常に楽なのです.2進数で3桁分は8進数の1桁分に相当し,2進数で4桁分は16進数の1桁に相当するからです.(よくよく考えれば当たり前の事ですがね.) 例えば「0b101001000110」という数であった場合はこのようにします.


0b101001000110

101 001 000 110

5 1 0 6

0o5106


0b101001000110

1010 0100 0110

A 4 6     (16進数は0から9,その次はA,b,c...fと数が続きます.)

0xA46


また長くなってきました.なんか丁寧に書いていったら,予想の3分の1も書けなかったんで,引き続き明日も同じネタでいってみます.

通貨偽造なお話

けましておめでとうございます.今年もよろしくおねがいします.つか,今年の正月,寒い...

今回のネタは通貨偽造のお話を書いてゆきたいと思います.元は★お笑い!お仕事トホホ日記★さんのこの「( ̄∩ ̄#) 偽札伝説」という記事から着想したネタです.こういうのもデジタル化の闇ってやつですかね.



去年,新札発行に伴い新たにいくつかの偽造防止の技術が追加されました.もう発行から一ヶ月以上経っていますので,既に新札を手に入れて,見て触って,新しい偽造防止の部分をながめているかと思います.ちなみに日本の札の偽造防止技術は世界一です.新札の細かい「nippon」「ginko」とかの文字を見ていると日本人の技術力の高さを痛感させられます.

- 世界最強!新紙幣の偽造防止技
- 日本銀行 お金について

- 旧1万円札の偽札十数枚見つかる 鹿児島の露店で

しかし,その一方で,頻繁に札の偽造の事件が起きており,正月早々九州は熊本で初詣中の屋台で偽札が見つかっています.罰当たりですね.札の偽造防止技術は先ほども述べた通り,世界で最強を誇るものなのに,なぜ偽札を作ろうとする人が耐えないのでしょうか.僕は犯人像としては2パターンあると考えていまして,一つはどうしようもないくらい貧乏である人,もう一つは遊ぶ金ほしさにやってしまう人です.

ニュースを読んでいくと,ほとんどが先ほど上げた犯人像の中の「遊ぶ金欲しさ」という人が多いようで,中高生の犯人も多いようでした.正月早々起きた熊本の例も犯人は若い男と証言ありましたし,犯人は10代なんじゃないかなとか思っています.

こういった偽造に関する問題が多く発生しているのは,偽造の罪が重いという事実があまり知られていないものと,コンピュータ,プリンタ等の札をコピーを可能にする機械が安価でかつ簡単に扱えるようになってきたからだと僕は考えています.



二つの問題について,法律の面と技術の面でみてゆきます.まず,偽造の罪が重いという点からみてみます.ちなみに僕は法律については詳しくないです,そこのところあしからず.

- 第6章 社会に関する罪 5 通貨偽造罪
- 第十六章 通貨偽造の罪

上のURLを見ていただければ大体わかると思いますが,札に限らず,お金の偽造は最大で無期懲役です.もし仮に遊びでお金をコピーして,たとえ使わなくても通貨偽造罪にはなりませんが,通貨摸造罪で裁かれてしまいます.また,例えば,お金を故意に削ったり,改変したりした場合は通貨変造罪になってしまいます.とまあ,非常にお金に関して厳しく取り締まっています.

ちょっと面白い話だと,新札の新しい偽造防止技術であるホログラム(きらきらしていて見る方向によって見える文字が違うやつ)が熱に弱く,アイロンに当てすぎると壊れてしまうという問題があって,これも故意にアイロンがけした場合,下手すると変造罪にあたり兼ねないというものがありました.

- 林風コラム 通貨偽造記事

なんでここまで厳しいのかと言いますと,お金という存在は国家そのものだからです.お金で物を買う=経済=その国の状況,お金の信用=国家の信用なわけです.つまりお金の偽造は国家に対する挑戦という訳です.おそらく,犯罪者でそこまで考えてやっている人はいないとは思いますが,間接的にそういう事だからです.

この問題は正直教育不足からくる問題だと思います.もし偽造が大問題である事を多くの中高生が学んでいたら,少なくとも中高生の「遊ぶ金欲しさの偽造」は防げていたのではないかと思います.今マガジンでお金をテーマにしたMIQなる漫画が連載されていますが,是非お金の偽造に関しても取り上げてほしいと思っています.



次は技術面についてみてみます.今,電気屋さんのチラシ等をみると,プリンタだけなら1万以下,プリンタとスキャナがセットになった複合機タイプですら2万以下と大変安価になり,複合機タイプなら,パソコンと接続しなくとも楽々文章のコピーが可能です.

昔に比べれば最近のプリンタは安価なものでも案外高性能で,RGB(レッド,グリーン,ブルー)の三色どころかCMYK(シアン,マゼンダ,イエロー,黒)までサポートしてますし,パソコンと接続するのもUSBのおかげで楽々です.またやっかいなのはパソコンのグラフィック関連のツールを使えば,単純にスキャナしたより精度の高いコピーが可能になることですね.

- Adobeなど、画像編集ソフトに通貨偽造防止技術採用
- EUは偽造防止の規制を ユーロでECBが要請(Googleキャッシュ)

これであとは札に似た紙質のものか,もしくは似た紙質を作れば偽札のできあがりというわけです.では技術面ではなんの対策もしていないかというとしていないわけではありません.ハード,ソフト面ともに偽造防止用の技術搭載の義務づけを行う動きもあります.

ですが,技術で全ての問題解決というのはなかなか難しく,例えばWindowsには偽造防止用プロテクトがかかっているが,Linuxなら無いとか,PhotoshopならプロテクトかかっているがGimp(フリーのグラフィックツール.Photoshopレベルの処理が可能)なら無いとか,旧式のプリンタなら問題ないとか,プロテクト外しだって平気でやる人たちが出てくるなどはすぐに想像出来ます.技術面でそういったプロテクトをしてゆくのが全て無駄かというとそうではなくて,安易に偽造しようとする人の抑止力として働くと思います.



おまけ.昔の通貨偽造罪についてにも読めるので面白いです.
- 通貨偽造罪の研究

うわ,気が付いたらまたこんなに長く書いてるし.あとまとめだけだから.

本職(やっさん)さんはおそらく通貨偽造やらないでしょうね.稼げる分と刑期が割にあってませんし.詐欺の方が効率いいですし.だから,基本的に通貨偽造する人ってのは,「ど」のつく素人さん.だからこそ,技術面で解決出来る所も多いのではないかと思っています.コンピュータを使った犯罪の中で,通貨偽造に対しての問題は比較的楽な方で,ファイル交換やポルノなどの日常的に発生する軽犯罪の問題はなかなか通貨偽造のような解決は難しいのではないかと思います.ま,ここらの話はそれはそれで面白いので後日書いてゆくことにしましょう.

今年2ヶ月間ありがとうございました.来年もよろしくお願いします.

の投稿を今年最期の投稿にしようと思います.という訳で,2ヶ月間続けてきての感想おば述べて終わりたいと思います.


ずっとココのblog見続けてくださっている方はおわかりかと思うのですが,何度も「こんなに続くと思わなかった」と書いてきました.実際今でも思っていて,ネタがネタだけに人が集まらない気がするので,その内飽きてくるんじゃないか,自分の手持ちのネタがすぐに尽きてしまうんじゃないか,そんな事ばっかり考えてました.

しかし,やってみたら,案外すらすら出てくるもので,書いてる隙から「このネタ別枠で書けるな」とか「このネタは面白いからストック」とか浮かんでくるのには驚きました.今まで適当に日記とか,他のニュースサイトからの記事引っ張ってきてつぎはぎニュースサイトみたいなのをやっていた時にはなかった新しい発見でした.

これも書きたい,あれも書きたいとしているうち,回を重ねる事に文章は長く,そして読みづらくなってきて,読者さまには迷惑かけているのかなと思ったりもしています.もっと端的に書ける技術があればいいのですが,まだその領域まで達していないという事なんでしょうね.これから努力していきたいと思います.

しかし,こんな読みづらく,取り扱っているネタも他のblogに比べて異色であるのにかかわらず短時間にIT部門でTOP20に入れたのはひとえに読者のみなさん&僕の知り合いのみなさんのおかげだと思っています.今後とも暇なら読みに来てくださいませ.

最期にこのblogにおける来年の抱負.一つ,少しでも長く続けること.一つ,少しでも勉強になる内容を書き続けること.一つ,少しでも読みやすい文章にすることを心がけること.それではみなさま,よいお年を.

ネットマスクなお話

近パソコンインストラクターを目指している◆三十路ママ♪番茶も出花さんに読者になって頂きました.blogを読んでいくとネットワーク系の問題に弱いとのこと.少しは勉強のお手伝いを出来るかなと思いまして,今回のネタはネットワークの話をしてます.ネットマスクの話をしようと思いますが,ネットワークについて書いてある本なら大抵どこでも書いている事なので,既に理解している方も多いと思いますが,折角なので復習兼ねて読んでみてくださいませ.


現在のネットワークにおいてネットワーク層の主要プロトコルであるIPv4は,80年代に設計されたもので,現在のインターネットのようにここまで大きくネットワークが発展するとは考えていない状況で設計された為,アドレス体系に大きな無駄が発生していました. 

- RFC 791 - Internet Protocol

それが,ClassA,ClassB,ClassCアドレスの問題です.Classとはなんなのか説明しますと,ClassAなら126個のネットワークを作る事が出来,一つのネットワークにつき16777214個のホストを配置できるアドレスという意味で,ClassBなら16382個のネットワークに65534個のホスト,ClassCなら2097150個のネットワークに254個のホストということになります.

昔は,一つの団体に対して,一つのClassAアドレスを割り当てていました.この方法だと,126個の団体しかClassAを与える事が出来ませんし,それに普通に考えて,一つのネットワークに1千万以上のコンピュータが繋がっているという状況は考えづらいものです.そのため,現在のネットワークでは,アドレスの無駄遣いが起こっている状況になっています.世界各地様々な所がインターネットに繋がるようになってきた現在では,無駄に一団体にClassAを割り当てるといったような事が出来なくなってきており,一団体に対して一つ,もしくは二つぐらいのClassCアドレスを与えて,なんとかその範囲のアドレスを使ってネットワークに接続することになってきています.


無駄使いを出来るだけしないようにするための技術がいくつか考えられていまして,その中の一つが今回の話の肝であるネットマスクになります.IPv4の設定をする時には必ず見ることになる255.255.255.0とかいう番号の事です.(上の画像の例では,16進数で書かれている為0xfffffe00[255.255.254.0]となります.意味は10進数で書かれている場合と同じです.)

- RFC 917 - Internet subnets

この数字が何を表しているのかと言いますと,ネットワークの範囲を示している物差しなんです.IPアドレスやネットマスクは通常書きやすいように10進数で書かれていますが,そのままだといまいちわかりづらいので2進数に変換して考えてみます.例をあげてみてゆきます.


IPAddress: 192.168.1.4
NetMask:  255.255.255.0
というホストの場合

IPAddress: 11000000.10101000.00000001.00000100
NetMask:  11111111.11111111.11111111.00000000
となります.


ネットマスクの部分がずっと1が続いているのがわかると思いますが,この1が続いている所までがネットワークの範囲を示しているわけです.つまり,この場合ネットワークの範囲は192.168.1.0~192.168.1.255という事になり,つなげるホスト数は254台という事になります.続けて例を見ていきます.もし,ネットマスクが255.255.255.128になったらどうなるのでしょうか.


IPAddress: 11000000.10101000.00000001.00000100
NetMask:  11111111.11111111.11111111.10000000
となります.


こうなってくると,話はさっきと異なり,ネットワークの範囲は192.168.1.0~192.168.1.127となります.つなげるホスト数は少なくなり,126台となります.つなげるホスト数は減りましたが,ネットワークの個数が多くなったがわかりますでしょうか.これをもっと細かく指定してゆけば,一つのネットワーク領域を細かく分割して小さなネットワークをいくつも作る事ができるので,無駄遣いを減らすことができるようになるわけです.

計算も難しくないです.先ほどの例をそのまま使って計算の仕方もみてみます.


IPAddress: 11000000.10101000.00000001.00000100
NetMask:  11111111.11111111.11111111.10000000

の一番最後だけ抜き出してみます.

IPAddress: 00000100
NetMask:  10000000

ネットマスクの0の部分がホストの個数を表しているので,
00000000 ~ 01111111 というネットワークと
10000000 ~ 11111111 というネットワークの二つが計算から出せます.


最近は自宅にもLANを組む人が多くなってきています.ネットマスクを理解すれば.より効率よくネットワークを構築できるはずです.