バーチャルではなくリアルです。売ります:海上独立国家シーランドによると、本当に国家(の統治権)が売りに出されているようです。せっかくなのでどこかの IT 長者が買ってくれないかなとか思ったり。

シーランドとはもともと第二次大戦時に英国の海上要塞として建造された構造物で、戦後放棄されていたところを元英国陸軍少佐・当時は海賊ラジオ放送者だったロイ・ベイツ氏一家が1967年に実力で占拠し勝手に独立国家を宣言したもの。


私はこんな国家が存在していることすら知りませんでした。記事中に出てくる HavenCo 社は Web サイトは生きているようですが、運営はされているんですかね。この会社、情報におけるスイス銀行のような存在になっていたら面白かっただろうに。(※)

※ Winny 関係の騒ぎのように犯罪の温床になる可能性もありますが。

以下、参考情報です。

シーランド公国
http://www.sealandgov.org/

タックスヘブンのサーバホスティングソリューション : 富士通総研
http://jp.fujitsu.com/group/fri/report/it-business/case/200009/case-20.html

シーランド公国 - 通信用語の基礎知識
http://www.wdic.org/w/GEO/%E3%82%B7%E3%83%BC%E3%83%A9%E3%83%B3%E3%83%89%E5%85%AC%E5%9B%BD

著作権を取り締まる法律と同時に満足な軍隊も無いようなので、いかにも暴力的な敵の多そうなこの国、ミサイルでも打ち込まれたら一貫の終わりという気もしないでもない。 しかしこの国は決して非武装中立などではなく、軍備として兵隊1名に、ショットガン1丁を配備しているそうである。


