WAKUWAKUしない

職場で使っていたPCがThinkPad X41でした。
異動に伴って元の担当に返却いたしました。

移動先の担当で借りたPCが再び Thinkpad X41 でした。まっさらでした。

Windows Update入れて再起動、Ctrl <-> Caps 入れ替えユーティリティー入れて再起動、Office入れてpatch当てて再起ドゥ、ThinkpadUpdateしてキサナドゥ、IME入れ替えて新サンテドゥ、ドメインに加入して塩基同…何してんだか。ドゥしてこう、まっさらなPCを使い物になるようにするだけで何度もドゥが必要になる、ことに関しては進化がないのかしら。

そして黒いマシンから黒いマシンへ、同じキーボードから同じキーボードへ移行できたわけだけど、あれだな、ぜんっぜんWAKUWAKUしない。コンピュータを触ってるのにWAKUWAKUしないのは実によろしくないなあ。

今ちょっとだけWAKUWAKUするかもしれないと期待しているのは bootcamp からの Windows 起動だけど、それでもも同じく Update と再起ドゥの嵐かと思うとちょっと萎える。
そうだ、Meiryoに一新される Windows Vista はちょっとWAKUWAKUするな。
comp | - | -

モデリングはあくまでモデリングでしかないという話

オブジェクト指向設計の技術が応用されてビジネスモデリング技術が進化している。BPELとかそうだろう。てことは、そろそろアスペクト指向設計技術が応用されてアスペクト指向ビジネスモデリング、てのが定着していくんだろうか。(ここまでアイデア1)

そしてオブジェクト指向などのモデリングが得意な人は、そのままビジネスレイヤのモデリングが得意な人になっていくことができる。そして、プログラミングの経験があるから、プログラミングの段階に「そんなモデルは机上(実際は処理効率悪くてやってらんねえよ)」となる前に、現実的なモデリングを行う。

それに対し、ビジネスモデリングだけ得意な人は、「そんなモデルは机上(そんな理屈があっても「実務」が回んねえよ)」というブレーキが働く。この辺は相似している。

いずれにしても、コンピュータの処理、実務の実現性、などが判断基準になるということだ。要は、モデリングばかり勉強する前に、しこたまプログラミングするなり、しこたま実務するなりしてこい、てことだな。(以上、アイデア2)
comp | - | -

language popularity

TIOBEによる話題の言語ランキングというものがあるのだ。なるほど、Java が C を抜きましたか。VB も根強いですな。成長加速度が見られるのが面白い。

これは「話題になってる数」がベースだから実際の市場規模とは乖離があるだろう(先行してるだろう)が、数年後にはこの傾向で「売れるプログラマ要件」が推移していくのだろう。
第一位…Java
第二位…C
第三位…C++
第四位…PHP
なるほど、Web系と組み込み系に需要が高い傾向にあるんでしょうね。そして、
第十六位…ColdFusion
第二十二位…Ruby
とな。ColdFusion は JRun ベースの J2EE なんだけど、高度に隠蔽されてるのでタグ言語だけでアプリができちゃうという認識だったんだけど、急激に話題になってるようだ。Flash 連携テクが増進中ということだな。Ruby は研究者人気は高いけど、まだ世の中で商業的に教育されてる言語ではないってことかな。

さらに、
第四十八位…Objective-C
うわー、MacOS ネイティブの言語はこんなとこにしかいないのか!
comp | - | -

buildemacs.sh

そんなに使わないと思いつつ、やっぱりコンパイルしておきたい Emacs.app ですが、OSX用は割と進化が早いので追いつくための build 作業も回数が多くなると面倒、ということで作ったスクリプト。$ sudo ./buildemacs.shなどとして数十分ほっとくと完成し、/Applications に Emacs.app が鎮座してくれるというもの。
#!/bin/sh

export CVS_RSH='ssh'
cvs -z3 -d:pserver:anoncvs@cvs.sv.gnu.org:/cvsroot/emacs co emacs

cd emacs
./configure --with-carbon --without-x
export MACOSX_DEPLYMENT_TARGET=10.4
perl -i.bak -p -e 's/(#define HAVE_GETADDRINFO 1)/\/* $1 *\//' src/config.h
make bootstrap
make install
cp -r Emacs.app /Applications
HAVE_GETADDRINFOをコメントアウトすることで、ローカルで名前解決をしようとするのを防いでます。
comp | - | -

モデる側とモデられる側

コンピュータそのものではなく、コンピュータを用いたシステムでは、その設計段階で、扱う情報、ユーザーの振る舞い、メッセージ、そしてもちろん実現したい機能をモデル化する。設計(デザイン)とはモデル化とその実現方法の検討に他ならない。このデザイン屋をモデる側とし、情報や振る舞いの源泉たる人、をモデられる側とここで称してみる。

さて、システム屋のはしくれたる俺もモデリング手段なり新しいモデルなりへの興味は尽きない訳だけど、この、モデル化そのものに対して嫌悪感を抱き、反発する層ってのが存在する。

この層は「ふふん、オラのクリエイチビティをオメーなんぞのカタにハメられてたまるかコノヤロ」みたいなマインドを持つ層、と言い換えることもできる。新たにモデル化できたもの=スタンダード予備軍という側面もあるため、あらゆる標準化への嫌悪感を抱く連中がいることは、まあ、想像できなくもない。でもユーザーさんですので「少数意見」てな風に無視する訳にもいかん場合がある。

