輝々凛々

ガンバるってことは、素晴らしい事だ。

無闇なオーバーライドは禁止。

「Aクラスを継承したBクラスが、Aの関数をオーバーライドする」

って便利だけど、気持ち悪くないですか。たとえば、以下のようなオーバーライドします。

#include <iostream>

class A
{
public:
	virtual ~A() {}
	int foo()
	{
		return bar();
	}

	virtual int bar() { return 1; }
};

class B : public A
{
public:
	virtual ~B() {}
	virtual int bar() { return 2; }
};

int main()
{
	A a;
	std::cout << a.foo() << std::endl;

	B b;
	std::cout << b.foo() << std::endl;
	return 0;
}

これってさ、すっげー気持ち悪くないですか?

main関数のb.foo()コールは、Bの親クラスのA::foo()を呼んで、A::foo()内で、B::bar()に入るんで、結果は2になります。この流れの中で、A::foo()からB::bar()関数をコールしちゃう部分、スンゴイ気持ち悪いですよ。

なんか、モジュールとしてはAの方が下位モジュールだと思っていたのに、Bが下位モジュールになっちゃうんですよね。(下位モジュール=呼び出される側)

いやまぁ、便利なときもあるんですけど、オーバーライドって無闇にやるもんじゃないっすね。

子供と親

子供は、親はいつも許してくれると思っています。
どんな憎まれ口をきいても自分は傷つくけど親は傷つかない。

だって親は大人だから!

親が子を苦手になるなんて絶対いけない。
全然気にしてないって素振りで息子さんの誕生日 行ってあげなさい!

from テレキネシス(画:芳崎せいむ、作:東周斎雅楽、小学館)

ドラマ

佐々部さん。オレの仕事はドラマです。
いいドラマを作って、テレビの向こう側の何万人もの視聴者を感動させることです。
でも、もう一つ使命がある!
ドキュメンタリーです。
すごい役者たちを記録する。記録して視聴者の記憶に残す!
オレはあんたのために出演をお願いしているんじゃない!
オレ自身のためです!

from テレキネシス(画:芳崎せいむ、作:東周斎雅楽、小学館)

「WALKING TOUR」に感動した!

http://pya.cc/pyaimg/pimg.php?imgid=6468
感動した!

それは永遠に続くようで
続かないこともある。

足を止めてしまった人とは
もう一緒に歩くことはできない。

だけど

その人は「いなくなった」わけじゃない。
そこに立っている。

ずっとそこにいて
僕たちが歩くのを見ている。
いなくなったんじゃない。

いつまでもそこにいるから
安心して僕たちは歩き続けよう。

進輝彩生

明日を照らして進んでいこう。 輝らした明日で、未来を彩り生きていこう。

進輝彩生

意味はないけれどムシャクシャしたから

シャットダウンを長押しで

Visual C++ 2008、やっぱり例外指定には未対応。

Visual C++ 2008(の英語版)がリリースされましたが、 やはり「例外指定」には未対応のようです。

例外指定は、こんなの↓

void function() throw(std::badalloc)
{
}

ちくしょう。

名画のような夜景

東京タワーで写真をパシャり。

名画のような夜景
名画のような夜景

P3DvX

公式アナウンスの1日前にアナウンスするのは、何か悲しいよ。 いつものごとく、アナウンスだけなんだろうし。

木村カエラの魚肉ソーセージ。

目の前・・っちゅうか、耳の奥・・?で、
木村カエラが魚肉ソーセージをむいとる・・・。

これ書いてるうちに10本むきやがった。
早過ぎ。

記録は、1分12秒80。1本あたり、7.2秒。
・・・・、早過ぎ。


え? ギネスに挑戦すんの?
が、がんばれ!