すごい武装だ・・・。(^^;

Posted by あかさた
未踏が本格化すると、SOA について考えることなんてなくなってしまうと思うので、ここいらで SOA や Web 2.0 に関する私の考え方を整理しておきたいと思います。

SOA(サービス指向アーキテクチャ)と Web 2.0 は近しいところにおかれて語られることが多い気がしています。私は、両者はぜんぜん違うものだと思うのですが、そういうことを SOA の人に言うと、「え? おんなじ様なものでしょ?」と返されることもあります。確かに基盤技術はほとんど同じものを使っていますが、根本的な考え方が違っていると感じます。

○ SOA
SOA の一般的な理解はどのようなものなのでしょうか。多分、さすがに Web サービスをごにょごにょするというようなものだというような理解はもう終わっていると思います。SOA は、ひところ騒がれた Enterprise Architecture 的な考えを取り込んで、アプリケーションの機能や業務フローに登場するアクティビティをサービスとしてとらえて、変化に強い全体最適化されたシステムを作るための方法論(+それを実現する技術標準仕様と製品)的な意味合いを持つようになっています。今でもたまに、「SOA は Web サービスとどう違うの?」と聞かれることがありますが、SOA はサービスをどう組み合わせてビジネスをまわしていくかということを考えていくわけですから、個別の技術はあまりターゲットにしておらず(※)、根本的に違うといってもいいでしょう。実際、SOA で Web サービスを使わなくてはならないわけではありません。(使わないと非常にキツイですが。)
※ もっとも、実際には個別の技術(ESB だの WS-* だの)もターゲットにしていて、そこが SOA をわかりにくくしていると思います。

世の中的には、サービスの認識すら十分に行われていない企業が多いでしょうから、今の SOA はビジネスに必要なサービスはどのようなものなのか考えているところでしょう。SOA はビジネスと IT のギャップを埋めるというような言い方をするところもあります。まあ、それはそれで SOA の本質を表している気もします。

○ Web 2.0
私の理解が浅いのかもしれませんが、Web 2.0 は SOA 以上に定義があいまいです。最近の Web の状態を総称して Web 2.0 と呼んでいるのだと思いますが、SOA と違うと思う点は、SOA は IT ガバナンスに近い文脈で語られることが多いのですが、Web 2.0 はライフスタイルに関係する文脈で語られることです。ウェブ進化論とかウェブ人間論みたいな論調が SOA から出てくるとは思えないわけです。

技術的なコンセプトにも違いがあると感じています。基盤技術は SOA も Web 2.0 もほとんど同じなのですが、SOA で描かれるアーキテクチャは、ESB のようなものを中心にすえてバス型やスター型を意識させて、いかにもトップダウンを想起させます(サービスオーケストレーションという表現がいかにもですよね)が、Web 2.0 ではもっと曖昧でもやもやっとしたものになっています。強いて言うとネットワーク型(Web ですから)。Web 2.0 のアーキテクチャとして、リソース(データ)を重要視する REST がありますが、SOA は業務プロセスを構成するアクティビティを重視するので、そういう違いもあります。両者には Web サービスの設計方法も違いがあって、名詞を軸に Web サービスを設計する REST と、動詞を軸に設計する SOA という形になります。

ただ、技術基盤に対するスタンスは製品ベンダーの影が濃いか薄いか位の違いしか感じないですね。そういう意味では、IT エンジニアにとっては Web 2.0 も SOA もおんなじようなものだと。(※)

※ Web 2.0 ではユーザビリティは頻繁に話題に上りますが、SOA では話題に上りません。個人をあまり見ない SOA ならではですかね。基盤技術が同じでも、習得が必要なスキルは変わってくるかも。。。

○ 総括
Web 2.0 がビジネスモデルとライフスタイルを含んでいたり、SOA が IT ガバナンス的なものを含んでいたり、なんだかわけのわからない用語で世の中があふれていますね。仕事にも生活にも IT が必要になって領域横断的な用語が必要になったってことですかねぇ・・・。

Posted by あかさた
今日は、Kodougu のメタメタモデルについて考えていました。Kodougu はモデリングツールであると同時に、モデリング言語の設計を行うメタモデリングツールでもあります。

今、プロトタイプの開発を行っていますが、以下のようなメタメタモデルを考えています。

1167823889_20070103.png

■ 補足
Mataelement のインスタンスの例を挙げると、クラスやユースケースです。

メタメタモデルというと、UML 2.0 の Infrastructure や、UML 2.0 をベースにした EMF(Eclipse Modeling Framework)を思い浮かべます。そういったものと比較すると、Kodougu のメタメタモデルはかなり低機能です(笑)。UML 2.0 の Infrastructure を理解するにも、EMF を使いこなすにもかなりの熟練を要求されるため、敷居が高いです。Kodougu ではできる限り単純なメタメタモデルを持たせることで、モデリング言語設計の敷居を下げたいと考えています。
# そうは言っても、メタメタとか言っている時点で十分敷居は高いですが。

それでも、メタメタモデルの段階でも継承とパッケージくらいは入れないと、使い物にならなさそうですね・・・。

うーん、悩ましい。

Posted by あかさた
有名なブログから話題を引っ張ってくるのもなんですが、ビルゲイツの面接試験-ビジネス編を読みました。

【1】 チープ革命の波は企業だけでなく個人にまで押し寄せている。個人が会社に属さずにウェブでビジネスをして十分に食って行くことができる時代が来ようとしている。

【2】 クレジット・カード詐欺やフィッシング詐欺が増えた結果、消費者がオンラインで個人情報を与えることにとても慎重になっている。その結果、Amazon、Wallmartなどの「信頼できる大手e-コマースサイトでしかオンライン・ショッピングをしない」消費者が増えている。

 この一見矛盾する二つの情報をあなたならどう解釈するか、そして、そこに何らかのビジネスチャンスを見出すことができるか、というのが今回の問題である。


足りない頭を使って、考えてみることにします。ここでは、私は個人の立場に立って回答します。つまり、ある程度の規模を持った企業の立場からは回答しません。

さて、この問題【2】の記述は微妙に問題のすり替えを行っています。「ウェブ上のビジネス=オンライン・ショッピング」という図式を作って、一般的な消費者は大手サイトからしかものを買ってくれないから、個人がウェブ上でビジネスがしにくいと言っているようです。【1】と【2】は矛盾していません。
まずは、問題文【1】を信じましょう。「個人が会社に属さずにウェブでビジネスをして十分に食って行くことができる」のです。ウェブ進化論的な話題になりますが、今はウェブの進歩によって富の分配メカニズムが変わり、消費者がものを買うお金だけではないお金(主に企業の広告費や販売費)を、サービス提供者が利益として得られるようになっています。典型例としては、アドセンスやアフィリエイトです。チープ革命の一面の本質は、大手の Google や Amazon が集金メカニズムを構築していて、個人がその集金メカニズムを投資なしで利用できるようになったことだといえるでしょう。収益モデルが投資なしに構築できるから、個人でもビジネスが始められるというわけです。

しかし、個人が起業するために、アドセンスやアフィリエイトから利益をあげられるようなウェブサイト(ブログ)でも作るといったら、回答としては少々つまらないですよね。もしそうだとすると、個人でビジネスをするにはみんな物書きになれって言っているようなもので、ビジネスチャンスと呼べるものではないでしょう。ただ、私はこの回答には一つの本質が含まれていると考えています。それは、ウェブによって「面白い(役に立つ)ものがあったら少ない初期投資でもお金になる仕組み」が生まれたということだと思います。

というわけで、つまらない結論を言うと、面白い(役に立つ)ものを作って、集金メカニズムは既存の大手のものを利用して、初期投資を小さくしましょうということで。

それにしても、「ウェブ上のビジネス=オンライン・ショッピング」に向くような定番的な入金システムはほしいですね。ある程度の規模を持った企業なら、一番のビジネスチャンスはここと見るべきなんじゃないかなぁ・・・。


Posted by あかさた
ビールの栓を開けるレゴ・マシーンなんて作っちゃう人がいるんですね。ET ロボコンでもマインドストームを使ってましたが、こういうのも面白いですね。

マインドストームをやりこんでいる人ってたまに信じられないようなことをしますが、こういう制約のあるハードの中でどれくらいのことができるのかみたいな挑戦というのは、燃える人がいるんでしょうね。最近は富豪的プログラミングばかりしているので、私はそういう気概を持ててないですけど。

ちょっとぐぐったら、以下のようなサイトが出てきました。マインドストームの本とか書いている人かも。

Joe's Mindstorms Gallery
http://homepage3.nifty.com/mindstorms/index.html

Posted by あかさた
以前の記事でトラックバック(受信のみ)を実装したと記述しましたが、ようやく送信も実装しました。要約の作成をちゃんとやっていない(今は全文を送信するという非常に迷惑な仕様になっている)とか問題は残っていますが。今のところ、はてなダイアリーへの送信には成功しています。

問い合わせ文字列に、title、url、blog_name、excerpt を指定して、post で送れば良いだけなのですが、Ruby の http 回りで少々てこずってしまいました。情報が少ないのです。

コードとしては以下のような感じです。
def send_trackback(url, article)

Net::HTTP.version_1_2
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, 80)
data = 'title=' + article.title +
'&url=' + Base_Url + 'articles/show/' + article.id.to_s +
'&blog_name=' + Title +
'&excerpt=' + article.content