こういった層に出くわす場合、「どこまでモデル化するか」、というモデル化レベルそのものの議論となる。情報や振る舞いを、網羅性の高いガチガチのモデルにしてしまえばしてしまうほど、確かに実装はラクでしょうし、モデる側としては「モデれるものは全部モデりたい!」と思うのも自然ですが、ガチガチにモデル化されたオブジェクトはその発生元であるヒトの創造性を潰してしまうことにもなりかねない。

これが業務システムなら納期だなんだの制約事項のせいで現実解への収束もありえましょうが、コンシューマサービスは難しい。情報の用途をガチガチにしてしまったがために、(実はあった)多様性をomitしてしまう、という事態は避けたい。

オブジェクト指向のおかげで、モデる側は情報、に対するmethodは増やしうることを想定して設計できるようになったが、どうもそれだけでは済まないような気がする。

Web2.0のキーワードに「情報のremix」も掲げられているように、「情報」自体は非常に単純な構造で、そのmethodを足すためのAPIがオープンになっている、というアプローチが、情報の用途の多様性を担保するためのヒントではないだろうか。

なんて思いつつ2005年は暮れていく。
comp | - | -

生産性の向上だけが興味かしら

コンピュータの世界、というかIT屋の世界ではRoRなどAgileな開発手法についてトピックとなることが多い。メディアの煽動なのかもしれないが、皆の関心がそこにある、という顕れでもあるだろう。

しかし皆の関心が固定的になればなるほど、その分野での差別化は難しくなる。この世界、αな技術に対する興味が業界全体を先導しているという事実も無視できないが、本当のプロジェクトでは「実装が早くできましたね」という生産性だけが成功要因ではない。そして過去にも、本当に問題になったのはコーディングの生産性だけではなかったはずだ。

もちろん、これら生産性向上技術をトレンドとして踏まえておく、共通言語として知っておく、さらには生産性に対する世の中基準が今後こういった技術ありきとなることへの理解、という最低限の努力は必要だろう。が、懐刀として必要なスキルは生産性の向上だけなのか考えていくべきだ。

IT業界は、まだ、買い物下手なお客と売り下手なベンダとが互いに「どうやったら互いに納得する取引になるのか」を勉強している状態にあると思う。そんな中で、売り手、作り手が、己の視点で生産性にだけ興味を先行させ、本来顧客へ提供すべき価値がどこにあるのか、という議論がないがしろになってしまうことは避けたい。

などと思っているところに ITProの記事が現れて、自戒を込めて同意した次第。
comp | - | -

wshで全角変換

かなり特殊要件でしか使わないであろうスクリプトを wsh (JScript)で組んでみた。半角カナ英数記号を全角に置換します。
ネイティブWindowsで使えるのがややいいところ。
※全部半角変換もできたので再度うp
続きを読む>>
comp | - | -

構造はあとから追いかける

Webアプリケーションにしても、デスクトップアプリケーションにしても、最近はフレームワークという名のもとで開発することが多くなっている。フレームワークという単語自体は別に新しいものではなく、枠組み、とか手順、とか指針、とかと言い換えてもよくて、先人の智慧としてそこいらじゅうにある。物事を整理するための考え方をフレームワークと言ったりもする。

では、アプリケーション開発におけるフレームワークとは何だろうか。それはどうやってできて、何をもたらして、人をどう導くのだろう、みたいなことについて考えてみた。

アプリケーション開発におけるフレームワークとは何か、は人によってまちまちだけど、大まかには、開発ツール、開発手法のドキュメント、共通ライブラリ、コード自動生成ツール、のひとつ以上を含み、とにかく(エディタとコンパイラしかありませ〜ん)てな環境よりも品質の底上げと開発生産性に貢献するものはフレームワークと呼ばれるようだ。そういう意味では、XCode や VisualStudio も立派なフレームワークだ。

ここで、Webの世界だとRuby on Rails(←これは面白そうだ!)やStrutsとJ2EE、.NET Framework などは汎用のフレームワークとして大層活躍しまくっている。ColdFusionやWebObjectsだって現役の Webアプリケーション用フレームワークだけど、これら最近登場のフレームワークは、開発の分業を容易にする点が特徴だろう。オメーとオラとはこのインタフェースを介するからオメーさんはそれだけ意識してね、これ引き継いでね、てなオブジェクト指向のなせる技だ。
続きを読む>>
comp | - | -

W-ZERO3が欲しすぎる

po3_illust1.jpg

SHARP & WILLCOM W-ZERO3(通称ザウぽん(でもザウルスではない))は久しぶりに統合感の高いモバイルプロダクツ。

スマートフォンという概念が忘れ去られて or 実は大して便利でねーんでねーノ? という風潮に押されて国内から姿を消してから何年か経つことに寂しさを覚え、かといって最新の携帯電話をメモ代わり、スケジュール帳代わりにすることにいまいち馴染めず、リナザウや DoCoMo の M1000 を睨みつつ黙って Palm m505 を使い続け、そして無線LANルータを使ってるのに無線LAN端末を失っている俺としては寝て使えて持ち歩いて使えて PDA にもなって PC と Sync できてフルブラウザで Windows Mobile でわーーーー! な統合感いっぱいなプロダクツなのだ。

しかしWILLCOMの意欲的な開発ラッシュには正直驚いた。この発表の少し前、W-SIM(WILLCOM SIM)対応の端末を数種発表し、単なる音声端末だけの進化じゃねーぞ! とサプライズを与えてくれたばかりで、今度はスマートフォン。ああ、DDI-Pの頃から信じててよかった。味ぽん、京ぽんと乗り換えて来たここ数年、こんなに選択肢ができるとは夢にも思わなかったよ。

さーあとは12月発売というその日までキャッシュを貯めておくことか。

いろいろまとまったサイト
comp | - | -