実際に作ってみると、計算された黄金比を保ったまま、固定された三角2つと変形する四角2つが組み合わされて、足(の様な部分)が折り畳まれる様に移動することが分かる。
後は、回転を与える動力があれば良いわけで、風だったりゼンマイだったりArduinoだったりするわけだ。
足以外に個性を出せれば、面白いロボットになるだろう。
清水マリコ『赤いくつと悪魔姫』読了。
手紙に書かれた赤い靴と女の子の物語。黒羽虫の噂。
ボーイッシュ女子高生が主人公で、仲の良いイケメン(第2位)友達が居て、格好良い成人男性が頻繁に出たり入ったりする話。と、まとめるとレーベルに縛られた只の女子用読み物だが、じっくり読むとかなりエグい。
鍵は主人公の記憶、ということで、運命的なものと突発的な事件に左右されて話が進行し、落ち着くところに落ち着く感じ。
みんな、救いを必要としていないから、救われていなくても良いのか。ならハッピィエンドと解釈しよう。
|
赤いくつと悪魔姫 (B’s‐LOG文庫) |
意思決定支援ときたか。
しかし、マスメディア的で、結局のところ広告料の差異で表現をころころと変えるイメージのある検索エンジンが、どこまで信用されるだろうか。助かった! ありがとう! と言えるのは人と人の間だけな気もする。価格.comもそうだし。
今はcoming soon状態なので、使ってみて判断が変われば面白い。
8ビットCPUを手作り。そんな本があったな。
CPUの製作のみならず、入出力インタフェースまで実装をしているのが偉い。
幸い?にして、CANON製スキャナが余っているのだが、僕にも作れるのだろうか。
壁画撮影等に使われる技術だとか。景色を、もうこれでもかというくらい綺麗に保存するなら、こういう手段を取るのだろう。機械に処理をさせるのが大変だが。
Lisper歓喜?
反応速度で優れていたとして、多分拡張性は申し分無いとしても、耐久性とか他にもサーバの性能を図る尺度はあるわけで。実用性とは別問題かな。
Cで書くのは良いけどC++は糞、とか、関数型言語こそソフトウェア開発の至高、とか、色々意見があるもので。
github人気だけど、これがプロジェクトページです、と言われるとどうも良い気がしない。単に慣れの問題か。
ソースコード検索エンジンを自サーバに置けば、長年あれこれ書いたコード片を上手く活用出来るかもしれない、とふと思った。
ここで使われているJava製の OpenGrok の他に、Ruby製の gonzui 等があるが、汎用検索エンジンほど選択肢が多くない様だ。
Hyper Estraierくらい使い勝手の良いものが出ないかな。
加減算が出来るのか、空気を読んでるのか。
コメントにあるような、臭いや本能による反応を排除し、何を以て「計算能力」とするかが大事。
イタリア人らしい研究、と一瞬思ってしまった。
python-serialを使って会話する。
Macでいじっていると、IDEの方が使い心地が良いので、コマンドラインで出来ることを特に求めていなかったが、出来る様で。
Pythonにはctypesがあるし、Haskellには実装のGHCやHugsにFFIが標準で付いていてCライブラリを操作出来るし、.NET言語は.NETライブラリが(Monoでも)使えてほぼ満足、という状況で、Javaと仲良し系言語で、つまりJVMからCライブラリを楽に操作出来る手段をあれこれ探していた。
Web上のドキュメント量から言えば、実質標準手段であるJNI(Java Native Interface)なのだが、余分な(と感じる)C/C++インタフェースを書かないといけないので避けたい。
そこで、JNA(Java Native Access)を発見。JRubyが標準搭載して、FFIとして利用しているらしい。
んで、綺麗なJavaライブラリなら、JythonでもScalaでも動くだろうと思い、サンプルを見ながら動作確認。Processingは当然動くだろうと確認省略。
まずJython。
$ CLASSPATH=./jna.jar:$CLASSPATH jython
>>> from com.sun.jna import *
>>> libc = NativeLibrary.getInstance("c") # load libc.so
>>> libc
Native Library </lib/libc.so.6@158651672>
>>> p = libc.getFunction("puts")
>>> p
native function puts(c)@0xb461b310
>>> p.invoke(["JNA in Jython"])
JNA in Jython
>>> libm = NativeLibrary.getInstance("m") # load libm.so
>>> libm
Native Library <libm.so@156868576>
>>> sin = libm.getFunction("sin")
>>> sin
native function sin(m)@0xb48e3100
>>> sin.invokeDouble([3.14159/2])
0.9999999999991198
関数が返す値によって、invoke*を使い分ける事と、実引数はlistにすることに注意。
次にScala。
$ CLASSPATH=./jna.jar:$CLASSPATH scala
> import com.sun.jna._
import com.sun.jna._
> val libc = NativeLibrary.getInstance("c") // load libc.so
libc: com.sun.jna.NativeLibrary = Native Library </lib/libc.so.6@142961944>
> val p = libc.getFunction("puts")
p: com.sun.jna.Function = native function puts(c)@0xb481b310
> p.invoke(Array("JNA in Scala"))
JNA in Scala
> val libm = NativeLibrary.getInstance("m") // load libm.so
libm: com.sun.jna.NativeLibrary = Native Library <libm.so@142027816>
> val cos = libm.getFunction("cos")
cos: com.sun.jna.Function = native function cos(m)@0xb479f430
> cos.invokeDouble(Array(double2Double(0.0))) // scala.Double -> java.lang.Double
res11: Double = 1.0
> var v:java.lang.Double = 3.14159
v: java.lang.Double = 3.14159
> cos.invokeDouble(Array(v))
res13: Double = -0.9999999999964793
こっちは実引数をArrayにする。
実引数のDouble型が違って戸惑った。scalaの組み込み型だと駄目(因みに、間違ってもインタプリタが解決策を教えてくれる)。
これで、JVMからネイティブの資産にアクセスし易くなった。
API Docを見ると、プラットフォーム判別や、X11に簡単アクセスすることが出来る様で、面白いライブラリだ。
Scala版のProcessing Development Environment。
最近、エディタでファイルにプログラムを書いて動かすよりも、対話インタプリタとか、精々ProcessingのPDEくらいで、リターンキィなり再生ボタンなりでプログラムの動作確認をする場面の方が多くなってきた。まあ、それで済む内は良いけど、変な癖は付けたくないな。
COBOLは死なぬ! 永遠にだ! の話題。
ATMの本や論文が研究室に結構あって、流行っていたんだなあといつも過去形で感じていて、具体的には勉強していない。勉強せずともネットワーク系研究室に居られるので、そんなもんなんだろうと解釈しているが。
まあ、何かを後世に残せれば死んでも良いんじゃなかろうか。それが時代の流れというものだし。J++は何だったんだろう。
脆弱性を叩くJavaアプレット公開中。
まあこんな時にも、MacはWindowsより優秀と言えるわけで。信者は偉いな。
Macbook Proを研究室で使う程度のライトユーザだが、Linuxの様にシステムを細かいところまでいじれないところに、安心と不便を感じる。
変数は、社員の評価、昇進、給与。ここから、社員の不満度を算出する。統計みたいな話になってきた。
辞めそうな社員を発生させる様な環境を作らないようにするべきなのだろうが、まあ人間関係もあるだろうし、無理なんだろう。
こうはならぬ様、先見の目を持たなければならないし、利点を大いに適切にアピールしなければならない。技術は、使ってもらってなんぼだ。
マイナなまま終わりそうなP/ECEとか。いや、個人的には非常に使い易くて、期待外れだとはちっとも思っていないが。
ロボット工学、人工知能の話。
体が無ければ心は宿らぬ、の精神で、互いに連携を取りながら人間の業としての研究を続けている。
ゴールが明確な研究だ。ドラえもんなりタチコマなりウォーカロンなり、SFを再現出来れば凡そ完成と言える。しかし、そこに辿り着くには、何か壁を越える必要がある。その壁が、堅く、高い。怖いと思わないのだろうか。
DOSエミュレータ。DOSを使ったことが無く、今までDOS環境を欲したことが無いが、興味が湧いた。まだバージョンが1.0未満なのに偉いもんだ。
DOSゲームどっかから手に入れて動かしてみようかな。
DOSBoxはDOS上でも動作する、に笑った。
放射性環境耐性を持った生物が台頭する日が来るのだろうか。そんな日が、新たな時代の始まりとして記録されるのだろうか。進化というのは、程度が小さくても大きくても、割と貪欲なものに感じる。
どうも放射能汚染関連は反射的に怖いと感じる。色々テレビのニュースで植え付けられたのだろうか。
スキーマとかがダウンロード出来る。
XMLじゃあ単に構造化されているだけで、他のデータと連携するには人の理解が必須なわけで、機械だけで上手くマッシュアップは出来ないよね、だからRDF使おうよとか何度言っても聞かないだろうな。
Cover Pages: XML and Emergency Management 辺りと上手くやってくれるなら、まあ良し。
森博嗣『もえない』読了。
1人の同級生の死を切っ掛けに、彼の遺品と自分の記憶の中で何か引っ掛かるものを感じた主人公の淵田。過去の事件と今が結び付き、終わりを迎える。
(作家が書いていないと言う)裏表紙のあらすじ文に書いてある「青春ミステリィ」に騙されない様にと、真剣に読んでいたら本当に青春でびっくりした。
個性的な先輩とかに囲まれて、中々楽しそうな高校生活だなあと、過去の自分と比較しつつ読んでいた。まあ、自分もそこそこ悪くなかったと評価しているが。
飛山が可愛かった。
|
もえない Incombustibles (カドカワ・エンタテインメント) |
規格のみならず、学会関連でお世話になっているIEEE。何と長い歴史だ。一方、日本では情報処理学会が来年創立50周年で色々準備が進んでいるみたい。
カンファレンス一覧が見難いのだが、多分見易い手段が他にあって僕が見付けられていないだけだろうと勝手に判断。
Bartolo Luque, Lucas Lacasa, "The first-digit frequencies of prime numbers and Riemann zeta zeros" による。
非常に分かり易い説明がごろごろしていて、面白かった。値の範囲が制限されていないこの世の中で、こんな法則があったとは。
メモリィスティックにHDD。外部記憶に頼るから、外部要因でエラーが出る。だからと言って、今日び覚えるべき事が多過ぎる。スパイも軍も大変だ。
機密情報じゃなくとも、個人も注意しなければ。ネットばかり注意して、ローカルに流通したら馬鹿らしい。
地形などの外部情報を認識し、衝突回避プログラムを動かすそうな。それを、パイロットと仲良く出来て実用化、ということらしい。フィクションにはよくあるシステムで。
98%っていうのはどれだけのテストで得られたものなのか。2%はやはり人の手に頼らざるを得ない、難しいところなのだろうか。
というわけで、Pyblosxomの Amazonリンク生成プラグイン に変更の必要を迫られたので、準備。
import urllib
import hmac
import hashlib
import base64
key = '1234567890' # AWSのページでSecret Access Keyをチェック
aws_access_key = '00000000000000000000' # Amazon Access Key
isbn = '0679722769' # ItemId
request_url = 'webservices.amazon.co.jp'
option_dict = {
'Service': 'AWSECommerceService',
'AWSAccessKeyId': aws_access_key,
'Operation': 'ItemLookup',
'ItemId': isbn,
'ResponseGroup': 'ItemAttributes,Offers,Images,Reviews',
'Version': '2009-01-06',
'Timestamp': '2009-01-01T12:00:00Z',
}
option_seq = [(k, option_dict[k]) for k in sorted(option_dict.keys())]
option_list = urllib.urlencode(option_seq)
message = "\n".join(["GET", request_url, "/onca/xml", option_list])
print message
message_hmac = hmac.new(key, message, hashlib.sha256)
signature = base64.b64encode(message_hmac.digest())
print signature
request_urlを'webservices.amazon.com'にしてサンプルと結果が一致することを確認してから、'webservices.amazon.co.jp'に変更した。
11日以降に、リクエストが通ることを確認して、プラグインを書き換える。
ライブCDでドライブを高速バックアップ。リモートサーバにSSHサーバを指定出来るところが良い。台湾製みたい。
何々zillaというソフトが増えてきたが、関連はあるのだろうか。
教育用途から離れて、実用化も視野に入れてきた。マイクロカーネルの性能を他と比較出来る良い機会になるだろう。
『コンピュータネットワーク』とか『分散システム』とか、パラ読みしかしてないから、読まなくてはならないと感じつつ、どうも後回し。
コグニティブ無線も実用化されつつあるなあ。
「状況に応じて周波数帯域やタイムスロットなどの無線リソースを適宜利用する」。実に賢そうだ。
PICを使って初音ミク人形にネギを振らせる。最終回のミク連動の何と壮大なことよ。
ライトユーザならArduinoでちょこちょこっとCプログラムを書いても出来るだろう。
The Haskell Platform is a blessed library and tool suite for Haskell culled from Hackage
HaskellをPythonの様に電池組み込みにするための、便利パッケージ集みたいなものらしい。
これとこれをインストールすれば、大体の仕事は出来るよ、と説明出来れば、確かに広まり易いかな。
自称ピア・レビュー(査読)付きジャーナルは、査読無しでした、という話。お金を払えば何でもホイ。
後援とかバックナンバとかしっかり見れば、まあミスはしないだろう。
初めて、だそうで。検証付き。めでたし。
これだけ有名な恐竜も、未知な部分がまだまだあるそうで、昔があって今があるわけだが、昔に失われたものを今再び研究の対象とするというのが難しいというのは、なんとも面白い。
原作-桜坂洋/漫画-宮下未紀『よくわかる現代魔法』第1巻読了。
アニメ化を前に漫画化。巻数を示す数字の枠が小説版と違う。
導入ストーリィを読んだのは3度目なので、今更何と言うことは無いが、構成が、まず魔法がどんな感じで使われているかという世界観を見せて、後で最初に巻き戻しという流れになっていて、小説既読組にも楽しめた。
挿絵の時は少々不満があった絵だったが、コマが連続するとまあ良いやという気になるから不思議だ。弓子が随分優遇されている気がする。
|
よくわかる現代魔法 1 (ジャンプコミックス) |
電気系の会社に就職した同級生に聞いたところによると、意外に?自作する機会はある様で。そういえば、研究室にはケーブル束が置いてある。
PCの自作は最早趣味と呼ぶしかない程にコストが市販品に比べて掛かるようになってしまったが、ケーブルは色々考えどころがあるみたい。
人が増えてくればこういう流れは自然かと思われ。有限の地上を墓に取られていては、生きている者にとって堪ったものではない。
骨壷の管理も、既に立体電動棚で保管して、必要な時に出せるシステムになっているとか、以前テレビで見た。これもデータ化すれば棚の場所も不要になる。便利だ。
さて、これが認められるには、古い考えを持つ人達に亡くなっていただく必要がある。