response = http.post(uri.path, data)
end


Posted by あかさた
あけましておめでとうございます!
今年もよろしくお願いいたします!!

というわけで、お正月が来ましたが何をするでもなく、ウィーンフィルのニューイヤーコンサートを聴きつつブログを書いています。

一年の計は元旦にありとは言いますが今日やったことは以下のとおりです。
・ ピアノの周りを片付ける ← 大掃除の残り
・ 祖父母に年賀の挨拶
・ ピアノをひたすら弾く

うーん、今年は決意の年になるはずが、なんか出だしからのんびりした感じになってしまっています。(笑) ま、いっか。

今日弾いた曲。
・ モーツァルト「ソナタ」(ニ長調、ハ短調、どちらも一楽章)
・ ハイドン「ソナタ」(ソナチネアルバムに入っているやつの一楽章)
・ モーツァルト「ロンド」(ソナチネアルバムに入っているやつ)
・ ラヴェル「水の戯れ」
・ シューマン=リスト「献呈」
・ モンポウ「歌と踊り6」
・ プーランク「エディット・ピアフ讃」
・ ヤナーチェク「ソナタ 1905年10月1日街頭にて」(一楽章のみ)
・ ブラームス「ソナタ3番2楽章」
・ スクリャービン「幻想曲」
・ ブラームス「パガニーニの主題による変奏曲第一集」
・ ショパン「バラード4番」