なんとなしにお勧め音楽@2007年11月14日

  1. Anna Nalick「Breathe (2 AM) (Album Version)」
  2. Simon & Garfunkel「MusicBRIDGE OVER TROUBLED WATER」
  3. BILLY JOEL「PIANO MAN」
  4. Bob Dylan「Like A Rolling Stone」
  5. CHARA「レモンキャンディ」
  6. CHEMISTRY「ココロノドア」
  7. Crystal Kay「恋に落ちたら kut Remix」
  8. Crystal Kay「きっと永遠に」
  9. Dana Glover「It Is You (I Have Loved)」
  10. DES'REE「What's Your Sign?」
  11. Electric Light Orchestra「Telephone Line (Album Version)」
  12. Fergie「Finally」
  13. FIONA APPLE「ACROSS THE UNIVERSE」
  14. FROM CRESCENT「フランジェリコ」
  15. GOING UNDER GROUND「ハミングライフ」
  16. GTS feat. Loleatta Holloway「What Goes Around Comes Around」
  17. Gwen Stefani「The Sweet Escape」「Early Winter」
  18. HOME MADE 家族「流れ星 ~Shooting Star~」
  19. HOME MADE 家族「君がくれたもの」
  20. Ilona
  21. Jake Shimabukuro「The Beatles Medley」(Inst、ゆずとか色々のアコギ)
  22. KARLA BONOFF「THE WATER IS WIDE]
  23. m-flo loves YOSHIKA "Musiclet go"
  24. MIKA「Grace Kelly」
  25. MONDO GROSSO「Everything Needs Love feat. BoA」
  26. Ne-Yo「Sexy Love」
  27. NOKKO "恋はあせらず"
  28. Reggae Disco Rockers「太陽の石」
  29. REIRA starring YUNA ITO「ENDLESS STORY」
  30. shawn colvin「WHOLE NEW YOU」
  31. Skoop On Somebody「翼をください」
  32. Skoop On Somebody「もう一度夜をとめて」
  33. SOPHIE B. HAWKINS「As I Lay Me Down (Album Version)」
  34. SOUL'd OUT「CROWN KIDZ」
  35. SOULHEAD「DearFriends」
  36. Take That「Beautiful World」
  37. Take That「Shine」
  38. Vienna Teng「Whatever You Want」
  39. YO-KING「その後の世界」
  40. YO-KING「遠い匂い」
  41. いきものがかり「うるわしきひと」
  42. シュノーケル「Bye-Bye × Hello」
  43. スネオヘアー「やさしいうた」
  44. 伊藤由奈「Precious」
  45. 押尾コータロー「グリーンスリーブス」
  46. 中 孝介「My Life」
  47. REIRA starring YUNA ITO「ENDLESS STORY」
  48. Rie fu「ツキアカリ」
  49. 加藤 ミリヤ「Love is...」
  50. 一青 窈「さよならありがと」
  51. 大山 百合香「Music夏のしずく」
  52. 星村麻衣「EVERY」
  53. 星村麻衣「桜日和」
  54. 平井堅「哀歌(エレジー)」
  55. SAVAGE GARDEN「The Animal Song (Album Version)」
  56. スネオヘアー「伝えてよ」
  57. Kate Nash「Foundations」
  58. CAROLE KING「SO FAR AWAY」
  59. SUEMITSU & THE SUEMITH「Sonatine」
  60. SUEMITSU & THE SUEMITH「ROCK A NOVA」
  61. AYUSE KOZUE「WHEN I WISH UPON A STAR」
  62. GOING UNDER GROUND「さかさまワールド」

多すぎ?

リンク書くのシンドー。

人が良すぎ。

思うに、日本の技術者は「お金を稼いでやろう」という気持ちがなさ過ぎる。

プロセッシングモデル。

以前、書いた「プロジェクト処理モデル?」のコーディングをちょとずつ進めているんですけど、モジュールの名称やらを以下のように変更・・・というメモ。

追記補足

「プロセッシングモデル」などと大仰に呼んでいるもので、やりたいことは「同じようなアプリケーションの組み方を毎度毎度するのも嫌だし、基本的な処理の流れをあらかじめパターン化しておけばいいんじゃないか」と思ってパターン化しているもの。いわゆるデザインパターン的かもしれない。

