March 02, 2006Rubyでディープコピー
[Computer]
Rubyでディープコピーをするのに目から鱗な技があります。 deep_copied = Marshal::load(Marshal::dump(target_object))
こんなことができるのもRubyのシリアライザMarshalが非常に優れていて、ほぼ全てのオブジェクトに対応しているからですが、対応し過ぎているために時に思った動作をしないことがあります。例えばディープコピー対象のオブジェクトにシングルトンオブジェクトが含まれていたらどうなると思いますか?当然といえば当然ですが、これらについてもディープコピーが取られてしまい、シングルトン性が破壊されます。
そういうときはMarshalの内部的な動作を規定するためのメソッド、_dumpと_loadをオーバーライドすればよいみたいです(Ver 1.8ではmarshal_dumpとmarshal_load)。コードの例は続きをどうぞ。 March 03, 2006『ウェブ進化論』と『攻殻機動隊』
[Timely]
A氏の主張は、この本の主張を理解できるかどうかで読者のデイジタル的世代がわかるよ、ということですが、この本によると、その世代としてのは、次の3種類に大別されます。『Web上の不特定多数という量に可能性を見出し、そのアウトプットを信頼しようとする世代』、『Web上の不特定多数という量の可能性は理解できるが、そのアウトプットに対しては慎重であり、できるだけリアルな社会構造において問題を解決しようとする世代』、『特定のいわゆる権威的な意見にのみ信頼を寄せ、Web上における不特定多数の理論を理解できない、リアルな社会でしか生きられない世代』。3者は現状のWeb界の言葉でいうとそれぞれ『Web 2.0』、『Web 1.0』、『Web 1.0 未然』です。具体例として、日本の大企業の重役は『Web 1.0 未然』、Yahooやマイクロソフトは『Web 1.0』、Googleは『Web 1.5』とでもいうのでしょうか、『Web 1.0』の『Web 2.0』中間、ということが挙げられています。 この本ででてきた『あちら側』と『こちら側』という言葉は古くて新しい新鮮な響きです。本では現代の社会においてはリアルな世界を『こちら側』、Web上の世界を『あちら側』と表現していました。 話が若干変わりますが、この本に対する考察をさらに深めてみようと思います。この本を読んでいて思い出したのが、『攻殻機動隊』という日本のアニメです。つい最近TVシリーズをやっていました。公安9課と呼ばれる未然にテロを防ぐという攻性的特殊部隊の話で、構成員は個々の力が最優先された組織構成という設定でした。 最後に梅田さんのサイトで、この本に関するブログ書評から言葉を、ということをされているようなのでキャッチフレーズでも考えてみようと思います。『Web世界という新しい"地球の歩き方"』なんていうのはどうでしょうか。 以上長文になりましたが、感想を述べてみました。 March 07, 2006EZUSB FX2LP Keilからsdccへ順調に作業が進んでいるUSB-ADC2ですが、USB-ADCと同じく作業環境をKeilとsdccの両面から攻めことにしました。そこで前の『EZUSB Keilからsdccへ、EZUSB.lib等の移植』と同じく、FX2LP向けにEZUSB.lib等を移植してみました。 ヘッダファイル、ライブラリの改変ソースを公開します。ライブラリは落としたあと、Makefile内のディレクトリを適切に設定してmakeをするとできます。 ついでにサンプルプログラムのbulkloopをKeilとsdccの両方からコンパイルできるようにしました。改変ソースを置いておきますので、USBJmpTb.asmやdscr.asmはこちらを参考にしてください。ディレクトリを適切に設定後makeをするとsdcc版が、同じくbulkloop_keil.Uv2を使うとKeil版がでてきます。動作確認済みです。 *** FATAL ERROR L220: INVALID INPUT MODULE
というエラーがでてできませんでした。どうやらUSBJmpTb.OBJとEZUSB.LIBが原因のようです。問題解決のためには
最後にですが、FX2で検証してくださったhamaさん、コメントをくださったhangさん、ありがとうございました。 ※(2008/2) これらの情報をTeamKnoxさんが役立ててくださったようで、大変幸せです。 ※(2008/10) ファイル階層を整理したついでに内容も見直しました。1) USBのディスクリプタ(dscr.asm)の配置が奇数番地だとうまく動かないことが多いので絶対番地(0x1900)に固定しました。2) SDCCマニュアル 4.1.1にある、MOVX命令によって下位アドレスへアクセス際に必要となるSFRの定義_XPAGEをfx2reg.hに書き加えました。 March 14, 2006スキーのリフト券
[Tips]
最近スキーに行きたくて仕方がありません。実は先週末もスキーに行っていたりしたのですが…。今回のそのスキーのリフト券についてのどうでもいい話です。 スキーに行くと、必ずリフトに乗りますね。リフトに乗るためにはリフト券が必要です。IT技術の進歩のおかげかどうかはわかりませんが、かなり昔にあったような紙のチケットを見せて乗る、ということはほとんどなくなりました。 ここで問題となるのがリフト券をどこにしまうかです。リフト券売り場にいくと、リフト券ホルダーなるものが売られていて、これを使えばリフト券を腕章のように取り付けることができ、改札装置にリフト券を接触しやすくなります。ところがスキーをしていると、こいつがずり落ちてきたりしてちょっと厄介です。そこで考えました、リフト券の保管場所を。 その場所は、グローブの中。リフト券はだいたい掌に入るくらいの大きさです。従ってグローブの中にいれてもはみ出ません。甲側にいれておくと腕章タイプのものよりも苦労せずにタッチできます。是非皆さんも試してみてください。 March 17, 2006ezusb.sysとCyUSB.sysUSB-ADC2ですが、ファームウェアの移植が完了しました。ということで現在ホスト側に取り掛かっているのですが、ここで問題が一つ発生しました。新チップのFX2LPでは、デバイスドライバが旧チップのAN2131やFX2が使用していたezusb.sysではなく、CyUSB.sysという新しいものを使う必要があるようです。ということで今まで使用してきたオプティマイズさんのカメレオンUSB(ezusb.sysを簡単に扱うようにしたもの)が使うことができないので、どうにかする必要があります。 とりあえず作戦を立ててみました。 いかがでしょうか。何か情報をお持ちの方がいましたら、是非コメントよろしく願い致します。 March 20, 2006Windows DDKの入手(無料)USB-ADC2ですが、前の記事のとおりFX2LPではCyUSB.sysを使う必要があります。CyUSB.sysやそのサポートライブラリであるCyAPI.libには、cyioctl.hやCyAPI.hといったヘッダーファイルをインクルードすることによって使用可能となるわけですが、これらのヘッダーファイルも実は外部のヘッダーファイルdevioctl.hやusb200.hというヘッダーファイルに依存しており、これらのファイルを入手する必要があります。 これらのファイルは実はWindowsのDDK(Driver Development Kit)というものに含まれているようです。DDKはその名のとおり、Windowsのデバイスドライバを作成する際に必要となる開発環境で、なかなかWindowsの生な部分です。 M$のWindowsをできる限りお金をかけないで開発したい僕としては、当然ここであきらめたりはしません。Windows DDKがただで落とせるかどうかをもう少しよく調べてみることにしました。 それにしても別のところで無償で配っているものを、どうしてダウンロードできなくしたりするのでしょうね。M$の意図がわかりません。 March 23, 2006Open source GPS僕は実は航法(ナビゲーション)という分野の研究をしていることになっているらしいです。ということで、最近GPSも守備範囲にしたいなと思い、日夜そういった関係の文献・サイトを漁っています。 日本ではほとんど行われていないのですが、海外ではGPSの受信機をオープンソースで作ろうというプロジェクトがあります。今回僕の中のプランではGPSを理解するために、GPSの受信機を自作することにチャレンジしようと思っているので、これらのオープンソースのプロジェクトは大変参考にしたいと思います。ということでネット上で見つけたサイトのリンクを張っておきます。
ところでですが、GPSはこれほど世の中の役に立っているのに、なぜ国内で中身に興味をもたれている方が少ないのか、不思議なくらいです。GPSは確かにアプリケーションとして無限の可能性を秘めていて、アプリケーション的に取り上げられることはよくあるのですが、その中身ももっと注目を集めていいのではないでしょうか。 ※その後、計画編へと話は続きます March 26, 2006Love 日本
[Timely]
全体的な紹介すると、現代の日本を憂える筆者が、日本という国家が現在どのような状態にあるかを見つめ、それに対して疑問をなげかける形で文章が展開されていきます。なかなか巧妙な作りの文章で、一方的に日本人としてはこうあるべきだ、という押し付け論ではなく、日本人が本来もっているものはこんなもの、あんなものではないか、と読者自身の内面を見つめさせようと細かな配慮がされています。それによって、自分が日本人としてどうあるべきか、日本が国家としてどうあるべきか、ということを考えさせるというのが筆者の狙いのようです。 筆者は、現在の世界にはびこる、自由や平等、そして論理といった概念に対して、それだけが全てではないだろ、と疑問を投げかけています。全くその通りだと思います。僕が思うに、これらの概念を使ってあえていうなら、自由とは権利でなく、自由を享受する責任という義務を果たさなければならないわけで、平等は不平等が存在してこそ成り立つものであり、そして論理は情には勝てません。何かあったときに『それがどうした』といわれれば、こちらも情をもって闘うしかありません。 そのような白黒はっきりつけたがる欧米的な指向に対抗するために、筆者は特に日本的な様式美、道徳といったものを強調しているように思えます。美とは微妙で繊細なものであり、一概に良し悪しを決定できるものではありません。道徳も臨機応変に実践しなければ、その真価は得られないものです。欧米的な剛の指向で空いた隙間を、日本的な柔の思想で埋めてやることこそ、日本が日本たれると筆者は主張しています。柔良く剛を制す、とはよく言ったもので、理詰めで考えさせられることの多い日常生活を送っている僕としては、とてもはっとさせられました。 筆者は最後にまとめを兼ねて日本が日本であるための提案をいくつかしていますが、僕も日本人の一員として、また、将来の日本が自分にとって好きな国であり続けられるようにという願いを込めて、一つの提案をここでしてみたいと思います。 March 30, 2006実験便利グッズ
[Tips]
最近いろいろと実験や機器試験といったものが目白押しで、忙しい日々が続いています。そのような中でよくあるのが、機器をどこかに固定したりする作業。いちいちネジ止めとかはめんどくさいですし、テープで張るとはがすのが非常に面倒であったりします。そこで東急ハンズあたりをぶらぶらしてみることにしました。
すいません、何か宣伝文句のようで。でも本当に便利なので、是非実験等でお困りの方は試してみてください。 |
かれんだ~
スポンサード リンク
|