大学時代に弾いた曲を覚えている限り乱れ弾きという感じでした。年末は大掃除や御節の準備やらで少しストレスがたまっていたようです。いい発散になりました。さぞかし近所迷惑だったことでしょう。(^^;

それにしても、頭は曲を覚えているのですが、指が思ったように回らないです。(--; 今年は、指の性能をせめて学生時代くらいには戻すことを考えないとなぁ・・・。

Posted by あかさた
大掃除が大体終わってきたので、今年の振り返りと来年の目標でも立てようかと思います。

■ 去年の振り返り
去年の年末に今年の目標を立てたので、その評価からしてみます。

・ 健康を維持する(結果:○)
・ 3 回ピアノの演奏会に出る(結果:×、1回だけ)
・ 週に一回は、blog に日々思ったことを書き留める(結果:○、200 回位書いた)
・ 専門書以外の本を 50 冊読む(結果:○、100 冊位読んだ)
・ 得意技(専門分野)を見つける(結果:△)
・ Rmake を完成させる(結果:×)
・ 去年よりは人に迷惑をかけない(結果:△)

目標を達成するということは難しいことですね。(^^;

今年の一年で印象的だったのは、7 ~ 8 月のころだと思います。仕事とか広場とかピアノの演奏会とか締め切りが同時にやってきて非常にしんどかった。それぞれそれなりにこなして、最後のピアノの演奏会はまずまずの成功を収めることができました。割としんどい状況で自分をそれなりにコントロールできたことはよかったと思います。
# 今やり直せばもっともっと質の高い成果を上げられたと思いますけど。(^^;

そういえば、同期のライブも刺激を受けました。同期がものすごい勢いで成長していっているわけで。そわ~るのメンバーの面々のピアノの演奏を聴いたときも、その成長に驚きました。今年は、知り合いの成長速度に驚かされた年だったかも。私も負けずに成長していきたいものです。

今年は自分的にびっくりするようなこともありました。未踏に通っちゃったことです。もっとも、正直、他の採択者の方と比較すると、実力的に私は場違いな感じを受けているので、ドッキリかもしれないと、いまだにビクビクしていますが。(^^; 何はともあれ、これに絡んで、来年は私の生活は今とはがらりと変わることになります。半分ワクワク、半分ビクビクではありますが、やるからには今の自分の全てをかけてやり遂げたいものです。

悪いことはこれといってなかった気がします。ありがたいことです。

■ 来年の目標
・ 【生活】 健康を維持する
・ 【趣味】 3 回ピアノの演奏会に出る
・ 【仕事】 挑戦して成功する(何をするかは未定。未踏のさらに先にあるものです。)

来年目標はシンプルにしておきます。あれこれやるというよりは、一つ二つに力を集中する一年になると思います。気持ちを集中できるかどうかが来年の成否をわけることになりそうなので、しっかりやりたいなと考えています。来年もいい年にするぞ!

■ 総括
皆様のおかげで、良い一年をすごすことができました。ありがとうございました。来年もよろしくお願いいたします。m(_~_)m

Posted by あかさた
未踏がらみの話ですが、JavaScript を使って、ブラウザ上で VML や SVG を使って描画した要素をマウスで動かすということをしたかったので、調査してみました。結論を言えば、JavaScript で要素を動かすことはできました。ただ、JavaScript のコードを大量に書くと、クロスブラウザの問題などで手間がかかりそうなので、一歩踏み込んで script.aculo.us を使って楽をできないか試してみました。

実験としては、script.aculo.us の Draggable を使って、ブラウザ上で VML や SVG を使って描画した要素をマウスで動かすということをしてみました。

結論を言うと、VML はいけますが、SVG はいけませんでした。ちゃんとソースコードを読んだわけではないのですが、script.aculo.us の Draggable はスタイルシートの left や top を操作します。VML はこれで位置座標を変更できるのですが、SVG の Rect 要素などは、位置をスタイルシートで設定するわけではなく、x や y などの属性で位置を操作するためできません。script.aculo.us の Draggable をそういう風に書き換えれば動作するのだと思いますが、ソースを読むのもしんどいので、結局 SVG 向けには自前で Draggable 的なものを作成しました。

以下、例です。
■ VML(IE6 で動作確認済み)
○ VML


○ JavaScript(script.aculo.us)
new Draggable("vml_rect")


○ サンプル(VML)
IE だけですが、四角が表示されると思いますので、自由にドラッグしてください。





■ SVG(FireFox 1.5 以降で動作確認済み)
こちらは、script.aculo.us を使わずに自力で ECMAScript(JavaScript)をたたいて、SVG に埋め込んでいます。

※ IE では動作しません。

■ パフォーマンス
VML + script.aculo.us よりも SVG + ECMAScript の方が動作が軽いです。というか、かなりの差があります。調査していませんが以下のような原因が考えられます。

・ script.aculo.us のせい
script.aculo.us では、要素を半透明にしたりしています。

・ 環境依存
私の PC でだけパフォーマンスの差が出ているのかもしれません。(WinXP + IE6 + Pen4 2.8GHz + Mem 1GB + Geforce2 MX)

・ JavaScript エンジンの速度の差
もしかすると、スクリプトは IE の方が遅いとかあったかもしれません。

ふー、疲れた。

Posted by あかさた
今日は一日中、大掃除やら正月の準備やらをしていました。

正月の準備の一環として、栗きんとんを作っていたのですが、裏ごしというのはしんどいですね。毎年やっていることではあるのですが、やってもやっても終わらない作業ってのはまさにこれのことです。あまりにも終わらないので、ショルティ(シカゴ交響楽団)の第九を聞きながら自分にカツを入れていました。(^^;

そういえば、裏ごしをしながら、ぼんやりと今週の仕事を振り返っていました。裏ごしは単純作業なので、考え事をするにはいいです。今週は一年位前に仕込んだネタによって、かなり助けられたことがありました。一年前に仕込んだときはほとんど意味をなさなかったので、作業を手伝ってくれたチームメンバーには見込みが外れて申し訳ないなぁ・・・とか思っていたのですが。今頃になって仕事を(わずかにですが)救ってくれたようです。やはり先を見て手を打つことは大切だなぁと実感したしだいで。
# プロジェクト単位でみれば、一年はスパンとして長すぎですけどね。(^^;

なんか裏ごしと関係ない話ですが。(^^;

Posted by あかさた