で、ここで示しているもの(というかメモなんですけど)は、アプリケーションの処理がユーザーの入力待ちにならないようなものを想定している。ユーザーからの入力は、このモデルに突入するよりも前に処理すれば良いようなものでもいい(ユーザーがパラメータを決定して、そのパラメータで処理する部分をこのモデルで書ける)。

また、サーバーアプリのようなものには適用できないと思われる。

概要

大まかには、「ユニット」と呼ぶ処理モジュールがあって、アプリケーションはそのユニットをいくつでも、つなげて目的の仕事を達成させる。また各ユニットのデータのやりとりは「データ」という抽象的なデータを用いて行う。

基本的には以上だが、各ユニットの動作が必ずしも同じ速度で動くわけではないので、各データを貯めておく為に「データプール」というモジュールを用意しておく。

また、アプリケーションは、このモデルを利用した際に煩雑な手順を毎回コーディングすることになってしまうので、シンプルに扱えるように「マネージャ」というモジュールを用意しておく。

ユニット
何かを処理するモジュール。入力データや出力データはなくても良い(ファイルリードは入力データなしのユニットで、ファイルライトは出力データなしのユニット)。ユニット内ですべき仕事はアプリケーションからパラメータとして渡される。
データ
データの抽象クラス。バイナリデータや、画像データなどのデータをメモリ上に持つ(メモリアロケーションの管理もする?)。
データプール
データを一時的に貯めておく貯蓄クラス。アプリケーション(マネージャ)は、プールがあふれない様にプログラムを組む必要がある(面倒?)。
マネージャ
ユニット間のデータ接続やプールの管理などを簡単に行えるインタフェースをアプリケーションに提供するモジュール。
アプリケーション
仕事を記述するだけ、あるいは拡張ユニットを作成してマネージャに投げるだけ。

C#でクラスダイアグラムを作ってみた↓

プロセッシングモデル
クラスダイアグラム - プロセッシングモデル

うわぁ。しまった、ちょっと画像間違えた。IUnit.InputData.getはいらねぇし、IUnit.OutputData.setもIUnit.HasExited.setいらねぇなぁ。ついでにいうと、IDataPool.Dataも、どっちかっていうとIDataPool.DataListくらいにした方がいいのか? それなら、アクセッサはpush/pop系にしたいなぁ。

問題点

この状態でいくつかモジュール実装して、処理の流れがうまくいくことを確認。モジュールの追加や削除も簡単。しかし、ひとつ問題が浮上。問題は、「複数の出力データを受けて処理するユニット」とか「出力データが複数あるユニット」が作れないこと。

次のどれかだとは思うが、ほかに良い方法がないか探り中。

  1. IUnitを拡張して、PrevUnitListや、PostUnitList、InputDataList、OutputDataListなどを持つ、、という安易な方法。
  2. IDataPoolの実装方法を工夫する。ガベコレのような管理をするプールを実装。
  3. IDataの実装でがんばる。特定のユニットまでデータをキャリーしていくデータを実装。

上記、いずれにしてもIManagerが複雑化する。

WF

「エッセンシャルWindows Workflow Foundation」という本を読み進めているのだけど、何かここにヒントがあれば・・・・・・・・・・いいのになぁ。

重症?

前評判が高いゲームほど、購買意欲をそがれる・・・。
重症?

雨嫌人間

雨、けっこう好きなんだけど、なかなか雨にあたれない。
いや、雨降ってるときに外に傘ささずに出ればいいだけの話しなんだけど
それはしたくない。

今日も、外出二回したんだけど、
二回とも帰ってきてから雨降り出すの。
いつもこんな調子。

折りたたみ傘はいつも持ってるんだけど
ほんと雨にあたれない。


あぁ、よっぽど雨に嫌われてるのかな?

溺れたい鳥

天使とダンスでもしておくか。

匿名?

ネットは実名制にするべき?
バカな。あんたらには無理。

犯罪の温床?
バカな。実名さらしたら、もっと犯罪しやすいよ?
 名前がばれる。
   ↓
 どこかのユーザーIDとパスワードをハックされる。
   ↓
 名前とパスワードで、クレジットカードゲット。
   ↓
 預金残高マイナス。

