2005年12月22日木曜日

電子書籍の時代が来る?

Ruby on RailsのPDF bookを購入しました。

電子書籍はPalmで読むテキスト形式のものというイメージを持っていましたが、実際買ってみてびっくり。

PDF形式なので当たり前のことばかりですが、初めて読んでみて驚きが多々ありました。
  • 全ページがカラー。
    • ソースコードもカラーリングされていて読みやすい。
  • photo readingしやすい。
    • スペースキーひとつでページがめくれるので集中力が切れません。
  • 本を買うのに比べて半額。
  • 500ページもあるのに、重くない。
  • 目次や参照部分をクリックすると、目的のページにすぐ飛べる
  • ページ中のリンクをクリックすると、ソースコードもダウンロードできる
本って一回読んでしまえば、あとはPDF形式のほうがいいですよね。本棚で眠っていることも多いし場所もとるし。解像度の良い液晶ディスプレイなどが、持ち運びできるようになれば、電子書籍の時代がくると思いました。

iBookというノートPCがあったけれど、これが電車の中で立ちながら読める電子書籍readerに進化してほしいな。出版業界や、書籍流通、ビジネスモデルが激変しそう。ブログの上を行く、個人出版もできてしまう。コミックももっと読みやすくなる。 紙に変わる電子メディア。
ぐにゃぐにゃ曲がるディスプレイなどを開発している人が、次世代の長者ですね。

2005年12月21日水曜日

Emacs on Rails dvelopment

Emacsをrails開発用に設定するノート。 MMMは良いですね。

sqlite3-ruby patch

/usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/sqlite3/driver/dl/api.rb
へのパッチ。


*** api.rb.orig Wed Dec 21 13:30:40 2005
--- api.rb Tue Dec 20 17:32:10 2005
***************
*** 42,48 ****
"libsqlite3.dylib"
when /linux/, /freebsd|netbsd|openbsd|dragonfly/, /solaris/
"libsqlite3.so"
! when /win32/
"sqlite3.dll"
else
abort <<-EOF
--- 42,48 ----
"libsqlite3.dylib"
when /linux/, /freebsd|netbsd|openbsd|dragonfly/, /solaris/
"libsqlite3.so"
! when /win32|cygwin/
"sqlite3.dll"
else
abort <<-EOF

子供の誕生日・クリスマスプレゼント

うちの子供(現在2歳)はクリスマス(12月25日)生まれです。誕生日プレゼントとクリスマスプレゼントが一緒にやってきます。

1つだけでも悩みどころなのに、2つです。
一緒にすると将来恨まれる、と23日生まれの友達が言っていたので、
ここはそれぞれ祝ってあげなければと思うのです。

どんなプレゼントがいいのかな。。
2歳のときには子供用のキーボード(楽器)をプレゼントしました。

いいアイデアがあればぜひ教えてください!

2005年12月20日火曜日

Eclipse Web Tools Platform Project

Lombozeの動作は重くて嫌いなので、こういうplug-inが進化してくれれると楽しい。

Ruby on Rails on Cygwin+sqlite3

やっと動作させるのに成功。

とりあえず、sqlite3は、


./configure --disable-tcl
make
make dll
make install
cp sqlite3.dll (PATHの通っているフォルダ)


sqlite3-rubyは手で修正する必要あり。プラットホームi386-cygwinだと自動的にはじかれてしまいます。

Rich Client Platform - Eclipsepedia

Rich Client Platform - Eclipsepedia

EclipserライクなIDEが作れるみたい。時代が進むのは早くてびっくりです。

模様替え

ブログの模様替えをしました。
ただ、テンプレートをカスタマイズして使っていたので、デザイン移行がやや面倒。

デザインとデータ部分をうまく分離できない、Webアプリケーションプログラマ&デザイナの葛藤と似たものがあります。

2005年12月19日月曜日

screen-4.0.2 on cygwin

こことかここを参考に、cygwin上でscreen-4.0.2をmakeできました。

reattachの動作が怪しいけれど、画面切り替えができるだけで便利。

以下、source codeへのpatch:


diff -c screen-4.0.2.orig/configure screen-4.0.2/configure
*** screen-4.0.2.orig/configure Fri Dec 5 22:46:53 2003
--- screen-4.0.2/configure Mon Dec 19 11:03:33 2005
***************
*** 4156,4361 ****
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext

