ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

魔法とプログラム

2012-10-28 23:45:32 | Weblog

プログラミング言語の行く末~みたいな話題があって、それとは全然全く無関係なんだけど、プログラミング言語に関連して昔考えていた事を思い出したので、書いてみる。


現在のプログラムは、内部的には数値で表される。十六進数で表現できるので、0~Fに対して一音ずつ割り当てれば、発音できる文字の羅列になる。聞いてみても意味不明だろうけど、それってまさに呪文じゃなかろうかw
呪文を間違うと、魔法は発動しないか暴走するか想定外の動作をするか。OSの制御範囲内の暴走なら大した被害は出ないだろうが。 

00~FFの256種類の音を用意できれば、発音数は半分になる。高速詠唱呪文だね!
(ハフマン符号とかで圧縮すれば、もっと高速になるね!)
ただ、256種類の音というのはキリが良いだけなので、分かりやすさ優先で数を減らしたり冗長な単語にしたりする余地はありそう。キーボードのキー配置の種類が色々あるのと同じように。

また、音だけで256種類を言い分けるのは難しいので、身振りも組み合わせてみれば音は減らせる。魔法使いに身振りが必要なのは、必然だ(爆)
どういう身振りをするか(腕の振り方で区別するのか、足の位置で区別するのか、指の形で区別するのか等)によって流派が出来そうw
上級者は色々な方法を覚えているので、指だけで魔法を使ったり出来るわけだ。
魔法の発動体(杖など)が必要なのは、OSへ電波を届ける為(携帯電話や無線LANのようなもの)か?
身振りをはっきり伝達するには、モーションキャプチャーの装備とかの高価な品が必要かもw

そして毎回同じ長い呪文を唱えるのは面倒だし間違う可能性があるので、事前の儀式を行い(マクロやシェルを作り)、使うときは儀式名(マクロ名やシェルファイル名)だけで発動できるようにするのは自然の流れでしょう。(あるいはイベント登録しておき、イベントをトリガーに発動する)
弟子に魔法(マクロ名やシェル名)を教える際は、権限レベルに応じて使える魔法を制限するかも。レベルが同じなら誰でも使える魔法が同じなのは、そういう理由だったのだ!w

契約する相手(神など)に応じて使える魔法が違うのは、契約する相手=ログインするサーバーが違うからだろう。
サーバーによって同じソフトがインストールされているものもあれば、違うソフトが入っていることもある。基本的な魔法はどれでも同じく使えて、特有の魔法は他では使えないのは当然だ。
魔法使いに弟子入りするってことは、アカウントを作ってもらえるってことになる。
すごい魔法使い(ハッカー)なら、他のサーバーへのアクセス権も貰えたり、新しいソフトをインストールしたりできるのも納得いく話だ。
すると、悪い魔法使い(クラッカー)との戦いになるのも当然ですなw

精霊や妖精・使い魔といったものは、どう考えてもAI。
同じロジックで動くのでプログラムは同一だが、別々の場所に発現するので、インスタンスは異なる。
種族内で同じ記憶を共有するタイプは、グローバルなメモリーを持ってるってことだね。


色々考えていると楽しいけど、オチは無いです^^;


Windows用Hadoop HDInsightプレビュー版

2012-10-25 22:22:22 | PG(分散処理)

開発が進められてはいたようだけれどもイマイチどうなっていたか分からなかったWindows用Hadoopだが、HDInsightという名前になったらしい。そのプレビュー版がダウンロードできるようになったので、インストールしてみた

一旦WebPI(Microsoft Web Platform Installer)というのをダウンロード・実行して、WebPI経由でアーカイブをダウンロード・インストールする。
いつの間にWebPIなんてものが出来たんだ…。完成度はちょっと低いけど。検索ボックスから検索した後、元の一覧に戻れないし!(苦笑)
依存プロダクトを一緒にダウンロード・インストールするのは問題ないけど、なぜIISやPythonが必要なのかは謎。
アーカイブの解凍もなんだか中途半端。どっかでエラーになっているのではないかと思うが、プレビュー版なので追及せず。 手動で解凍できたし。
驚いたのは、Java(JDK)も同梱されていたこと。ある時期からWindows(IE?)がJavaを勝手にインストールできなくなったはずなので、大丈夫なのかねこれ^^; プレビュー版だからいいのか? 契約とかが変わったのか? 

とりあえず一番気になっていたのは、Hadoopのバージョン。開発開始時期はHadoop0.20.203や205が全盛だったので、今でもそのバージョンだったらさすがに古い…と思っていたのだが、逆に1.1.0-SNAPSHOTで、現状のHadoop1系の最新である1.0.3よりも新しかった(笑)

hadoopコマンドもバッチファイル(拡張子cmd)で用意されていたので、(拡張子は省略できるから)感覚としてはUNIX版と同様に使えるね。
(UNIX用のシェル自体も入っていたので、Apache Hadoop1.1ではUNIX用もWindows用も両方含まれるということだろうか?) 

今日試したのはここまでだけど、サンプルソースとして、Java(MapReduce)の他にHive・PigやC#等も付いていたのも驚き。.NETでHDInsightのMapReduceプログラムが作れるようだ。何に使うのか分からないけど、DLLも入っていたし。
(Javaのサンプルが旧APIで書かれているのは良くない気がするけど。さすがにもう新APIにすべきでしょう)