とか。
 名前がばれる。
   ↓
 住所がばれる。
   ↓
 火炎瓶を投げ込まれる。

とか。

え? 何? 大げさだって?
いやいや、中国じゃ既に起きてるよ。
ネットゲームで自分を殺した相手をリアルで殺したやつがさ。


だいたい、芸能人が「ネットは実名制にするべき」って、アホか?
あんたらが一番、実名の怖さを知ってるんじゃないの?
あんたらは、電車に乗れる?
普通に買い物できる?

よく考えてくれよ。



実名性にすることで守れるものがあるのだとしたら、
それは実名を公開しなくても守れるものだよ。
ほかの手段がきっとあるんだよ。

守りたいものがあるから、何かを提案するのはいい。
だけど、その提案によって大前提が覆るならやめたほうがいい。
いままで積み上げたものが全部、ひっくり返っちゃうからね。
誤解のないように言っておくけど、ひっくり返るのは別に問題視していないよ。
問題なのは、ひっくり返ることを認識していないことだ。

まるで
「春の街を爽快に全力疾走!
 ただし、大雨!!」
みたいな。



もし、実名が最善解だとすれば、
どうやって今まで積み上げてきたものを残しながら
新しい道を切り開くかを考えないといけない。
何を遺して、何を切り詰め、何を切り捨てるのか。

クレイジー

リストビューに6万個のファイルを詰め込むなんて、クレイジーだよなぁ。
なんか、もはやリストビューである必要性がない(まったく「リスト」って気がしない)。
ほんと、クレイジー。

たぶん、最初のいくらかだけを表示して残りは表示しないのが現実的なのかな。
名前順でも、ファイルタイプ順でも、最初のほうのやつだけ表示する。
で、後はサーチとかでカバーするのが現実的だよなぁ。。


使えないものに価値はない

たとえば、
1000段階のスレッドプライオリティ制御ができます。
という機能。
意味がないし、使用者がどう設定していいか、わからない。
結局、1000段階あっても、3段階くらいしか使わない。
1000段階のスレッドプライオリティ制御には、結局その程度の価値しかない。

よく考えなきゃいけない。

Visual Studio 2008 Express Edition インストール

インストール

そろそろ、LINQやWPF、WWFなんかにも手を出すべきかと思い、重いおなかを凹ませて、ディスクを焼いて、Visual Studio 2008 Express Edition Beta2 をインストール。とりあえず、Visual C# 2008 Express Edition の日本語版をインストールしてます。

Visual Studio 2008 Express Edition インストール01
ディスクを入れたところ。ちょっぴりクールな感じです。

Visual Studio 2008 Express Edition インストール02 インストール中
C#インストール中です。.NET Framework 3.5とかWindows SDKがついでにインストールされます。前のページでSQLサーバーとかMSDNライブラリも選択できましたが、まだ自分には関係ないのでインストールからは外しました。

そして、C#をインストール完了(.NET Framework 3.5に手間取る・・。XPの人は、3.0も印ストールするのかな?)。
Visual C# 2008 ウィンドウ
2005と見た目は余り変わらない模様。。

C++もインストール。
Visual C++ 2008 ウィンドウ
やっぱり、普通。

.NETアプリ作成では、C#にWPFアプリが追加されてるくらいで、VS2005と大差ないように見える。まぁ、細かいところでVistaに対応してる印象を受けるけど、このまま家の開発環境は2008でもいいかもしれない。

あ、そうそう。VC2008の方にはちゃんと、「Win32プロジェクト」のテンプレートがありましたし、VC2008のオプションにはシンボルファイルのパスを指定するところがありました。ただし、「http://source.msdn.microsoft.com/symbols」はまだ生きていない模様。

一見、あまり変わってないように見えるけど、実はいっぱい変わってるんですかね。ちょいちょい使っていきます。

あ、ちなみに「_MSC_VER」は1500です。1310が.NET2003、1400が2005だったので、順当ですね。

目には目を、一日為さざれば一日喰わず