- { echo "$as_me:$LINENO: checking fifos..." >&5
- echo "$as_me: checking fifos..." >&6;}
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
- See \`config.log' for more details." >&5
- echo "$as_me: error: cannot run test program while cross compiling
- See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- else
- cat >conftest.$ac_ext <<_ACEOF
- #line $LINENO "configure"
- /* confdefs.h. */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-
- #include
- #include
- #include
-
- #ifndef O_NONBLOCK
- #define O_NONBLOCK O_NDELAY
- #endif
- #ifndef S_IFIFO
- #define S_IFIFO 0010000
- #endif
-
- char *fin = "/tmp/conftest$$";
-
- main()
- {
- struct stat stb;
- #ifdef FD_SET
- fd_set f;
- #else
- int f;
- #endif
-
- (void)alarm(5);
- #ifdef POSIX
- if (mkfifo(fin, 0777))
- #else
- if (mknod(fin, S_IFIFO|0777, 0))
- #endif
- exit(1);
- if (stat(fin, &stb) || (stb.st_mode & S_IFIFO) != S_IFIFO)
- exit(1);
- close(0);
- #ifdef __386BSD__
- /*
- * The next test fails under 386BSD, but screen works using fifos.
- * Fifos in O_RDWR mode are only used for the BROKEN_PIPE case and for
- * the select() configuration test.
- */
- exit(0);
- #endif
- if (open(fin, O_RDONLY | O_NONBLOCK))
- exit(1);
- if (fork() == 0)
- {
- close(0);
- if (open(fin, O_WRONLY | O_NONBLOCK))
- exit(1);
- close(0);
- if (open(fin, O_WRONLY | O_NONBLOCK))
- exit(1);
- if (write(0, "TEST", 4) == -1)
- exit(1);
- exit(0);
- }
- #ifdef FD_SET
- FD_SET(0, &f);
- #else
- f = 1;
- #endif
- if (select(1, &f, 0, 0, 0) == -1)
- exit(1);
- exit(0);
- }
-
- _ACEOF
- rm -f conftest$ac_exeext
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "- your fifos are usable" 1>&6
- fifo=1
- else
- echo "$as_me: program exited with status $ac_status" >&5
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5

! ( exit $ac_status )
echo "- your fifos are not usable" 1>&6
!
! fi
! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
! fi
! rm -f /tmp/conftest*
!
! if test -n "$fifo"; then
! { echo "$as_me:$LINENO: checking for broken fifo implementation..." >&5
! echo "$as_me: checking for broken fifo implementation..." >&6;}
! if test "$cross_compiling" = yes; then
! { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&2;}
! { (exit 1); exit 1; }; }
! else
! cat >conftest.$ac_ext <<_ACEOF
! #line $LINENO "configure"
! /* confdefs.h. */
! _ACEOF
! cat confdefs.h >>conftest.$ac_ext
! cat >>conftest.$ac_ext <<_ACEOF
! /* end confdefs.h. */
!
! #include
! #include
! #include
! #include
!
! #ifndef O_NONBLOCK
! #define O_NONBLOCK O_NDELAY
! #endif
! #ifndef S_IFIFO
! #define S_IFIFO 0010000
! #endif
!
! char *fin = "/tmp/conftest$$";
!
! main()
! {
! struct timeval tv;
! #ifdef FD_SET
! fd_set f;
! #else
! int f;
! #endif
!
! #ifdef POSIX
! if (mkfifo(fin, 0600))
! #else
! if (mknod(fin, S_IFIFO|0600, 0))
! #endif
! exit(1);
! close(0);
! if (open(fin, O_RDONLY|O_NONBLOCK))
! exit(1);
! #ifdef FD_SET
! FD_SET(0, &f);
! #else
! f = 1;
! #endif
! tv.tv_sec = 1;
! tv.tv_usec = 0;
! if (select(1, &f, 0, 0, &tv))
! exit(1);
! exit(0);
! }
!
! _ACEOF
! rm -f conftest$ac_exeext
! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
! (eval $ac_link) 2>&5
! ac_status=$?
! echo "$as_me:$LINENO: \$? = $ac_status" >&5
! (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
! (eval $ac_try) 2>&5
! ac_status=$?
! echo "$as_me:$LINENO: \$? = $ac_status" >&5
! (exit $ac_status); }; }; then
! echo "- your implementation is ok" 1>&6
!
! else
! echo "$as_me: program exited with status $ac_status" >&5
! echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
!
! ( exit $ac_status )
! echo "- you have a broken implementation" 1>&6
! cat >>confdefs.h <<\_ACEOF
! #define BROKEN_PIPE 1
! _ACEOF
! fifobr=1
! fi
! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
! fi
! rm -f /tmp/conftest*
! fi


{ echo "$as_me:$LINENO: checking sockets..." >&5
--- 4156,4170 ----
fi
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext


! # Cygwin patch:
! # Cygwin's fifo implementation is broken; see
! # http://cygwin.com/ml/cygwin-apps/2005-04/msg00163.html.
! # Unfortunately, the "broken fifo implementation test" that was in this
! # script doesn't detect this, so just short-circuit the whole thing here.
! echo "$as_me: checking fifos..." >&6
echo "- your fifos are not usable" 1>&6
! fifo=


{ echo "$as_me:$LINENO: checking sockets..." >&5
Common subdirectories: screen-4.0.2.orig/doc and screen-4.0.2/doc
Common subdirectories: screen-4.0.2.orig/etc and screen-4.0.2/etc
diff -c screen-4.0.2.orig/misc.c screen-4.0.2/misc.c
*** screen-4.0.2.orig/misc.c Fri Dec 5 22:45:41 2003
--- screen-4.0.2/misc.c Mon Dec 19 11:06:26 2005
***************
*** 613,619 ****
*/
# endif /* NEEDSETENV */
#else /* USESETENV */
! # if defined(linux) || defined(__convex__) || (BSD >= 199103)
setenv(var, value, 1);
# else
setenv(var, value);
--- 613,619 ----
*/
# endif /* NEEDSETENV */
#else /* USESETENV */
! # if defined(linux) || defined(__convex__) || (BSD >= 199103) || (__CYGWIN__)
setenv(var, value, 1);
# else
setenv(var, value);
diff -c screen-4.0.2.orig/pty.c screen-4.0.2/pty.c
*** screen-4.0.2.orig/pty.c Mon Sep 8 23:26:18 2003
--- screen-4.0.2/pty.c Mon Dec 19 11:10:25 2005
***************
*** 34,42 ****
--- 34,44 ----
#endif

/* for solaris 2.1, Unixware (SVR4.2) and possibly others */
+ #ifndef __CYGWIN__
#ifdef HAVE_SVR4_PTYS
# include
#endif
+ #endif

#if defined(sun) && defined(LOCKPTY) && !defined(TIOCEXCL)
# include
Common subdirectories: screen-4.0.2.orig/terminfo and screen-4.0.2/terminfo
Common subdirectories: screen-4.0.2.orig/utf8encodings and screen-4.0.2/utf8encodings
diff -c screen-4.0.2.orig/utmp.c screen-4.0.2/utmp.c
*** screen-4.0.2.orig/utmp.c Mon Sep 8 23:27:17 2003
--- screen-4.0.2/utmp.c Mon Dec 19 11:09:41 2005
***************
*** 102,112 ****
#endif


! # if defined(GETUTENT) && (!defined(SVR4) || defined(__hpux))
# if defined(hpux) /* cruel hpux release 8.0 */
# define pututline _pututline
# endif /* hpux */
extern struct utmp *getutline(), *pututline();
# if defined(_SEQUENT_)
extern struct utmp *ut_add_user(), *ut_delete_user();
extern char *ut_find_host();
--- 102,114 ----
#endif


! # if defined(GETUTENT) && (!defined(SVR4) || defined(__hpux)) || !defined(__CYGWIN__)
# if defined(hpux) /* cruel hpux release 8.0 */
# define pututline _pututline
# endif /* hpux */
+ #ifndef __CYGWIN__
extern struct utmp *getutline(), *pututline();
+ #endif
# if defined(_SEQUENT_)
extern struct utmp *ut_add_user(), *ut_delete_user();
extern char *ut_find_host();
***************
*** 581,587 ****
--- 583,591 ----
}
#endif
setutent();
+ #ifndef __CYGWIN__
return pututline(u) != 0;
+ #endif
}

static void
***************
*** 589,597 ****
struct utmp *u;
{
u->ut_type = DEAD_PROCESS;
! #if !defined(linux) || defined(EMPTY)
! u->ut_exit.e_termination = 0;
! u->ut_exit.e_exit = 0;
#endif
#if !defined(sun) || !defined(SVR4)
u->ut_user[0] = 0; /* for Digital UNIX, [email protected] */
--- 593,601 ----
struct utmp *u;
{
u->ut_type = DEAD_PROCESS;
! #if !defined(linux) || defined(EMPTY) || defined(__CYGWIN__)
! /* u->ut_exit.e_termination = 0; */
! /* u->ut_exit.e_exit = 0; */
#endif
#if !defined(sun) || !defined(SVR4)
u->ut_user[0] = 0; /* for Digital UNIX, [email protected] */



2005年12月18日日曜日

Apple KeyboardでTypeWell

HHKと比べると、キーストロークが浅く、タイピングの充実感が乏しいApple KeyboardなのですがTypeWell(基本英単語)をプレイしてみたところ50.6(レベルXG)がでました。

あれ、自己ベストと一秒しか変わらない…。

Apple Keyboardって実は打ちやすいキーボードなのかなぁ。打ち心地では明らかにHHKの方が上なのに、不思議。

2005年12月17日土曜日

Ruby on Rails インストール・メモ

Download Ruby on Rails


Ruby on Rails をCygwin上にインストール
  • ruby-1.8.3をinstall (cygwin のsetup.exe経由でも、source compileでも可)
ruby-1.8.3 > ./configure --enable-shared
ruby-1.8.3 > make
ruby-1.8.3 > make install
  • RubyGemsをダウンロードして展開後、
rubygems-0.8.11 > ruby setup.rb
...
rubygems-0.8.11> gem update
Upgrading installed gems...
Updating Gem source index for: http://gems.rubyforge.org
Gems: [] updated
rubygems-0.8.11> gem install rails --include-dependency
Attempting local installation of 'rails'
Local gem file not found: rails*.gem
Attempting remote installation of 'rails'
Successfully installed rails-1.0.0
Successfully installed rake-0.6.2
Successfully installed activesupport-1.2.5
Successfully installed activerecord-1.13.2
Successfully installed actionpack-1.11.2
Successfully installed actionmailer-1.1.5
Successfully installed actionwebservice-1.0.0
Installing RDoc documentation for rake-0.6.2...
Installing RDoc documentation for activesupport-1.2.5...
Installing RDoc documentation for activerecord-1.13.2...
Installing RDoc documentation for actionpack-1.11.2...
Installing RDoc documentation for actionmailer-1.1.5...
Installing RDoc documentation for actionwebservice-1.0.0...

ruby setup.rbの部分で
ruby: No such file to load -- ubygems (LoadError)

と出る場合、環境変数RUBYOPTS=rubygemsと設定されているのが問題のよう。RUBYOPTはコマンドラインにデフォルトで渡される引数です。unset RUBYOPTなどするのがよいかと。

cygwin使わずにコマンドプロンプト(あるいはそれに代わる物)を使っている人にはこんな面倒なことをしなくても、One-Click Ruby Installerが便利。gemまで全部入れてくれます。ただ、こっちのversion使うと、cygwin上でパスの検索がうまくできなくなったりと、いろいろ不都合があるのです。

2005年12月15日木曜日

Native XML Storage Yggdrasillがオープンソース化

ネイティブXMLストレージ EsTerra XML Storage Server -メディアフュージョン

(修正 Dec. 16th, 2005)
EsTerraではなく、Yggdrasillの方がOpen Source化したようです。SleepyCatのBerkeleyDBやMySQLと同様に、GPL版とソース公開義務のない商用版のデュアルライセンス形式で配布しています。

でも、ここにあるベンチマークをみてあんぐり。

/top/root/business/entityBasic[name/text() = ~"este" and nameKana/text() = ~"este"]


こういう、部分一致検索ができるから、他社のものより速いと。こんなクエリ、RDBにpathIDとともにノードを埋め込んで、部分検索用のindexを張るのと何が違うの? 更新とのトレードオフは?

評価できるのはXMLをあつかうインターフェースを開発した努力。
技術的には進化がなくて幻滅します。

ブログをブックマーク化

ブログをブックマーク代わりに使っています。これで、もう少し内容を追記したり、内容ごとにグループ化できれば良いのに。

Why’s (Poignant) Guide to Ruby

Why’s (Poignant) Guide to Ruby

TextMate: The Missing Editor for OS X

TextMate: The Missing Editor for OS X

このエディタ素敵。 こういうのがあるから、Macを使いたくなります。
当分Winからは離れられないのだけれど…。

Eclipse CDT (C/C++ Development Tools)

Eclipse CDT

Ruby on Rails

Programming Ruby: The Pragmatic Programmer's Guide

Ruby on Rails (こちらはそのジョークだけど的を得ているかも)がWebアプリケーション開発で話題になってきているので、
そろそろRubyを勉強し始めるのもいいかもしれない。

LabelflashでCDのラベル印刷

DVR-UN16L 特長一覧

DVDドライブでDVD表面に印刷できるようになっている。これはすごい。いくらデータがDiskにたくさん書き込めるようになっても、label面が真っ白だと情報が迷子になってしまうので、こういう機能も大事。

2005年12月14日水曜日

On Demand News - CNN.com

CNN.com はOn-demandでニュース映像を配信するサービスを始めました。以前は有料だったのだけれど、無料になったようですね。

ケーブルテレビとか衛生放送にわざわざ加入してまで海外のニュースを見る必要がなくなります。これは嬉しい。毎回同じCMを見せるのは勘弁してほしいけれど。

The Relative Unimportance of Global Warming

by Bjørn Lomborg

読んでなるほど、と思った。京都議定書はCO2、CH4などの「早期削減」を目指したもの。けれど、とある気候モデルを使うと、仮にこの議定書の試みがうまくいき、2050年に先進国が、50%のCO2の削減に成功したとしても、2100年から温暖化を6年先延ばしにするだけ、という計算になるようだ。

経済モデルでは、CO2早期削減のための投資に年1500億ドルを使う試算になるが、その半額で、世界中の人々の飲用水、下水設備、健康管理、教育が確保できるという。他にも、温暖化問題より、HIV/AIDS, 飢餓、自由貿易(取引)、マラリアのほうが、早期対策が功を奏すので、優先度が高いというのだ。 Bjørn Lomborgは、温暖化よりも優先度の高い問題が山積みなのに、機を逸してしまうとさらに被害が拡大し、対策費用が増大してしまうという視点を提供している。

Montrealの会議でも、京都議定書と同様、早期削減に向けて議論が進められているが、CO2の早期削減のための費用は高く付き、アメリカが「条件付き」でしか参加する意思を示していないように、順守できない国が増えるに従い、次期京都議定書のプランが頓挫する可能性が高い。もちろん削減努力も必要だが、本当に長い視点を持つなら、CO2を排出しないエネルギー開発のためのR&D(Research and Development)に投資をするよう(例えば、各国がGDPの0.1%ずつ出資すると)定めるほうが、将来のためになるというのである。

ちなみに、2004年度の日本のGDPは4兆6234億ドルなので、その0.1%は、4.6億ドル(円換算はこちら)。特別会計の規模(200兆?)から考えると、なんてことのない金額ですね。

2005年12月13日火曜日

JOGL - Java Bindings for OpenGL

jogl:

こんなのができている。JavaでOpenGL2.0が使えるみたい。すごい。

米Yahoo!、「Konfabulator」改め「Widget Engine 3.0」をリリース (MYCOM PC WEB)

米Yahoo!、「Konfabulator」改め「Widget Engine 3.0」をリリース (MYCOM PC WEB)

Konfabulator関連記事。

Documentary On Japanese Sushi - Google Video

Documentary On Japanese Sushi - Google Video: "Choi"

Google Videoの機能もすごいのだけれど、寿司についてこんな誤解を招くお笑いはやめてほしいなぁ。ジョークだと気づく前に鵜呑みにしてしまうアメリカ人がでてきそうだ。おもしろいけど。

Yahoo! Widgets

Yahoo! Widgets - Get Weather, Photos, Calendar, and More on Your Mac or Windows Desktop

KonfabulatorがYahoo! Widgetになっている…。買収された模様。名前だけすり替わっているのって嫌だなぁ。。。開発メンバーは同じなんだろうけど。

2005年12月12日月曜日

HHKとApple Keyboardを比較


大きさはこうして比べてみると唖然とするほど違います。トラックボールまでの右手の距離が遠くなったため、肩が懲りそうで大変です。手の移動距離を短くするため、左側にトラックボールを置くなどしてみましたが、左ききでないとドラッグしにくくて辛いので、10分で挫折。

テンキーとトラックボール(マウス)の使用頻度を考えると、やはり削るべきはテンキーでしょう。。

HHKの打鍵音がもっと小さければApple Keyboardを使わなくても済むのに…。打鍵音が心地いいなんて言わないでください。迷惑でしかありません。 Posted by Picasa

Apple Keyboardを購入


自宅でHHKを使っていると打鍵音がうるさいと評判が悪かったので、打鍵音が静かそうなApple Keyboardを3500円ほどで購入。入手しにくい英語キーボードの中では、東大の大学生協で購入できて手頃なのです。

打鍵音は想像以上に静か。箱にはMac対応としか書いてありませんが、Windowsでも問題無く動作します。ボリュームコントロールキーまで使えるのは上出来。マック独特のキーも、AltIMEを使って、入れ替えできるので問題なし。

キーボードの表面はつるつるで、すこし違和感がありますが、こういうのもありかな、と思わせます。キーストロークと反発もそれなりにあるので、値段のわりにはかなり優秀なキーボードです。デザインも良いし(これが重要)。 Posted by Picasa

本郷も銀杏が綺麗になりました


東大正門から入って、正面の建物が安田講堂です。

Red Cross debates new sign

BBC Learning English | Red Cross debates new sign

このマークが採用されたら、赤十字(International Red Cross)は、赤十字じゃなくなるよなぁと思っていたら、もともと、赤三日月(Red Clescent。日本では、赤新月と訳すらしい)とか、イスラエルでは、国旗のマークと同じ六芒星(Magen David)の赤いものが使われているらしい。イスラエルのものは正式ではないようですが。

ちなみに、
Magen Davidはダビデの盾
Geneva Conventionsはジュネーブ協定です。

英語読みと、日本語読みのどっちが正しい発音に近いのかわからないです。 デービッドというより、ダビデと読むほうが素敵ですが。

学習塾「京進」の株価、売り注文殺到でストップ安

asahi.com: 学習塾「京進」の株価、売り注文殺到でストップ安 - ビジネス

こういう記事が書かれるのを見ると、日本って、SRIとかCSRの考えが根付いていないんだなぁと思います。深刻度にかかわらずアクシデントを完全に防ぐのは難しいわけで、一度不祥事があったあとに、どう改善するか、させるかが重要。

大前研一氏の「マスコミは企業を叩くだけ 集団IQが低い日本という国」というコラムがいい視点を提供していると思います。 集団ヒステリーに陥りやすい日本という国。事故が安全性を高める。

被害者の方々にお詫びをするのは、人を相手にする企業としては当然です。でも、より安全な場所が生まれるチャンスを、マスコミや、投資家がつぶしてしまうようではいけない。赤字経済から脱却できないよ。そんなのでは。

dW : IBM developer solutions : Webサービスを使用してリモート・システムからデータを入手するポートレットの開発

dW : IBM developer solutions : Webサービスを使用してリモート・システムからデータを入手するポートレットの開発

Understanding the Java Portlet Specification

Understanding the Java Portlet Specification

Portletなんていうものが出てきているらしい。Apache Jetspeed2で動作するのかな。

2005年12月10日土曜日

Zsh Workshop

Zsh Workshop: Table of Contents

ZSHを使い始めてまだ1年だけれど、まだ使いこなしていない機能がたくさん。

2005年12月9日金曜日

ThinkPadのペーパークラフト

IBM Computer Museum しくみのへや - Japan

ThinkPadの中の様子までわかるようにパーツが組まれているようです。
子供のおもちゃにいいかも。印刷してみよう。

さすがに2歳のお子様に本物を与えるわけにはいかないので…。

2005年12月8日木曜日

Let's begin HAPPY CREAMERY EXPERIENCE.

先月から六本木ヒルズに第1号店がOPENしているようです。とっても食べてみたい。
ハッピークリーマリー体験ってどんなのだろう。わくわくします。

2005年12月6日火曜日

なぜSSL利用をケチるのか

なぜSSL利用をケチるのか:IT Pro

確かにAmazonなどトップページからSSLを使って欲しいサイトはたくさん。Webページの改竄を防ぐためにも、SSL通信は普及して欲しいですね。

CSSXSSでBasic認証も、無防備に

CSSXSSに関する日記の続きです。

友人のゆきのぶ君とCSSXSSについて話していて、これを使うとBasic認証を素通りできることを彼が発見してくれました。

例えば、
  1. 1. Basic認証(ダイアログがでて、ユーザー名、パスワードを入力するもの)で、サイトAに入る
  2. 2. 悪質なサイトBに、気づかず入ってしまう
  3. 3. サイトAを再び見たくなって、サイトAを再び開く。
  4. 4. サイトAは、一度入力したパスワードをブラウザが記憶しているので認証は素通り
というシナリオが危険になってきます。3.の状態で、サイトAを開いたときに危険があります。例えば、サイトBはgoogle検索、デスクトップ検索のようなものだとします。 その検索機能を使ってサイトAを探して、サイトAに入ると、表面上は何も変わらないサイトAにCSSXSSコードが埋め込まれている可能性があります。

あるいは、これを悪用したプラグインが出回ってIEにインストールされてしまうと、どんなページを開いてもCSSXSSのコードが埋め込まれ、悪い人がターゲットにしたいようなBasic認証がかかっているサイトの中身のデータをどんどん吸い上げられる可能性があります。

怖すぎます。

Parosproxy.org - Web Application Security

Parosproxy.org - Web Application Security

CSSXSSを使ったページの解析のために

XOM

XOM
XMLのAPIとして随分前から見かけていたけど、Stream解析しながら、部分的にツリーも作れるという趣のもの。DOM使うとメモリ食い過ぎるので、メモリを意識したAPIがあるのは嬉しいところ。

よいアイデアがあれば、抽出してC++で実装しよっと。

Bloggerが停止

ブログが見られなくなっています。悲しい

IEはもう使えない? CSSXSSの恐怖

Google Desktop Exposed: Exploiting an Internet Explorer Vulnerability to Phish User Information

Matan Gillonという人がIEの脆弱性について、CSS (Cascading Style Sheet) Cross Site Scripting(CSSXSS)と名付けて報告しています。これはIEの信頼性を揺るがすもの。Google Newsを経由してGoogle Desktop検索に必要なキーを取得できるという脆弱性はすでに解決されているとのことなので、本質的な問題は、IEのCSSのimport文で読み込むページが"}{"で始まっていると、HTML全体を読み込めてしまう点に集約されます。

以下は試しに書いてみた例。importで読み込んだデータを、テキストエリアに表示します。

<html>
<head>
<title>CSSXSS</title>
<style text="text/css">
@import url("任意のサイトのURL。ページの先頭付近に"}{"を含むとなお良い");
</style>
</head>
<body>
<textarea rows="30" cols="150" id="pbody"></textarea>
</body>
<script>
var d = document.styleSheets(0).imports(0).cssText;
document.getElementById("pbody").innerText = d;
</script>
</html>

Firefoxなどのブラウザでは、CSSの構文にしたがっていないものは、@importできないようですが、IEではCSSのparserを、多少構文に不具合があっても解析できるように緩く作っているようで、HTML全体を読み込めてしまうことがあります。あるいは、指定されたWebページを読んで、ページの最初だけに開いたcurly brace("}{")を含むように変更して出力するCGIなどをURLに指定すると、任意のページをブラウザに取り込めます。検索エンジンなどは、入力したキーワード等をそのまま結果のページに表示することが多いので、もっと簡単です。

悪意のあるhackerなら、この方法で、表面的に銀行のサイト等を装ったページを作成して、そこにユーザーを誘い込みます。個人情報をsubmitしたところで、フォームに入力されたデータからパスワード等を盗むコードがデータを送信、後はもとの銀行サイトのログイン画面に普通に入ってしまうので、ユーザーは盗まれたことに気づきもしない。 これは、銀行側のサイト(server)側に落ち度は無くても、ブラウザ(client)側でページを改竄されてしまうという危険性があるので、IEのこのvulnerability(欠点)が修正されるまで手の打ちようがないのです。httpsのサイトであっても、ブラウザで見ているページに仕込まれたjavascriptでキーロギングされたら、パスワードは盗まれてしまうかも。

おそろしや。

2005年12月5日月曜日

mixiの技術者は、テストコードを書いてない?

先日書いた mixiのバグの件、mixiから修正したとメールが来ました。

以下抜粋。

こんにちは、[mixi]運営事務局です。
この度は障害発生状況のご報告ありがとうございます。
ご不快の念をおかけいたしまして誠に申しわけございません。

承りました下記の件に関してですが、
こちらでも該当箇所を調査させていただきましたところ、
ご指摘いただいた通りの不具合の存在が確認できました。

開発部に報告し再現の可能性と発生原因を調査させていただきまし
た結果
修正を完了させていただきました。

お手隙の時などございましたらご確認お願いいたします。

まったく直ってないんですけど…。
きっとテストコードなんて書いてないのでしょう。そうに決まってる。

とすると、技術のノウハウが人の頭の中だけにあって、その技術者がイー・マーキュリーを去ると、mixiは一気に廃れると思われます。 なんて危険なんだ。

特別会計205兆円

日本の一般会計予算が82兆円なのに、特別会計で205兆円なんて、くらくらしてしまいますね。2003年2月、塩川財務相(当時)がこのことについて「母屋(一般会計)でおかゆをすすっているときに、離れ(特会)ですき焼きを食べている」と批判したそうです。

国の予算はずっと80兆のみだとずっと思っていました。それで国債を30兆も発行するというのは、政府の気が知れないと思っていたのですが、各省庁が205兆も持っている事実の方が凄まじい。 無知って怖い。

Changing Climate Change

Changing Climate Change
地球温暖化等の環境問題についての論評です。 京都議定書を無視し続けるアメリカの傲慢さには辟易してしまいますが、彼のcommentaryでも、このような問題に関してあまり鋭い切り口で迫れていないのが悲しい。

先月末からモントリオールで、京都議定書(2008-2012年まで)の後をどうするかという議論がおこなわれています。上の記事も技術革新で二酸化炭素排出を抑えるのには時間がかかるので、会議での即時の対応を求めている論調なのですが、会議で本当に効果的なことが決まるのかが疑問。

津波やハリケーンの被害を目の当たりにしたアメリカ人が、温暖化がその間接的な原因であると結びつけて議論できるのかどうか。途上国が第2のアメリカにならないようにできることは何? 世界規模で環境を食い物にしてしまう悲しさ。傲慢な国だけでなく、東京でも、夏は冷房を多用するため、却って室外の気温を上げてしまって、暑い夏を作り出し、さらに冷房を使うという悪循環。

OpenOffice Writerを使ってみる



Impressはやや不具合が目立ったが、Writerの方はかなり使えるようだ。Writerで作成した文書のイメージを貼り付けます。

Open Sourceについて考える

OpenOfficeを使っていてふと思ったのだけれど、open sourceの情報って、ビジネス的な価値があります。open sourceの文化はまだ日本では、欧米ほど普及していないから、必然的に英語圏の情報を探すことになります。 ここで必要な能力はもちろん英語力なのですが、open sourceプロジェクトは、文章が完備されていることは少なく、使ってみて初めてわかること、ソースコードを見て動作を把握してようやく得られる知識が多いです。

ビジネスとして利用するためには、open sourceプロダクトの使い方やチューニングのノウハウを身につけて、サポートビジネスとして売る。あるいは、bug fixやfeature enhancementを行って売るなど、どちらも技術者としての力量が必要。

英語が堪能(交渉力がある、翻訳できる)人は多いかもしれないけれど、開発技術を合わせ持った人材となると非常に少ないはず。 現に、ワイズノットというオープンソースを使った会社が成長してきているし、「日本」でこういう人材を集めることにはかなりの意味があるはず。中国・インドのようにその能力を持った国がオフショア開発で台頭してきたといっても、日本の隅々までサポートを売るというのはまた別の話。

こういうことできる技術者集団が作れるといいな。というか作るために頑張ります。

2005年12月4日日曜日

Microsoft Officeから、OpenOffice2.0に

完全移行できないか確認するために、OpenOffice 2.0をいろいろ触ってみました。僕にとってMicrosoft Officeというソフトは、使う頻度はそれほど多くないものなのに、何万円もするアップグレードを買うサイクルでMicrosoftに囲い込まれてしまっていたので、いい加減うんざりしていたところです。
  • 長所
    • Microsoft Officeの基本機能(あるいはそれ以上)のことはできる
      • Word, Excel, PowerPoint, Access、数式エディタとほぼ同じことはできる
    • そこそこの互換性
      • Officeで作ったファイルも殆ど読めるし、Office用のファイルの作成もできる
      • 同様の操作感
        • Officeに慣れた人なら、すぐ使い方に慣れることができる
    • さらに、Draw(お絵かきソフト)もある
      • EPS出力もできるのでTex用の画像を作成する人にはとっても便利
    • PDF出力機能が完備
      • Acrobatを数万円出して買わなくても良くなる
    • Base(データベース)では、ODBC接続等で、sqliteをバックエンドのDBとして使える
    • 万が一、ソフトウェアが不具合で強制終了されても、復元機能がついている
    • Math(数式)は、慣れればテキスト入力だけで数式が編集できるので、マウス操作が必須の数式エディタよりはかなり使いやすい。
  • 短所
    • Impress(プレゼンテーション作成)の動作がぎこちない
      • データサイズの大きい画像を背景に使うと、プレゼンテーションをうまく表示できないことがある
      • ただ、プレゼンをPDF化してしまって、Acrobatでプレゼンすればまったく問題なかったりもする。
    • Impressのアニメーション機能はそれほど綺麗ではない
    • マニュアル、How-Toなど、日本語訳ができていない
      • 英語を読める人なら問題ないのですが…

残念ながらImpressは及第点とまではいきませんでした。質素なスライドならImpressでもいいんだけど、綺麗なプレゼンテーションを作る観点では、操作性、描画の早さなど、まだまだPowerPointの方が使いやすいです。Writer(文書作成)、Calc(表計算)は、もう少し使ってみてからブログに書きます。

2005年12月2日金曜日

mixiでのatomの扱いにバグ

mixiのatomの扱いは間違っています。以前の日記で、<link rel="alternate" href="...">の部分のデータを使ってリンクして欲しいのに、rel="related"のタグの情報を使ってリンクを張ってくれるので、困りもの。ブログ本体(atom配信データのalternate)でなく、記事の関連リンク(related)の方に飛ばされてしまう。 ちゃんと仕様書読んでよ。mixi。

きっと、rel属性なんて調べずに、linkタグで、type="text/html"を持っている部分にリンクを張っているのでしょう。バグ報告をしておきました。

関連情報: rel attributeの仕様(atom)

2005年12月1日木曜日

Bose®Store: SHOWCASE STORE

Bose®Store: SHOWCASE STOREが秋葉原にできていました。Boseのヘッドホンやオーディオシステムの視聴ができる素敵な場所です。

4万円もするのでなかなか手のでないノイズキャンセリングヘッドホンQuietComfort2とか、20年以上前からある(?)、低音の出が素晴らしいWave Music Systemの音が実際に聞けます。 新発売のTriPortヘッドホンの音も聞き心地が良かったです。

Wave Music Systemは本当に欲しい。リビングやデスク上でジャズや管弦を聴くのにぴったりだと思います。

OpenOffice

OpenOfficeがかなり普通に使えるようになっていてびっくり。WordやPowerPoint互換のスライドも作成できるし、今後Office製品を買わなくても済むのではと期待。

実用に問題がなければ、企業ではかなりのコストダウンを期待できます。あとは、オープンソースプロジェクトの評価(開発の持続性、この製品をサポートする人の熱意を見るなど)をしないと。

2005年11月30日水曜日

キーボードとトラックボール

キーボードとトラックボール用に新しいパームレストを買ってみました。Elecomの22゜ダブルパッド(左)と、Confy パームレスト(右)


ダブルパッドの方は、HHK Professionalにぴったりサイズで快適。キーボードでは右手より左手の方が守備範囲が広いので、左側が長めという合理的な設計が特徴。ただ、その部分よりも、手前から奥にかけて若干登りの傾斜がついているのが心地良いです。つまり、上部のキーを叩くときに腕を動かす方向と同じ傾斜がついています。以前、Elecomのdimp gelを使っていたときは、手首の収まりはよかったのですが、はまってしまうが故にやや手を動かしにくかったのです。今回の製品は、キーボードと机の高低差を埋めるという目的には合致。肘を90゜にするというHealthy Computingのガイドラインを実践するのにうってつけでした。

KensingtonのExpert Mouseには、最初からパームレスト

がついているのですが、これがなかなかの曲者で、手首を置いたままボールを転がすと手首に傾斜ができてしまい、腱鞘炎対策としてはあまりよろしくありません。かといって、パームレストを外すと高低差がきつくて使いにくい。やはり、自分で好きな位置にパッドを置ける方が、手の大きさに合わせて位置を調整できるのでいいです。

日本語配列のキーボードなんていらない



Microsoft Natural Ergonomic Keyboard 4000

これが、日本語配列になると、下のようになります。せっかくキーが大きくて打ちやすいエルゴノミクスキーボードなのに、小さく打ちにくいキーばかりになって台無し。






実 は、変換とか無変換キーはなくても全く困らないのです。半角・全角キーなども。Ctrlキーを押しながらのショートカットでほぼ代替できます(Ctrl キーが’A'の横にあるキーボードが好きな人がいるのはこのため。AltIME等のアプリケーションでも配置は変えられますが)。日本語配列版で問題なの は、Altキーや、右端のEnterキー・Shiftキーが小さくいびつな形状になっているところ。お店で試したのですがかなり打ちにくいです。当然、こ れらのキーはキーボードには必須です。また、メニュー呼び出しにAltを使うことは多いのに、このキーが小さい上、すぐ横にWindowsキーや左クリッ クメニューボタンがあると、間違って押しやすいので大変。

英語配列のものが日本で入手しやすければ、こんな記事は書きません。秋葉原を探 しても、英語版のマイクロソフトキーボードを輸入しているところを僕は未だ 見つけられません。わざわざ日本配列用にデザインを修正するくらいなら、コストを抑えるために、「英語配列キーボードでも日本語入力に不自由ない」という ことを宣伝する方がいいのに。

「女王の教室」での天海祐希のセリフを借りて、日本語キーボードじゃなきゃだめと思っている人達に一言。

「あなたたち、いい加減目覚めなさい」


もちろん、日本語配列でも使いやすいものはあるんですけどね。Mac miniで日本語配列キーボードが使えないと騒いでいる人たちにも、英語キーボードにしなよ、と勧めたい。かな入力する人が少ない昨今、日本語なんてキーボードに刻印されていたらMacの美観をそこなうでしょ?

2005年11月25日金曜日

ZFS at OpenSolaris.org

僕 は、自称トランザクション管理の専門家です。トランザクション管理の歴史的経緯を知っているが故に、古い考えにとらわれていることに今日気づきました。

先日、Sun Micro SystemsのCOOがblogを書いているとHarvard Business Reviewで知り、調べてみたのです。そうすると、Sunのdeveloperさんなどもblogを書いており、興味本位で、覗いてみると、ZFS at OpenSolaris.orgという新しいファイルシステムのプロジェクトを発見しました。

通 常のデータベースは、データを一元管理するので、データの更新時、ディスク上のデータを書き換えるという操作をします。複数ユーザによる同時書き込みを防 止するために、データがある部分を保護(write lock)するのですが、このwrite lockはファイルシステムの性能を上げる際のボトルネックになることが多いのです。 なにせこの領域のロックが開放されるまで、他がその部分にアクセスできないので。また、read lockを取得後、write lockを取得してデータを書き換えるというプロセスは、デッドロックに陥りやすいという欠点もあります。

write lockを使わずに同時書き込みを防止するには、versionningといって、古いデータを上書きせずにとっておいて、更新後のデータを別のディスク 領域に書き出します。 この方式(Multiversion 2PL)はPostgreSQLでも採用されていて、古くなったデータの後始末さえうまく行えば、readトランザクションは、writeを気にせずデー タをとりだせるので、それなりの性能を発揮できます。ただ、このversion管理がわりと曲者で、B-Treeなどのデータ構造に、version管理 用のデータ構造を組み合わせる必要があるので、目的のデータにたどり着いてもversionを調べる分アクセスが間接的になるし、遅いイメージがありまし た。

け れど、ZFSでは、B-Treeのようなデータ構造を、更新時に新しいversionにswapしてしまうのです。swap操作は、リンクの張替えだけな ので、負荷は低く抑えられます。簡単だし、version管理の長所そのままを具現化したものなのですが、目から鱗が落ちる思いです。

た だ、トランザクション管理は、B-Treeではここ20年の研究成果が集積されていて随分安全になっているのですが、ログを管理をしないこの木の入れ替 え方式がどこまで、データベースのトランザクション管理に応用できるかは、検証してみないといけない。ログがない時点で、ディスクエラーには強くても、 rollbackには対応していないのは明らか。でも、利用価値は存分にあります。

研究者として、本質的に新しい方式を見るのはわくわくします。 最新の研究といっても、既存の技術をこねくりまわしたものが多いご時勢なので。

Google Analytics


Google Analyticsを1週間ほど使ってみた後の画面です。何の変哲もないWebページのアクセス解析ソフトなのですが、見た目が綺麗なので、好感触。

ほかにもアクセス解析のソフトはあるのですが、それらにくらべて設置が簡単です。スクリプトを各ページにはさみこむだけ。

今 までサーバー管理者が独占していた情報を、ブログユーザなどの個人からGoogleに吸い出せるのは魅力的です。それに耐えうるシステムを構築するノウ ハウを持っているのは強いですね。 ソフトウェア単品ではそれほど価値がなくても、Googleが使うと膨大な価値がでます。Urchinという会社を買収して手にいれたようです。Urchinも買収されてよかった例なのでしょう。今後このデータでWeb広告のコンサルティング用途に使えるだろ うし、アクセスが集まりやすいWeb構造を発見、なんてビッグニュースがでてくるかもしれませんね。

2005年11月24日木曜日

「超」整理日記2005-09-24「真っ先に民営化すべきは年金」

「超」整理日記2005-09-24「真っ先に民営化すべきは年金」

この記事の最後の方にある、給与所得がある人の年金を停止しているというのは、確かに変な制度。働かない方がいいと少しでも思わせる制度は問題が多すぎ。年金の第3号の支払い免除もそう。ここに手を付けないということは、ミクロ経済的な景気回復を狙っているとは思えない。

他にも、変な制度っていっぱいあります。保育園への入園って、基本的に夫婦共働きの人の子が優先順位高いのだけれど、 両親が学生だと、優先順位を低くされるのです。 少子化対策をしているとは到底思えません。

2005年11月22日火曜日

screenの使い方

ショートカットをよく忘れるので備忘録として。

C-zをscreenの起動キーとすると

  • C-z C-w ウィンドウ一覧
  • C-z C-n / C-p 次(前)のウィンドウ
  • C-z [0-9] 指定のウィンドウに飛ぶ
  • C-z C-c 新しいウィンドウ
  • C-z C-d デタッチ
  • screen -ls screenのプロセス一覧
  • screen -r detachしたscreenプロセスに戻る

2005年11月17日木曜日

50時間踊りながらウォークマンを聴けるのか - 渋谷で発売カウントダウン

以前、ソニーのウォークマンに関する記事で、iPodには無い充電地の持ち時間など、ハードウェア的なメリットを強調すれば良いと書きました。ソニーもそれくらいのことは承知していたようで、50時間踊りながらウォークマンを聴けるのか - 渋谷で発売カウントダウン (MYCOM PC WEB)というイベントを行っている模様です。

ただ、このイベント、充電池が50時間持つかどうかより、50時間踊り続けられるのかどうかの方が気になります。

(追記)50時間踊り続けるのかと思ったら、ダンサーは交代していくらしい。一瞬、それではつまらない、と思いましたが、交代したダンサーの数が多いほど、「全力でこれだけ踊っても、まだ音楽は続いている」というアピールになるのか、と思い直しました。

2005年11月16日水曜日

Orbitz Gamesが楽しい

Orbitz Games が楽しい。シンプルだけどできの良いゲームがたくさん。旅行会社が広告用Flashとして作っているゲームなのだけど、ゲームが十分楽しいので、広告そっちのけで遊んでしまいます。

何回か遊ぶとコツ(nack)がつかめるゲームが多いのですが、ISLAND HOPはなかなか強敵。

2005年11月14日月曜日

Google File System

Google File System(PDF)を初めに読んだときにはDB技術的にはそれほど新しいことはやっていないなぁと思っていました。どうも、この論文はそう読むべきではなかったらしい。コストパフォーマンスに優れているなど、ビジネスの視点から読むと興味深い。

GoogleがGMailのサービスで1人2Gもの容量を無料で割り振ることができるたのは、このインフラのおかげ。RAIDのように高価なストレージに依存しないシステムを開発できたことが、今の強いGoogleのサービスを支えているとなると、これは重要です。

読み直したらレビューします。

Google Analytics

Google Analyticsが公開されている様子。 高機能アクセス解析ツールらしい。

早速このブログに導入しました。百聞は一見に如かず。
データが出るのは12時間後らしい。楽しみです。

情報源の情報源

について書いていたら、また、うっかり、Windowを閉じてしまいました…。せっかく書いたのに悲しい。

後で書きやすいように、リンクだけ残します。CNN.com - Special Reports - CIA Leak Investigation

大前研一氏も同様のことを書いていたので、追記。

2005年11月12日土曜日

C++のHTML化

をやってみました。昨日のブログ参照。Vectorにあったツールを使ってみたのだけれど、この程度なら、ANTLRでやってみると面白いかも。

2005年11月11日金曜日

Xerces C++ Parser でistreamを読む

Xerces C++ Parserには、std:: istreamからXMLを入力するための機能がなかったので、Xalanのコードを参考に(こちらではistreamからの読み込みが実装されてい る)、istreamから読み出すクラス(BinInputStreamと、InputStreamの拡張)を作りました。

以下はソースの抜粋。注:このままではコンパイルは通りません。適宜修正してくださいね。
まぁ、結構簡単かも。最初から作っておいてくれればいいのに。。

class StdBinInputStream
: public XERCES_CPP_NAMESPACE::BinInputStream,
private NonCopyable
{
public:
StdBinInputStream(std::istream& inputStream)
: _istream(inputStream) {}
virtual ~StdBinInputStream() {}
virtual unsigned int curPos() const
{ return _istream.tellg(); }
virtual unsigned int readBytes
(XMLByte* const toFill,
const unsigned int maxToRead)
{
XERIAL_ASSERT(sizeof(XMLByte) == sizeof(char));
if(!_istream)
return 0;
_istream.read(reinterpret_cast(toFill), maxToRead);
return _istream.gcount();
}

private:
std::istream& _istream;
};

class IStreamInputSource
: public XERCES_CPP_NAMESPACE::InputSource
{
public:
IStreamInputSource
(std::istream& in,
XERCES_CPP_NAMESPACE::MemoryManager* const manager =
XERCES_CPP_NAMESPACE::XMLPlatformUtils::fgMemoryManager)
: _input(in), XERCES_CPP_NAMESPACE::InputSource(manager)
{}
virtual ~IStreamInputSource(){}
XERCES_CPP_NAMESPACE::BinInputStream* makeStream() const
{
return new StdBinInputStream(_input);
}
private:
std::istream& _input;
};

松井残留

昨日のブログに書いたのだけれど、スポーツ新聞さんって期待通りのことをやってくれるから面白い。

今朝、コンビニに寄ると、とあるスポーツ新聞の見出しが、

松井残留 15日までに決着

となっていました。確信犯で読む方もわかって買うから許されるのでしょう。
スポーツ新聞はそういう文化だと思います。

朝日がそれをやっちゃいけない。

2005年11月10日木曜日

asahi.com:松井秀の再契約、合意に至らず ヤンキース - スポーツ

asahi.com:松井秀の再契約、合意に至らず ヤンキース - スポーツ

松 井とYankeesは、双方ともに再契約を望んでいるので、期限の15日までに合意することはほぼ確実と思われますが、このような書き方をされると、一瞬 「えっ?!」と思いますね。 意外な展開を思わせる見出しによって注目を引くスポーツ新聞でよく見られる手法かと。例えば、「宇多田ヒカル離婚か?」 などのように、最後まで読まないと事実とは違うことを印象づけてしまうタイトルで、新聞を買わせるテクニック。

全国紙には見出しのインパクトではなくて、内容の信憑性で勝負して欲しいものです。情けない。

ANTLR に慣れてきました

慣れるまで大変だったけど、ANTLR Parser Generator はやはり便利。 自分でデータ構造を用意しなくてもparse treeを自在に組み替えたりできる。 Bisonでparse tree用の動的メモリ確保の機構を組み込むのに、Bisonの出力ソースをスクリプトで変更するなど、煩雑なことをやってきたのが馬鹿みたいに思えてく る。

何より、C++やJavaのコードを直接出力できるのが一番。 有名なyacc(lexer)はC++に対応していたけれど、Bison(parser)は、Cしか出力できなかったり、古い形のライブラリを #includeをしていたり、global変数を多用しているのでマルチスレッド環境で使うのに難があったり。 parseを開始する関数 yyparse()の引数には、

#define YYPARSE_PARAM

で定義したもの1つしか使えなかったり…。どうしてもクエリの結果やparse treeを保持するのに間接参照が必要となるので、記述が面倒だったり。

Bison は一応global変数を出力しないように変更はできるのだけれど、parseした結果をunion型でしか受け渡せないので、C++のクラスを渡すよう に変換するにはそれはもう涙ぐましい努力がありました。。。 (今思えば、そんなことしなくても、YYPARSE_PARAMにparse treeのrepositoryを用意して、parse treeのidだけを扱うようにすればできたのかも。面倒なことに変わりは無いが)

ANTLRが使えるようになった今、bisonとはおさらばです。 yaccは状態ごとにlexerの挙動を変化させられて便利なので、また使う機会もあるでしょうが。

(補足)
最近のbison(version 1.875以上。現在は2.1)は、%parse-paramというパラメータが増えたようで、yyparse()に渡す引数の問題は解決したようです。

bluewindで快適キーボード生活

bluewindというツールの存在を知ってから、はまっています。Google Desktop Search2でも似たようなことができるようですが、どちらにしろキーワードをタイプしてアプリケーションを起動できる快適さはやみつきになります。

Windowsが起動したら、タイプしてFirefoxを起動。Webもブックマークなど開かずにタイプしてページを開くので0.5秒もかからない。英語の辞書にもキーボード操作のみでフォーカス切り替え、よく使うフォルダも登録しておいてタイプして開きます。おすすめ。

2005年11月9日水曜日

文章力

チャットに慣れているので、文章を書くときに顔文字に依存してしまいがちです。例えば、「(^-^;;」という顔文字は苦言を呈するときに便利なのですが。自分なりの表現の仕方を探さないと。

Web2.0 という Meme

Web2.0に関する記事を読んでいたら、Meme (ミーム) という言葉が出てきて、どこかでみたことありそうだったのに意味がわからなかったので調べてみると、"The Selfish Gene" で出てくる造語だとか。意味は、「模倣によって伝えられる情報の単位」ですって。 ちょっとむつかしいのでリンク先をどうぞ。 この本を読んだことがあるのに、意味をすっかり忘れている。。。

Web2.0のように、言葉はあるけれど定義がまだ人々の中で曖昧なものをmemeと呼ぶと良いようです。 上のO'Reillyの記事で は、Web2.0は新しい技術のことではなく、既存の技術を至るところで利用できるようにすること、とあります。 ブログも昔はHTMLを覚えた人が自分で作成していたものを、誰もがWebから簡単に利用できるように変化してきたのが特徴。iPodもWebアプリケー ションではないけれど、webで得た音楽をそのまま持ち運べるようにしてしまう点でWeb2.0というべき特徴を兼ね備えていると。 これって、まさにubiquitous computingですね。 Web2.0を後押ししているのはubiquitousのコミュニティの人たちだったのかと思います。

文章中では、Googleなど 有名なところ以外にも、いろいろな企業のサービスの例を挙げています。Flickr, BitTorrent, Napster, permalinkなどなど。でも、使ったことがないと全く便利さがわからない。百聞は一見の世界というのもWeb2.0の特徴。

文章の本筋は、Web2.0を闇雲に語る企業が増えてきたようなので、Web2.0企業としての適正について、彼らは以下のような定義をしたということ:

* Services, not packaged software, with cost-effective scalability
* Control over unique, hard-to-recreate data sources that get richer as more people use them
* Trusting users as co-developers
* Harnessing collective intelligence
* Leveraging the long tail through customer self-service
* Software above the level of a single device
* Lightweight user interfaces, development models, AND business models

おっと、これだけ載せてもlong tailとかの意味はわからないですね。

The Long Tail
Small sites make up the bulk of the internet's content; narrow niches make up the bulk of internet's the possible applications. Therefore: Leverage customer-self service and algorithmic data management to reach out to the entire web, to the edges and not just the center, to the long tail and not just the head.

(意訳) インターネットは、小さなサイトが集まることで大きな情報源となっています。だから、コンテンツを作り出す小さなサイトを持つクライアント自身による操作 (ブログはその典型例)や、アルゴリズムによる自動データ管理を活用して、webの隅々(long tail) 、つまりコンテンツを作り出せるあらゆるユーザを対象として企業のサービスを広げるのです。

記事の翻訳もありますが、どうも文章の意味を理解しての訳ではないようです(^-^;; 翻訳が難しいのはわかるけれど。。。memeとかcompetentを訳していなかったり、と、プロ意識が足りないようです。

2005年11月8日火曜日

SONY Walkman Aシリーズ

電気屋さんに寄る機会があったので、Walkman Aシリーズ を見てきたのですが、正直がっかりしました。 リンク先のプロモーション画像では光沢が美しいのですが、実際には、指紋がついて汚くなりやすい表面加工の上、プラスチックの表面が安っぽくみえて高級感 が感じられません。液晶インターフェースも見づらい。マイナス要素だらけ。

スティック型のEシリーズは旧ヴァージョンと変わり栄えしないので、iPod nanoのような驚きもなく。2GBに容量が増えたところで、iPod nanoの4Gで3万円以下を実現したインパクトには目劣りします。


NW-HD1
が 去年に発表されたときはわくわくして、予約までして購入したものです。こちらは高級感もあって、所有欲を満たしてくれます。充電池の持ちも20時間(低音 質なら30時間)はあって、今でも、他の機器の追従を許さないという強いメリットがあるのです。 Aシリーズになると、最大35時間。でも、このあたりの主張が足りない。充電池は消耗するから、表に出しにくい事情もあるのだろうけど。

SONY製品好きの僕としては、もっと頑張ってもらいたい。でも、他に比べてこんなに魅力が足りない製品を出しているのでは悲しくなってきます。

2005年11月3日木曜日

PHPにセキュリティホール

http://nikkeibp.jp/wcs/leaf/CID/onair/jp/flash_rss/411409
だそうな。PHP使っているサイトは多そうだから大変。 rpmに頼っている管理者とか、英語を読もうとしない管理者はここで苦労するのでしょう。

2005年11月2日水曜日

BBC Learning English

BBC Learning English を見ると毎回知らない英語に出会います。なさけなし(T-T)
普段、英語は論文やマニュアルを読むばかりで、発音していないし、しゃべるのも聞くのも不得手。こればかりは、練習しないとどうにもなりません。これは、修士の間、そういう時間を過ごしていたので、実証済み。英語は本当にたくさん読みました。

ノ ルウェーでは、どこに行ってもみなさま英語を流暢に話せるのです。教育の違いは大きいし、そういう環境に身を置けなかったことが悲しい。といっても、そも そも日本では英語を流暢に話せる教師が少ないと 思うので、悔やんでも仕方がない。 問題はそういう状況の日本のどこで経験を積むか。 英会話学校に通うのは避けたいところ。数十万単位のお金がかかるから(;_;)。 とりあえず、音読して右脳を刺激。 BBCで音声を聞いてシャドウリーディングすることにします。 VOAとか音声教材が充実してきたのは救い。

読むだけでは語学力はなかなか鍛えられないのです。しかも、悲しいことに、読めることより、流暢に話せる方がかっこよく見えるのです。がんばれ、自分。

2005年11月1日火曜日

ゆいのお散歩コース

保育園が東大に近いので、朝のお散歩コースは安田講堂とか、御殿下のグラウンド周辺だったりするようです。

保育園便りによると、お散歩途中、銅像の前で「なむなむ…」とか「おはよう」とか「おねがいします」と手を合わせているとか。

東大に銅像はたくさんあると思うのだけれど、いったい誰を拝んでいるのやら。少々不安です(^-^;;

ANTLR - lookahead lexer

ANTLRでは、lexerにlookahead値を指定して先読みができるので便利。。。と一瞬思ったけど、yaccではそんな設定しなくても大丈夫だった気がする…(-_-;;

LALR(1)とLL(k)の違いなのだろうけど、、、もう随分前に習った知識なので忘れてしまいました。それでもANTLRでは、「*」「?」「+」などの正規表現でおなじみの記号を使えるのでとっても便利。 yacc&bisonだと、

E* => E1 : ε | E1 E
E+ => E2 : E | E1
E? => E3 : ε | E

と書き換えなくてはならなかったので、かなり苦痛でした。

2005年10月31日月曜日

Visual C++: LNK4006

プロジェクトが大きくなってくると、dynamic link library (dll)やら、static link library (lib)を作って、プロジェクトを分割していきます。今日は、DLLを作成中に、LNK4006が多発してはまりました(-_-;; helpを見ると、以下の通り。

symbol
already defined in object; second definition ignored

The given symbol, displayed in its decorated form, was multiply defined. When this warning is encountered, symbol will be added twice, but only its first form will be used.

You can get this warning if you try to merge two import libs into one.

Tips

  • The given symbol may be a packaged function, created by compiling with /Gy. This symbol was included in more than one file but was changed between compilations. Recompile all files that include the symbol.
  • The given symbol may have been defined differently in two member objects in different libraries.
  • An absolute may have been defined twice, with a different value in each definition.
  • If the error message is received when combining libraries, symbol already exists in the library being added to.

If you are rebuilding the C run-time library, you can ignore this message.


で、原因はどうやら上の赤字の部分。十数分悪戦苦闘した結果、ライブラリを作成中に、static libraryをリンクするようにしていたことが問題だと発覚。

static link libraryを作るプロジェクトAとBがあって、両者はともに同じファイルCを参照しています。しかし、Cの実体(*.cpp)は、Aに含まれていま す。 すると、Bをlibraryとしてbuildするときに、Aで作成されたライブラリをリンクするように設定していたため、Bの中に、Aで定義されたCと、 BでincludeしたCが混ざってでてきてしまいました。 これがlnk4006の原因。

落ち着いて考えるとなんてことないし、まさにヘルプに書いてある通りのwarningがでているのだけれど。。。

日記さぼるとランキングがすぐにさがってしまいます(T-T)

Javadocの国際化

Javaのソースコードに英語&日本語でコメントを書きたいのだけれど、日本向けのjavadoc, 英語圏向けのjavadocの出力を切り替えることって可能なのだろうか。情報求む。

[追記]
http://java.sun.com/j2se/javadoc/faq/index.html#localizationdoclets
JavaのAPIは上のリンクのようにして、翻訳している模様。 でも、これって、オリジナルのコメントを更新するたびに、日本語版を作り直すという作業が必要になるのではと懸念。

子供時間

について、長々と書いていたのに、Firefoxが落ちて、内容が消えてしまった…(T-T) GMailみたいに途中保存してほしい…

2005年10月27日木曜日

本当にほしいもの

商品開発の段階で、顧客が欲しいと思う商品を調査してそのまま作っても、実際
には売れない、ということをよく耳にします。自動車メーカーは特にそうらしい。

顧客は自分が欲しいものを本当は理解していないという見方もできるし、顧客が
まったく目新しいものに惹かれるという面もあるのでしょう。

政治にも同じことが当てはまるかと。

よく、国民の意見を聞いてとか、議論が深まってきてから検討
するといいますが、そのような姿勢では魅力ある国や政府は作れないのではない
でしょうか。
当然、今の不満を改善するということは必要だけれど、今後どのような国にして
いくかというテーマについては、新商品を開発して実際に見せてほしいのです。

2005年10月26日水曜日

Harvard Business Review

Harvard Business Review が読みたかったのだけれど、書籍部では売り切れ。英語版の年間購読でもしようかな…(-_-

<-もう少しで100位突破なんだけど、なかなか(T-T)

靖国問題

靖国問題で政府答弁書決定 「戦犯」は存在せず 公式参拝であっても合憲

この件について書いてあったとある人の日記にコメントしたのですが、Bloggerではトラックバックはできない(自分でpingを送ればいいだけなんだけど…)ので、コピペ。

まず、「戦犯」の扱いについては、櫻井よしこさんのページ↓を参考にしたほうが歴史的経緯がわかるかと(^-^;;
http://blog.yoshiko-sakurai.jp/archives/cat42/index.html

東京裁判のむちゃくちゃさ加減を無視して「A級」という言葉を使い続ける中国・日本のメディアもどうかと思いますし。

一方、
http://king-of-china.seesaa.net/article/6388370.html
にある、渡辺恒雄さんの意見のような、実感のこもった訴えもあります。戦争を引き起こした人を弔うなんて、もってのほか、というように。

問題は、日本人の中で、戦争やその指導者、そして、当時の「やらなければやられる」という、列強が侵略を続けていた近隣諸国の情勢をどう認識し、自分達の中でどのように解決していくか、という作業がいまだなされていないこと。

靖国に宗教色があるのは、訪れてみれば明白で、むしろ、宗教上の目的でないと言い張るところが、困ったものかと。

←後ろ姿公開で、「生協の白石さん」のアクセス数急増(^-^;;

ハッカーと画家

ハッカーと画家 コンピュータ時代の創造者たち という本を発見。興味があるので読んでみようかと。Webでも一部邦訳が公開されています。



Computer Scienceに関わる人はhacker であることが多いのですが、たとえ大きな権威のある学会で発表されている研究論文であっても、その実装コードをみると職人とは程遠いものを感じます。

僕は、研究者であるとともに、職人であることに美学を感じます。たとえ小さな町工場の一職人であったとしても、技術やノウハウを蓄え、それに磨きをかけ続けている職人には、畏敬の念を覚えるのです。

hacker という言葉は、cracker(システムに侵入・破壊するプログラマ)とは通常区別して使われ、天才プログラマに与えられる称号のようなものとなっていま す。 僕がイメージするhackerという言葉 は、まさに職人。コンピュータを取り巻く環境の変化は急速であり、匠・師匠となるような人は少ないため、現代のhackerとは、自ら成長していける人の ことだ と僕は考えます。 身の周りの情報の中から、技術のエッセンスを見出し、吸収し、己を鍛える。 いわば、世の中全てから学んでいく職業。 そして、画家のように、想像力を働かせて新しいものを生み出す仕事。 素敵です。

2005年10月25日火曜日

久々にTypewell

昼休み、気分転換がてら久々にTypewell で遊んでみました。すると、1回目で出ました!
自己新記録、レベルXF (基本英単語1500: 49.732秒)。ついに50秒を切った(T-T)
(世の中にはまだまだ上がいるのですが…)

Typewellはタイピングソフトの定番。だけど、このソフト根をつめて練習しても、タイプ速度はなかなか速くならず、むしろ集中力が切れてタイプミスが多くなって逆効果のことが多いのです。よどみなくミスをしないよう打ち続けるのがコツ。

もうすこしで200位超え?

2005年10月24日月曜日

東大病院の

医者も喫煙率が高いような気がする。院内を禁煙にしても、入り口付近に喫煙所を設けているものだから、迷惑千万。必ず煙を吸わされるとわかっているところを通らなくてはいけないことほど不愉快なものはありません。

そ れに、白衣を着た医者が外に出て一服している姿は、病院のイメージを悪くします。院内さえ汚さなければいいという甘い考えが見えて。あなたの服についた 臭いは、非喫煙者にはわかるんです。白衣は脱ぐ、あるいは着替えるくらいでないと(-. -) 。さらに言うと、喫煙者自身も洗浄しないと。。。

たばこの臭いのする医者は信用しません。人が嫌になる気持ちがわからない人に、本人にしかわからない痛みについて真摯に考えてもらえるはずもないから。
<-200位台まできたようです(^-^)v

分煙できない喫茶店。「白い巨塔」でも…

本屋に寄って、買った本をざっと読むために近くの喫茶に入りました。「CAFFE VELOCE」。一応、喫煙・禁煙に分かれていたけれど、最悪! 喫煙席との敷居が何もないから、 煙がやってくる。 まぁ、入ったからには仕方なく読書してひと時をすごしましたが、服に臭いがついてしまって、げんなり(x_x)

あれで分煙を謳っているのだから、情けない。。
こういう店に苦情を言っても、どこも馬の耳に念仏。「禁煙にすると客が減る」との一点張り。禁煙を促進させるための良いアイデア募集します。「禁煙セラピー―読むだけで絶対やめられる」という本もあるみたいだから、説得のための手法として読んでみようか…。

喫煙といえば、田宮次郎版の「白い巨塔」、見たことありますか?
あれ、でてくる医者が揃いも揃って皆タバコを吸うのです。患者のことを第一に考えるはずの里見先生にまでタバコをぷかぷかさせているのだから、あの時代、いかにタバコを吸うのが当然だったかということを実感させられます。

この時代を引きずっている人やそれに影響された人達が、人前で平気でタバコを吸っていると思うと、とても悲しいです。世の中、大人にまかせてられないと、つくづく思います。

2005年10月23日日曜日

「Mな人々が支える巨大与党」

上のリンクに記事がでてくるのは1ヶ月後だろうけど、今週の週間ダイヤモンド10月29日号より。「株入門」と見出しがでているので、そっちも面白いのかも。

この、田中康夫と浅田彰の対談はいつも視点が鋭いのです。というか、当たり前のことを当たり前に指摘するだけなのだけれど、これがテレビや新聞報道では往々にしてできていないことなので、とても興味深いです。

今回は、僕のように学生結婚して子供もいて低所得で課税される身になって、常々思っていたことついて議論されていたのでそのまま紹介:

田 中康夫 「日本は貧しい人からもっとも税金をとる国なんだ。課税最低限が先進国で最も低い。子供2人家庭の場合、ドイツが500万、フランスが403万、アメリカ が358万、イギリスが359万なのに対し日本が325万。一方、所得税の最高税率はかつての70%がいまや37%。35%のアメリカとあまり変わらない 金持ち優遇国なわけ。株式投資減税のおかげで、自社株売却益を140億円も得た堀江貴文への課税は、わずか10%の14億円」

浅田彰「これほどネオリベな国は珍しい。」

田中康夫「名目GDPは2000年に513兆円だったのが、2004年は506兆円で7兆円減少。なのに、サラリーマンに支払われた04年の報酬総額は2000年に比べて、12兆円も少ない。差額の5兆円は富裕層や大企業の利益になってる。」

浅田「こんなに収入を減らされ、そのうえ厳しい税金取り立てをうけているのに、さらに増税しそうな小泉政権を支持しつづけているわけだよ。」

田中「いやぁ、やっぱり究極のM(笑)。」


自 民の単独過半数取得は、僕にとってまさにこの対話の通りのイメージでした。郵政民営化以外を争点にしなかった小泉さんの一人勝ち。でも、それを支持して いるのは、きっと、既得権益や資産を何も持っていなくて、増税で一番不利益を被りそうな方々達なのです。刺客とか、太蔵くんで騒いでいる場合じゃないっ て。メディアさん(T-T)

田中知事を嫌いなひともいるかもしれないけれど、ちゃんとデータを調べて、発言しているので貴重です。前回選挙時、新党日本 の政見放送でも、小泉政権の問題点をデータを元に的確に指摘して、好感がもてました。民主党を支持していたけれど、自分の発言をきちんと通せる場に切り替えられる姿勢が良いです。


サーバーの自動シャットダウン

今日、大学は停電があるということだったので、忘れないように、cron(定時に何らかのプログラムを実行するためのツール)に、
/sbin/shutdown -h now

と、停電時刻の1時間前にサーバーの電源が落ちるように設定しておいたのです。ところが、メールをチェックすると、cronプログラムからメールが届いていました。

title: Cron /sbin/shutdown -h now
shutdown: you must be root to do that!

sudoつけるの忘れてました(T-T) シャットダウンに失敗。
ディスクとか無事だといいけど。。。管理者失格(x_x)

2005年10月22日土曜日

地震

ブログを書き始めようとしたら、地震がきてびっくり(x_x)

上のリンク、地震のデータを速報で表示してくれるのだけれど、地震の規模が大きくなるほど、アクセスが殺到してサーバーの反応が遅くなるみたい。震度6以上になると、もうネットなんて見てる場合ではないのだろうけど。。肝心な時に使えないなぁ。。

フォトリーディング

フォトリーディングというと、写真のようにページを見て、内容を頭に焼き付けるというイメージを持っている人が多いと思うのですが、ちょっと違います。目 の周辺視野を鍛えて「10分で1冊」という速読法もありますが、それとも違う。斜め読みとも似ているけれど、本当のところは、最近はやりの右脳トレーニン グなんてまどろっこしいことなしに、すぐ始められる効率の良い読書術というのが正解。

そ れにしても、日本の出版社って、売るために「10倍速く読める」というキャッチフレーズを付けたりするのですが、原題はシンプルに 「PhotoReading」とすっきりしています。 まぁ、「世界の中心で愛を叫ぶ」なんて、タイトルの付け方だけで、ぐっと魅力的になる(著者は違うタイトルを考えていたのに、担当がこうしましょうと言っ たとか)ので、ビジネス的には仕方がないのだろうけど、能力開発系のタイトルになると品がなくて嫌いです。そんな本を読んでいると自分に能力がないみたい な気にさせられるから(^-^;;



フォ トリーディングの方法って、本を読むのが早い人は無意識のうちに使っているテクニッ クだと思います。まず、どんな内容の本なのかを軽く見ておいて、鳥瞰図ような視線の使い方で全ページにざっと目を通す。そうしておくと、ページに親しみが 湧くので、一字一句文章を追わなくても、文章中のキーとなる部分に着目しやすくなるので、通常の読み方でなくても、 ページの末尾から逆方向に読んだり、本をひっくり返して読むなんてことをしても内容がつかめるようになります。

そして、読んだ内容を記憶 に定着さ せるために、頭の中で内容を要約してみるなど、書いてあった内容について想起し、また本を見て能動的に情報を吸収するよ うにします。そうすると、一行ずつ頭の中で音読しながら読むより、本を読んだ理解したという充実感が得られます。要するに、本を一回通して読むより、繰り 返して読 む方が内容を把握しやすいのは自明なので、その繰り返して読むというフェーズの時間短縮を図る読み方が、フォトリーディング。

簡単にできるので、お試しあれ(^-^)
でも、小説は一行ずつ読む方がおもしろいですよね。


クリック♪

2005年10月21日金曜日

mixi

mixiは、atomの配信に対応していないのかと思いきや、日記の更新がページに反映されるまでの時間が長いだけだった様子(^-^)

ほんの数時間前まで、atom -> RSS 変換プログラム書く勢いがありました(^-^;;


クリック♪

2005年10月20日木曜日

[宝塚] Ernest in Love

月組の新しいトップ、瀬奈じゅん・彩乃かなみコンビのお披露目公演「Ernest in Love」

梅田芸術劇場公演で、とても劇場まで見に行けなかったのでDVDがうちにやってきました(^-^)v

コメディで面白そうだけど、、大劇場じゃないから華やかさに欠けるだろうなぁ、、と思っていたら、全然そんなことはなく、むしろ主に出てくる役者 が絞られて、とっても楽しい。個々の演技の魅力に吸い込まれてしまいます。これを見ると、以前面白いと思っていた宝塚のコメディが色褪せて見えるように なってしまいました。。やっぱり、脚本というか、無駄のない展開が良いのかな。一つ一つの動作がわかりやすく面白く。本当によくできています。

トップの瀬奈じゅんはやっぱり魅力的! 花組で二番手をやっているときも際立っていたので、いつトップになるのだろうと思って楽しみにしていたのです。彩乃かなみも歌が上手になっていて、安定したコンビの誕生かも。

この公演、先月で退団した樹里咲穂が主演で日生劇場(東京)公演もしていたのです。NHKで放送されたダイジェスト版特別キャスト、幻の瀬名じゅん&樹里 咲穂のアーネストコンビも面白かったので、そっちも舞台でぜひやって欲しかった。惜しい人が退団しました。 「ファントム」でシリアスな演技もこなすし、レビューでコメディタッチのピエロ役もできてしまう。 こういう人がいると舞台がいっそう楽しくなるのです。


クリック♪

2005年10月19日水曜日

子育て日記・真似っこゆいちゃん

ゆいが生まれる前から、ベビーカーを持って買い物するのは大変だったので、コープ東京(生協)の宅配サービスを利用していました。

その注文用紙にチェックを入れていくやり取りなのですが、

ママ「これ、欲しい?」
パパ「いくら?」
ママ「えっと、○○○円」
パパ「高(たか)っ!」


これを聞いてなるほどと思ったゆいちゃん (-.-)


ゆい 「これ、いくら?」
ママ 「ん? ○○円よ」

ゆい 「たかっ!」


パパ「 … ( ̄- ̄;; (真似された…。しかも高くないのに…) 」


その後も、「これいくら?」と聞いては、自分で 「たかっ!」 を連発。
はずかしいったらありゃしない。。。とほほ

こんなゆいちゃんにクリック

2005年10月18日火曜日

ダイエット

やっぱり、シークレットバトンがトップに来ているのは恥ずかしすぎるので、とりあえず書き込み追加!w
← 300位まで来ました(^-^)






今 年の8月から実践していて、わりと効果があったのはこの本。研究室にこもっての研究生活は運動不足になりがちなの で、このまま体重が増加するのはまずい!と、思い、こんな本を買ってみたのです。現時点で3kg減ですが、まだまだ減少傾向が見られるので毎朝体重計に乗 るのが楽しみになっています(^-^)d

内容は、「スロー」というトレーニングで、自分で意識してゆっくり筋肉に力を入れて使 い続けるもの。たとえば、お腹にぐっと力を入れてゆっくり上下するだ けの腹筋を5~10回など。 1日10分と書いてありますが、1週間のうち2日、気が向いたときに、体の各部分の筋肉を意識的に使うだけ。たかが5回だし、回数をこなさなきゃいけない とかいう辛さは感じられません。

トレーニングのための基礎知識も充実していて、目から鱗が落ちる重いです。超回復とか、筋肉の 質の違いなどなど、昔部活でサッカーをしていたときに、こん なことはだれも教えてくれませんでした。無知の状態でやるスポーツって、非効率的だなと痛感。ただ、走れば強くなると思っている監督とか多いし。



「クイック」という全力で筋肉を速く動かすトレーニングも組み合わせると、もっと筋肉を鍛えられるそうですが、とりあえず僕は「スロー」のみ。マッチョになりたいわけではないし。

筋 肉を増やして脂肪がつきにくい体にするってすごいなぁ、と実感。とくに食事制限はしていないのに体重が減っていくのは、とっても楽しいです。甘いもの食 べるとき、「太るよなぁ」と思って罪悪感にさいなまれることも少なくなりました(^-^)d 値段の割りにお得な本です。ほんと。

BLOOD+

エヴァンゲリオン以来、久々のミステリアスな展開に、期待できそうなアニメ!
ネットでも無料で視聴できるようなので、今からでも遅くないですよ。(現在、第2話)

見 始めたきっかけは、制作会社のproduction I.G. エヴァと同じ制作会社だったので、第1話を見てみることにしたのです。オープニングは謎の惨殺シーン。。。P.M.6:00からこれでは子供の親からは 猛抗議に合いそうだ、、と思いつつも、ほのぼのな日常から始まり、謎の怪物の来襲、謎の組織・なにやら因縁のありそうな人物の出現と、謎づくしです。こう いう展開って本当にわくわくします。小説をアニメで見る気分。

エヴァのときは、最終回まで見てもわからない謎が盛りだくさんでしたが…(^-^;; BLOOD+はどうなることやら。

他 に面白いアニメは、パートナーに教えてもらった「ガラスの仮面」。長い休載の後、久々にコミックスが出て、そのタイミングでアニメ版がリメイクされて放 送されています。HDDレコーダーで録画して、気が向いたときに見ているのですが、パートナーの方は話を知っているので、あまり見向きもしません。が、僕 の方は話の先が気になって、見続けてしまっています。

週に2つもアニメを見るなんて、中・高以来かも。

↓ クリックよろしく

2005年10月17日月曜日

秋葉原で見るComputer Scienceとオタクの関係

一つ主張したいことがあったので、忘れないうちにメモ。

4年くらい前までの秋葉原はまさに電気の街でしたが、今ではすっかり「美少女・萌え」系の勢力が表通りの半分を占めるようにまでなってしまいました。普通の人はうかつに近寄れない街になってきています。

Computer Scienceを専攻しているというと、パソコンオタク = 秋葉原という結びつけがなされてしまいがちなのですが、少なくとも僕はPCを自作したりしないし、秋葉原に行ったとしても使いやすい入力機器(キーボー ド・トラックボール)を見るくらいです。

でも、Computer Scienceって、ハードウェア開発よりも、むしろソフトウェア開発屋さんです。ハードウェアを実際に開発するのは物理学や工学部の人の役目。 Computer Science屋さんがハードウェア開発をするとしても、新しいアーキテクチャを提案する側でしょう。

僕も、研究では ハードウェアいじりよりも、プログラミングをすることが多いのでPCパーツのお店には縁がありません。 仕事柄、毎日タイプする量が半端でないので、良いキーボード・マウス(僕はトラックボール派ですが)を使っていないと腱鞘炎気味になることが多く、必要に 迫られ て秋葉原に赴くことがほとんど。

Microsoftだって、ハードウェアも出しているけれど、やはり中心はソフトウェア開発。近 年、イン ド・中国など人件費の安い地域の企業がソフトウェ ア開発で台頭してきたために、アメリカではComputer Scinenceの人気が減り、学生が減少しています。けれど、その傾向について、ビル・ゲイツは「ソフトウェア開発ほどおもしろいことはない」と言って 学生をComputer Scienceの分野に勧誘しているのです。

そう。Computer Scienceはソフトウェアの学問なのです。

で も、パソコンオタクという言葉は、日頃、秋葉原のPCパーツショップに赴いているイメージ。ハイスペックのマシンを自作して、アプリケーション(ゲーム ソフト等)を快適に楽しむ人達のことを指すのだと思います。最近は、そのアプリケーションの幅が広がって美少女系のソフトが強くなってきただけ。けれど、 PCパーツショップが圧迫されるほどではなく、ちゃんと共存しているのです。

まぁ、結局言いたいことは、Computer Science → … → 萌え という結びつけをされるのが耐えられないだけなのかも(^-^;;

↓ クリックよろしく

Webアプリケーション開発

半年ばかりWebアプリの開発はしていなかったのでチェックしていなかったけれど、StrutsのEclipse用プラグインも充実してきたみたい。StrutsIDE というのも開発が進んでいるし。

Struts はフォームの受け渡しとかを容易にしてくれています。プログラミングをよく知らない人にもわかるように書くと、例えば、ユーザー登録をする ページで送信ボタンを押して、入力ミスがあったので前のページに戻ったとしても、入力したデータをそのまま残しておく、なんていう機能が、Strutsを 使うと簡単に作れます。

Strutsの問題点は、Model-View-Control (MVC) Patternを使っているので、1つのWebページ表示用にファイルが少なくとも2つ(Model部分のJavaクラス、View部分のJSP)ないし は3つ(Control部分)が必要な点で、それらの管理が面倒なところ。GUIでそれらを管理できるとWeb開発の苦労も減るので、StrutsIDE は試してみる価値あり。

ただ、View部分のJSPがどうも好きになれない。HTMLにJavaコードを埋め込むのははっきり言って書きにくい!PHPとか、Perlのように最初からテキスト出力用に設計された言語の方がよいなぁ。

ユー ザの入力 - Control - Model - Control - View - HTML という流れの、サーバーサイドでなんとかできるControl-Model部分はJavaのようなオブジェクト指向+ライブラリがたくさんある言語向きな ので不満は少ないのだけれど、View - HTMLの部分が、もっと書きやすくなると、Webアプリ開発はもっと楽しくなるでしょう。

↓ クリックよろしく

子育て日記・ゆいちゃんの「昨日」

うちのゆいちゃんは2歳なのですが、まだ時間の概念って発達していないのです。もう日常会話はよく話せるようになってきたと思って安心していると、びっくりさせられることがあります。


「ゆいちゃんね~、昨日ディズニーランドに行ったの」

…行ったのは先月… (^-^;; (パパ)




「ゆいちゃんね~、昨日パパとハンバーガー屋さん行ったの」


…それは先週だ…(^-^;;



半年ほど前に、神社の公園で遊んでいると、近所のおじさんにおやつをもらったことがありました。
自転車でゆいを保育園に送り届ける途中、その神社の横を通ると、


「ゆいちゃんね~、昨日ここの神社でポテトチップスもらったの」


半年も前のことをよく覚えているw



極めつけは、

「ゆいちゃんね~、昨日パパにピシッってされたの」

とママに告げ口したそうで…。
ママはパパがゆいに虐待でもしたんじゃないかと大慌て。


確かに昔、食事中にフォーク振り回していたので、ママもいる前で手をピシッとしたことはありました。
でもそれは昨日じゃない…(T-T) 。濡れ衣だー。


ということで、教訓。子供の「昨日」には気をつけましょう。


(ピシッとしたことについて一応弁明。箸をくわえて歩いていたために、転んで喉にささって死亡した子もいるのです。食器で遊ぶのは厳しくしかります)


↓ クリックよろしく

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.