どちらも「自分から」の言葉だ。
相手に傷を負わせたなら、自ら同じ傷を負う。
一日何もしなかったら、飯を食わない。

相手に受けた傷を仕返すのではなく、
何もしないやつの飯を抜くのではない。

ぜんぜん違う。

.NET Frameworkの実装コード公開へ

Visual Studio 2008では、.NET Frameworkのコード内もデバッガで追えるようになるみたいです。

おそらく、「環境設定」の「デバッグ」-「シンボル」中にある「シンボルファイル(*.pdb)」を指定すれば良いものと思われます。が、VS2008はまだベータ2ですので、私はダウンロードはしましたがインストールはしてません。
はい、明日しますです。今、ディスクイメージをライティング中です。

ただ、Express Editionでできるか謎。
そうなったら、チームエディションのベータ2をダウンロードせねば。
(こないだ失敗した・・、なぜだー)


あ、そういや、Express Editionは、2008からWindows SDK同梱になったみたいですね。
これで、DirectX プログラミングもDirectX SDKだけのインストールで済みますね。


参考


ディベロッパー製品開発統括部 Blog「.NET Frameworkのソースコード とシンボル ファイル」

そんなあなたにドロップボックス

以前、ビーンスタークMacのTimeMachineなどを紹介したわけですが、
実は本気で楽しみにしているのは表題の「ドロップボックス」。

すげぇよ?


まるで、複数台のPCでファイルを共有しているようにバージョン管理できて・・、
いや違うな。
ひとつのデータに複数のPCからアクセスしているようなバージョン管理。
なんというか、ハードディスクがPCからなくなる可能性を秘めたイノベーション?

なおかつ。
Wiki機能と要件管理などもあるとのこと(tracだね)。

そんな感じ。

関連




あとはデイリービルドとか自動テストとか、あるといいなぁ。
ついでにrsync使ってるみたいだけど、これP2Pとかもしてくれるのかな。

なんか、ユビキタスなんて通り越してるね。

己知彼知

自分を知って、相手も知れば、何度戦っても危なくない。
というような意味。
「敵を知り、己を知らば、百戦危うからず」とも言う。

甘いよな。
自分を知って、相手を知っても、百戦は危ういと思う。
「危うからず」なんて、甘すぎ。

孔子はそんなこと言ってないと思う。
己も知って、相手も知れ。
ただ、それだけだ。
それが必要最低、それでも危うい。
気を引き締めろって言ってんだと思う。


何の根拠もないけど。

温故知新

古いことを知ることで、新しいものを知る。
というような意味。

古いことを知って、新しいことを知らずに済ますことじゃない。
そういう人が多すぎる。

適職

同じ業界の転職求人でも、
 求められる適性やキャラクターは、
 会社によってぜんぜん違います。


そうだろうか。
求める側は、いつも同じだと思う。
才気あふれる人を求めてる。

応募する側は、淡い期待を持たないことだ。
自分が相応しくならなければならない。
どんな会社でも求めてやまない理想の社会人にならなければならない。

余裕のある計画

最近は何気に余裕を持って、自分の予定をたてることに成功している。
「んー、ま、2週間ですかね?」
てな具合だ。
(実は1週間もかからないと踏んでいる仕事なんだけどね。
 ほかの仕事との兼ね合いもあるし、2週間。)

社会の仕組み?

マイクロソフトは、わざと欠陥製品を売っているんじゃないかと思う。
そうすることで、マイクロソフト自身に死角を作れて、
その死角に他社をつけこませることで、マイクロソフト自身の独占を抑えられる。
そして何より、マイクロソフトの次の製品の顧客を作ることができる。

大企業にしかできないワザだ。

理想が服着て歩いてました。

明らかに自分よりも技術力とか知識とかを持っている人に出逢うと
とりあえず悔しい。
そしてとりあえず嬉しい。

目標が服着て歩いているなんて、嬉しいものだ。
見える目標は追いやすい。

基本

目標が見えない努力は実らない。
ターゲットが見えないプログラムは売れない。
先の見えない道は歩けない。