2009-12-05
2009-11-15
2009-10-31
エクスプローラでのwmvファイルの縮小版を表示しない
2009-10-19
先日入れたVC++2005にWTLをインストール
ここよりWTL81_9127.zipを持ってくる。あと日本語化のために、ここより、WTL81_9127_ja.zipをいただいてくる。
で、C:\Program Files\WTL81 あたりに解凍し、"C:\Program Files\WTL81\AppWiz\setup80x.js"を実行する。これで一応インストール完了。
ただし、このままだとコンパイルエラーが出るときがあるらしいので(PlatformSDKのATLが古いらしい)、以下のように修正する。(diffなんて使ったのは何年振りだろうか??)
%MSSdk%\Include\atl\atlwin.h
>> diff -c atlwin_ORG.h atlwin.h"int"を追加。
>> diff -c atlwin_ORG.h atlwin.h
*** atlwin_ORG.h Fri Mar 03 23:19:14 2006
--- atlwin.h Tue Oct 20 09:52:40 2009
***************
*** 1750,1756 ****
// search for an empty one
! for(i = 0; i < m_aChainEntry.GetSize(); i++)
{
if(m_aChainEntry[i] == NULL)
{
--- 1750,1756 ----
// search for an empty one
! for(int i = 0; i < m_aChainEntry.GetSize(); i++)
{
if(m_aChainEntry[i] == NULL)
{
%MSSdk%\Include\atl\atlbase.h
>> diff -c atlbase_ORG.h atlbase.h
*** atlbase_ORG.h Fri Mar 03 23:19:12 2006
--- atlbase.h Mon Oct 19 15:26:45 2009
***************
*** 284,289 ****
--- 284,290 ----
};
#pragma pack(pop)
+ /* http://www.codeproject.com/KB/wtl/WTLExpress.aspx
PVOID __stdcall __AllocStdCallThunk(VOID);
VOID __stdcall __FreeStdCallThunk(PVOID);
***************
*** 291,296 ****
--- 292,301 ----
#define FreeStdCallThunk(p) __FreeStdCallThunk(p)
#pragma comment(lib, "atlthunk.lib")
+ */
+
+ #define AllocStdCallThunk() HeapAlloc(GetProcessHeap(), 0, sizeof(_stdcallthunk))
+ #define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)
#elif defined (_M_AMD64)
#pragma pack(push,2)
"PVOID ..."から"#pragma"までコメントアウトして、下2行を追加。
情報源は、ここ。
2009-10-12
VC6で使っていたプロジェクトがVC2005でビルドできない。
.\main.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.
こんなときは、#include "afxres.h"とリソースファイル中で書かれている部分を以下のように変更する。
// #include "afxres.h" // 削除
#include <windows.h> // 追加
#define IDC_STATIC -1 // 追加
2009-10-09
VistaのRWIN自動調整
で、VistaのRWIN自動調整を無効にする方法
C:\> netsh interface tcp set global autotuninglevel=disabled
自動調整を有効にするには
C:\> netsh interface tcp set global autotuninglevel=normal
2009-09-27
pagefile.sysとhiberfil.sys
というわけで、これらのファイルを一旦消す方法について調べました。
c:\pagefile.sys
- 「コントロールパネル」 ⇒ 「システムとメンテナンス」 ⇒ 「システム」 ⇒ 「システムの詳細設定」
- 「詳細設定」 ⇒ 「パフォーマンス」項目の「設定...」ボタンを押す ⇒ 「詳細設定」タブを開く ⇒ 「仮想メモリ」の項目にある「変更...」ボタンを押す
- 仮想メモリの設定で「ページングファイルなし」を選択
再起動を求められるので、再起動する。これでページングファイルを使用しない設定になる。ただし、Vistaの場合は、これだけではファイルは消されないようだ。そこでコマンドプロンプト(管理者として実行)から以下のコマンドで、ファイルを削除する。
> del /a:h c:\pagefile.sys
これでc:\pagefile.sysは削除される。
c:\hiberfil.sys
- ハイブリッドスリープの停止
Vistaでは、ハイブリッドスリープもc:\hiberfil.sysを使用しているらしい。まずは、これを停止する。「コントロールパネル」 ⇒ 「システムとメンテナンス」 ⇒ 「電源オプション」 ⇒ 「プラン設定の変更」 ⇒ 「詳細な電源設定の変更」を表示。ツリー項目の「スリープ」 ⇒ 「ハイブリッドスリープを許可する」を「オフ」。
- 休止状態の削除
このあと、休止状態を停止する必要があるが、Vistaではコントロールパネルに設定するところが見つからない。コマンドプロンプトから設定する必要があるようだ。
コマンドプロンプト(管理者として実行)で以下のコマンドを入力する。> powercfg.exe /hibernate off
これで、c:\hiberfil.sysは削除される
復活させる場合は、
> powercfg.exe /hibernate on
Windows Vista を実行しているコンピュータ上で休止状態を無効にする方法および再度有効にする方法
2009-09-22
MTUとRWINのまとめ
「Broadband」→「Broadband Tools」→「TCP/IP Analyzer」
XPの場合、設定する箇所は、
"HKLM¥SYSTEM¥CurrentControlSet¥Services¥Tcpip¥Parameters¥Interfaces¥{********-****-****-****-************}"の中に、MTU(DWORD値)で指定。
RWINは
"HKLM¥SYSTEM¥CurrentControlSet¥Services¥Tcpip¥Parameters"の中に、TcpWindowSize(DWORD値)で指定。
また、
"HKLM¥SYSTEM¥CurrentControlSet¥Services¥AFD¥Parameters"の中で、DefaultReceiveWindow(DWORD値)、DefaultSendWindow(DWORD値)も指定。
2009-09-21
フリーのRTLシミュレータについて
お家でも使えるフリーのModelSim(ModelSim Xilinx Edition III Starter)が以下からダウンロードできる。
ModelSim Xilinx Edition III
ただし、レジストレーションが必要。登録するとメールでライセンスファイルが送られてくる。
基本的な使い方などは、有料のModelSimなんかと同じ。ただし、ライブラリが限定されているらしい。
それ以外に、フリーのツールとしては、IcarusVerilogなんかがあるらしい。コマンドラインでコンパイルかけて、同じくフリーの波形表示ツールGTKWave(最新のIcarus Verilogには付属している)で表示できる。スティミュラスの与え方は、テストベンチで与えるしかないのかな?
基本的な部分の勉強はこれで出来そう。
2009-09-15
2009-09-14
vmwareのXの設定について
xorg.conf内で、修正するのはここ。ちなみに確認したのは CentOS4.7だけど、他のOSでも同じだと思う。
vmware-toolsはインストール済みが前提。
Section "Monitor"
...
HorizSync 1.0 - 10000.0
VertRefresh 1.0 - 10000.0
...
ModeLine "1024x640" 100.0 1024 1100 1200 1300 640 700 800 900
ModeLine "1280x800" 100.0 1280 1300 1400 1500 800 900 1000 1100
...
EndSection
Section "Screen"
...
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768" "800x600" "640x480"
Modes "1280x800" "1024x640"
EndSubSection
...
EndSection
これで、再起動すると、1280x800,1024x640対応になるはず。
2009-09-13
Visual C++ 2005 Express Edition の Vista へのインストール
- まず、普通にVC++2005をインストールする。
Visual Studio 2005 Express Edition CD イメージからのインストール方法よりCDイメージをダウンロードしてインストール。 - その後、Windows Vista に Visual Studio 2005 をインストールする方法を見て、SP1とSP1 Update for Windows Vistaをインストールする。
- その後、Windows Server 2003 Platform SDK R2をインストールする。
Platform SDKを使うには、さらにいくつか設定が必要。
- いくつかのディレクトリに、Platform SDKのディレクトリを追加する。
実行ファイルディレクトリに"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin"を追加
インクルードファイルディレクトリに"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include"を追加
ライブラリファイルディレクトリに"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib"を追加 - 次に、"corewin_express.vsprops"を修正。corewin_express.vsprops は Visual C++ 2005 Express をインストールした フォルダの"VC\VCProjectDefaults"にある。次の行を
AdditionalDependencies="kernel32.lib"
以下のように修正します。AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib" - "AppSettings.htm"を編集。"AppSettings.htm"はVisual C++ 2005 Express をインストールした フォルダの"VC\VCWizards\AppWiz\Generic\Application\html\1041"にある。441行目~444行目をコメントアウトする。
- 新規プロジェクトでWin32アプリを作成できるようにする。"C:\Program Files\Microsoft Visual Studio 8\VC\Express\VCProjects"内の、"Win32Console.vsz"を"Win32Wiz.vsz"として、コピーする。さらにエディタで、
Param="CONSOLE_TYPE_ONLY = true"
をParam="CONSOLE_TYPE_ONLY = false"
に変更する。 - また、"C:\Program Files\Microsoft Visual Studio 8\VC\Express\VCProjects"内の、"MC++WinApp.ico"を"Win32Wiz.ico"として、コピーしておく。
- これで、Win32プロジェクトを作成できるようになる。
Vistaの場合、Visual C++ 2005 を管理者特権で実行しないといけないらしい。(上記の変更も管理者特権で行わないと、UAC制限の所為で、"C:\Users\xxxx\AppData\Local\VirtualStore\Program Files"以下のディレクトリにしか保存されていないので、注意すること。)
また、実行するたびに、
みたいなことを聞かれるけど、問題ないかな?
情報源は、こことかこことか。
追記:
Windowsの環境変数PathとINCLUDE、LIBにも Platform SDKのディレクトリを追加しておくと、コマンドプロンプトで嬉しいかも。
2009-08-30
2009-08-29
2009-08-09
スティーブ・ジョブズの10の教え
- イノベーションは誰がリーダーで、誰が追随者かをはっきりとさせる
- 自分がクオリティの基準となりなさい。人によっては、常に優秀であることが期待されている環境に慣れてないのだから。
- すばらしい仕事をするには、自分のやっていることを好きにならなくてはいけない。まだそれをみつけていないのなら、探すのをやめてはいけない。安住してはいけない。心の問題のすべてがそうであるように、答えを見つけたときには、自然とわかるはずだ。
- 知ってると思いますが、私たちは自分たちの食べる食べ物のほとんどを作ってはいません。私たちは他人の作った服を着て、他人のつくった言葉をしゃべり、他人が創造した数学を使っています。何が言いたいかというと、私たちは常に何かを受け取っているということです。そしてその人間の経験と知識の泉に何かをお返しができるようなものを作るのは、すばらしい気分です。
- 仏教には「初心」という言葉があるそうです。初心をもっているのは、すばらしいことだ。
- あなたがテレビのスイッチをオンにするのはあなたが自分の脳のスイッチをオフにしたいからだと思います。それに対してコンピュータで仕事をするのは、脳のスイッチをオンにしたいときではないでしょうか。
- 私が知ってるなかで、一年で2.5億ドルも失った人なんて自分しかいない。でもそれは非常に人格形成に役立ったよ。
- 私は持っているテクノロジーをすべて引き替えにしても、ソクラテスとの午後のひとときを選ぶね。
- 私たちはこの世界に凹みをいれてやろうと思ってここにいるんだ。そうでないなら、なんでそもそもここにいる必要があるんだい?
- あなたの時間は限られている。だから他人の人生を生きたりして無駄に過ごしてはいけない。ドグマにとらわれるな。それは他人の考えた結果で生きていることなのだから。他人の意見が雑音のようにあなたの内面の声をかき消したりすることのないようにしなさい。そして最も重要なのは、自分の心と直感を信じる勇気を持ちなさい。それはどういうわけかあなたが本当になりたいものをすでによく知っているのだから。それ以外のことは、全部二の次の意味しかない。
スティーブ・ジョブスの10の教え | Lifehacking.jpより
いまさらですが
■C言語の変数データ型
- char, signed char, unsigned char : 文字または小さな整数を記憶する型。
- short, unsigned short, int, unsigned, long, unsigned long : 整数を記憶する型。
- float, double : 浮動小数点数(小数部分を含む数値)を記憶する型。
signed : 符号付き整数(負、0、正の整数)
unsigned : 符号無し整数(0、正の整数)
■C言語の変数サイズ
- char, signed char, unsigned char : 1バイト
- short, unsigned short : 2バイト
- int, unsigned : 4バイト
- long, unsigned long : 4バイト
- float : 4バイト(浮動小数点)
- double : 8バイト(浮動小数点)
■unsigned(など符号無し)のフォーマット
0 | : | 00000000000000000000000000000000 |
1 | : | 00000000000000000000000000000001 |
~ | ||
4,294,967,294 | : | 11111111111111111111111111111110 |
4,294,967,295 | : | 11111111111111111111111111111111 |
unsignedの場合は、変数のサイズ分だけの正の数が使用可能です。
■short(など符号付き)のフォーマット
0 | : | 0000000000000000 |
1 | : | 0000000000000001 |
~ | ||
32,767 | : | 0111111111111111 |
~ | ||
-32,768 | : | 1000000000000000 |
-32,767 | : | 1000000000000001 |
~ | ||
-2 | : | 1111111111111110 |
-1 | : | 1111111111111111 |
最上位ビットが符号を表し、負の数は2の補数で表現される。
■double型のフォーマット
IEEE754に準拠する。
2009-06-15
VMware Playerの履歴を消す
XPの場合
C:\Documents and Settings\《ユーザー名》\Application Data\VMware
Vistaの場合
C:\ユーザー\《ユーザー名》\AppData\Roaming\VMware\
の
preferences.iniを編集。
pref.mruVM0.filename =《ファイル名》
pref.mruVM0.displayname =《タイトル》
と対になっている行を削除。
2009-06-13
Windows Vista エクスプローラー のメニューバー
「フォルダオプション」->「表示」->「常にメニューを表示する」
のチェックを外しても元に戻らない場合がある。
そんなときは、
「フォルダオプション」->「全般」->「作業」
の中の「プレビューおよびフィルタを表示する」のチェックを入れると元に戻る。
または、
HKEY_CURRENT_USER->Software->Microsoft->Internet Explorer->Toolbar->ShellBrowser
の中の"ITBar7Layout"を削除する。
2009-06-12
Uキーを押すとユーティリティマネージャが起動してしまう
Windowsロゴキーがロックされている。Shift キーを押しながら Windows ロゴキーを押せばロックを解除できる。できない場合は、
- スタートメニューから [コントロールパネル] をクリック。
- 「ユーザー補助のオプション」をダブルクリックします。
- 「キーボード」タブをクリックします。 “固定キー機能を使う” のチェックをはずすか、[設定] をクリックし、Windows キーのロックをしない設定にします。
- [OK] をクリックします。
<豆知識>
+ E エクスプローラを表示
+ F 検索画面を表示
+ R ファイル名を指定して実行を表示
+ U ユーティリティマネージャを表示
+ Pause システムのプロパティを表示
MACアドレスの変更
- Linuxの場合
# ifconfig eth0 down
# ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
# ifconfig eth0 up - Windowsの場合
Windowsでも同じことができるらしい。- regeditなどのレジストリ変更アプリを開始。
- 「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}」を開く。
- 0000、0001、0002などの数字があると思いますが、それぞれがネットワークアダプタをあらわす。それぞれの中にあるDeviceDescなどの値を調べながら変更したいネットワークアダプタを選択。
- 0001などの4桁数字の下に「NetworkAddress」という名前の値がある場合には、その内容を変更します。値は「00123456789a」など「:」を抜いた値にする。
- 「NetworkAddress」という名前の値が無い場合には、「NetworkAddress」という名前の文字列(REG_SZ)を作成。
- Windowsをリブートするか、もしくは、変更を行うネットワークインターフェースを一度無効にしてから、再度有効にして設定を反映。設定が変更されたかどうかを確認するには、「ipconfig /all」を行う。
- regeditなどのレジストリ変更アプリを開始。
とうぜん、同じネットワークセグメントに同じMACアドレスのNICがあると問題なので、vmwareなど、閉じたネットワークで使うこと。
2009-05-30
「このコマンドを処理するのに必要な記憶域をサーバーで確保できません。」
以下のレジストリの修正でOK
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
「IRPstackSize」をクリックして、「10進」を選ぶ。
値のデータの部分に「15」を入力して「OK」を押す。
〔IRPstackSize がない場合〕
一覧の余白部分で、「右クリック」-「新規」-「DWORD値」を選ぶ。
「新しい値 #1」の名前を「IRPstackSize」にする。
「IRPstackSize」をクリックして、「10進」を選ぶ。
値のデータの部分に「15」を入力して「 OK」を押す。
再起動。
Windowsよろずメモ - Hirotake Itoh's memo by PukiWikiより
2009-05-14
rpmからファイルを取り出す方法
1. RPMファイルから cpio ファイルを抽出
# rpm2cpio VMware-Workstation-6.5.2-156735.i386.rpm | cpio -id
2. bundle ファイルの解凍
# sudo bash VMware-Workstation-6.5.2-156735.i386.bundle -x tmp
2009-04-23
2009-04-06
X-windowにてTkスクリプトが起動しない。
(couldn't connect to hogehoge:0.0 などと言われる)
X-window側のセキュリティではじいているようだ。
正式にはxauthなどでコントロールするのかと思うが、
Gnomeの場合、gdmsetupのSecurity->"Always disallow TCP ...."の
チェックを外せばOKだった。
(CentOS4.7ではデフォルトでチェックが付いてた)
はまったので、メモ。
2009-04-05
WindowsVistaでCygwinが起動しない
WindowsVistaでCygwinのshellをbashからzshに切り替えたとたんDLLのコンフリクトエラーが発生し動作が止まりました。おそらくWindows7でも同様のことが発生するのではないでしょうか。
Windows VistaにCygwinをインストール。zshを使うために、追加オプションでshells>zshもインストール。インストールは無事成功し、Cygwinも正常起動。そこまではうまくいきます。
解決策
1. Cygwinのrebaseパッケージをインストールします
(デフォルトでインストール済みだと思います)
2. Windowsのコマンドプロンプトを起ち上げash.exeが置かれたディレクトリへ移動し
ash.exeを実行します
ash.exeはCYGWIN_HOME\binにあります。
CYGWIN_HOMEとはcygwinをインストールしたディレクトリに置き換えてください。
cd c:\cygwin\bin
c:\cygwin\bin>ash
$
ashを実行するとプロンプトが$に変わります。
3. 続けてrebaseall.exeが置かれたディレクトリへ移動しrebaseallを実行します
$
$ cd /bin/
$ rebaseall
これでCygwinでzshを正常に実行できます。
参考
http://www.tsunematsu.cc/2007/06/26/1894/
2009-02-16
2009-01-22
ジョブズのスピーチより
PART 1. BIRTH
ありがとう。世界有数の最高学府を卒業される皆さんと、本日こうして晴れの門出に同席でき大変光栄です。実を言うと私は大学を出たことがないので、これが今までで最も大学卒業に近い経験ということになります。
本日は皆さんに私自身の人生から得たストーリーを3つ紹介します。それだけです。どうってことないですよね、たった3つです。最初の話は、点と点を繋ぐというお話です。
私はリード大学を半年で退学しました。が、本当にやめてしまうまで18ヶ月かそこらはまだ大学に居残って授業を聴講していました。じゃあ、なぜ辞めたんだ? ということになるんですけども、それは私が生まれる前の話に遡ります。
私の生みの母親は若い未婚の院生で、私のことは生まれたらすぐ養子に出すと決めていました。育ての親は大卒でなくては、そう彼女は固く思い定めていたので、ある弁護士の夫婦が出産と同時に私を養子として引き取ることで手筈はすべて整っていたんですね。ところがいざ私がポンと出てしまうと最後のギリギリの土壇場になってやっぱり女の子が欲しいということになってしまった。で、養子縁組待ちのリストに名前が載っていた今の両親のところに夜も遅い時間に電話が行ったんです。「予定外の男の赤ちゃんが生まれてしまったんですけど、欲しいですか?」。彼らは「もちろん」と答えました。
しかし、これは生みの母親も後で知ったことなんですが、二人のうち母親の方は大学なんか一度だって出ていないし父親に至っては高校もロクに出ていないわけです。そうと知った生みの母親は養子縁組の最終書類にサインを拒みました。そうして何ヶ月かが経って今の親が将来私を大学に行かせると約束したので、さすがの母親も態度を和らげた、といういきさつがありました。
PART 2. COLLEGE DROP-OUT
こうして私の人生はスタートしました。やがて17年後、私は本当に大学に入るわけなんだけど、何も考えずにスタンフォード並みに学費の高いカレッジを選んでしまったもんだから労働者階級の親の稼ぎはすべて大学の学費に消えていくんですね。そうして6ヶ月も過ぎた頃には、私はもうそこに何の価値も見出せなくなっていた。自分が人生で何がやりたいのか私には全く分からなかったし、それを見つける手助けをどう大学がしてくれるのかも全く分からない。なのに自分はここにいて、親が生涯かけて貯めた金を残らず使い果たしている。だから退学を決めた。全てのことはうまく行くと信じてね。
そりゃ当時はかなり怖かったですよ。ただ、今こうして振り返ってみると、あれは人生最良の決断だったと思えます。だって退学した瞬間から興味のない必修科目はもう採る必要がないから、そういうのは止めてしまって、その分もっともっと面白そうなクラスを聴講しにいけるんですからね。
夢物語とは無縁の暮らしでした。寮に自分の持ち部屋がないから夜は友達の部屋の床に寝泊りさせてもらってたし、コーラの瓶を店に返すと5セント玉がもらえるんだけど、あれを貯めて食費に充てたりね。日曜の夜はいつも7マイル(11.2km)歩いて街を抜けると、ハーレクリシュナ寺院でやっとまともなメシにありつける、これが無茶苦茶旨くてね。
しかし、こうして自分の興味と直感の赴くまま当時身につけたことの多くは、あとになって値札がつけられないぐらい価値のあるものだって分かってきたんだね。ひとつ具体的な話をしてみましょう。
PART 3. CONNECTING DOTS
リード大学は、当時としてはおそらく国内最高水準のカリグラフィ教育を提供する大学でした。キャンパスのそれこそ至るところ、ポスター1枚から戸棚のひとつひとつに貼るラベルの1枚1枚まで美しい手書きのカリグラフィ(飾り文字)が施されていました。私は退学した身。もう普通のクラスには出なくていい。そこでとりあえずカリグラフィのクラスを採って、どうやったらそれができるのか勉強してみることに決めたんです。
セリフをやってサンセリフの書体もやって、あとは活字の組み合わせに応じて字間を調整する手法を学んだり、素晴らしいフォントを実現するためには何が必要かを学んだり。それは美しく、歴史があり、科学では判別できない微妙なアートの要素を持つ世界で、いざ始めてみると私はすっかり夢中になってしまったんですね。
こういったことは、どれも生きていく上で何ら実践の役に立ちそうのないものばかりです。だけど、それから10年経って最初のマッキントッシュ・コンピュータを設計する段になって、この時の経験が丸ごと私の中に蘇ってきたんですね。で、僕たちはその全てをマックの設計に組み込んだ。そうして完成したのは、美しいフォント機能を備えた世界初のコンピュータでした。
もし私が大学であのコースひとつ寄り道していなかったら、マックには複数書体も字間調整フォントも入っていなかっただろうし、ウィンドウズはマックの単なるパクりに過ぎないので、パソコン全体で見回してもそうした機能を備えたパソコンは地上に1台として存在しなかったことになります。
もし私がドロップアウト(退学)していなかったら、あのカリグラフィのクラスにはドロップイン(寄り道)していなかった。
そして、パソコンには今あるような素晴らしいフォントが搭載されていなかった。
もちろん大学にいた頃の私には、まだそんな先々のことまで読んで点と点を繋げてみることなんてできませんでしたよ。だけど10年後振り返ってみると、これほどまたハッキリクッキリ見えることもないわけで、そこなんだよね。もう一度言います。未来に先回りして点と点を繋げて見ることはできない、君たちにできるのは過去を振り返って繋げることだけなんだ。だからこそバラバラの点であっても将来それが何らかのかたちで必ず繋がっていくと信じなくてはならない。自分の根性、運命、人生、カルマ…何でもいい、とにかく信じること。点と点が自分の歩んでいく道の途上のどこかで必ずひとつに繋がっていく、そう信じることで君たちは確信を持って己の心の赴くまま生きていくことができる。結果、人と違う道を行くことになってもそれは同じ。信じることで全てのことは、間違いなく変わるんです。
PART 4. FIRED FROM APPLE
2番目の話は、愛と敗北にまつわるお話です。
私は幸運でした。自分が何をしたいのか、人生の早い段階で見つけることができた。実家のガレージでウォズとアップルを始めたのは、私が二十歳の時でした。がむしゃらに働いて10年後、アップルはガレージの我々たった二人の会社から従業員4千人以上の20億ドル企業になりました。そうして自分たちが出しうる最高の作品、マッキントッシュを発表してたった1年後、30回目の誕生日を迎えたその矢先に私は会社を、クビになったんです。
自分が始めた会社だろ?どうしたらクビになるんだ?と思われるかもしれませんが、要するにこういうことです。アップルが大きくなったので私の右腕として会社を動かせる非常に有能な人間を雇った。そして最初の1年かそこらはうまく行った。けど互いの将来ビジョンにやがて亀裂が生じ始め、最後は物別れに終わってしまった。いざ決裂する段階になって取締役会議が彼に味方したので、齢30にして会社を追い出されたと、そういうことです。しかも私が会社を放逐されたことは当時大分騒がれたので、世の中の誰もが知っていた。
自分が社会人生命の全てをかけて打ち込んできたものが消えたんですから、私はもうズタズタでした。数ヶ月はどうしたらいいのか本当に分からなかった。自分のせいで前の世代から受け継いだ起業家たちの業績が地に落ちた、自分は自分に渡されたバトンを落としてしまったんだ、そう感じました。このように最悪のかたちで全てを台無しにしてしまったことを詫びようと、デイヴィッド・パッカードとボブ・ノイスにも会いました。知る人ぞ知る著名な落伍者となったことで一時はシリコンバレーを離れることも考えたほどです。
ところが、そうこうしているうちに少しずつ私の中で何かが見え始めてきたんです。私はまだ自分のやった仕事が好きでした。アップルでのイザコザはその気持ちをいささかも変えなかった。振られても、まだ好きなんですね。だからもう一度、一から出直してみることに決めたんです。
その時は分からなかったのですが、やがてアップルをクビになったことは自分の人生最良の出来事だったのだ、ということが分かってきました。成功者であることの重み、それがビギナーであることの軽さに代わった。そして、あらゆる物事に対して前ほど自信も持てなくなった代わりに、自由になれたことで私はまた一つ、自分の人生で最もクリエイティブな時代の絶頂期に足を踏み出すことができたんですね。
それに続く5年のうちに私はNeXTという会社を始め、ピクサーという会社を作り、素晴らしい女性と恋に落ち、彼女は私の妻になりました。
ピクサーはやがてコンピュータ・アニメーションによる世界初の映画「トイ・ストーリー」を創り、今では世界で最も成功しているアニメーション・スタジオです。
思いがけない方向に物事が運び、NeXTはアップルが買収し、私はアップルに復帰。NeXTで開発した技術は現在アップルが進める企業再生努力の中心にあります。ロレーヌと私は一緒に素晴らしい家庭を築いてきました。
アップルをクビになっていなかったらこうした事は何ひとつ起こらなかった、私にはそう断言できます。そりゃひどい味の薬でしたよ。でも患者にはそれが必要なんだろうね。人生には時としてレンガで頭をぶん殴られるようなひどいことも起こるものなのです。だけど、信念を放り投げちゃいけない。私が挫けずにやってこれたのはただ一つ、自分のやっている仕事が好きだという、その気持ちがあったからです。皆さんも自分がやって好きなことを見つけなきゃいけない。それは仕事も恋愛も根本は同じで、君たちもこれから仕事が人生の大きなパートを占めていくだろうけど自分が本当に心の底から満足を得たいなら進む道はただ一つ、自分が素晴しいと信じる仕事をやる、それしかない。そして素晴らしい仕事をしたいと思うなら進むべき道はただ一つ、好きなことを仕事にすることなんですね。まだ見つかってないなら探し続ければいい。落ち着いてしまっちゃ駄目です。心の問題と一緒でそういうのは見つかるとすぐピンとくるものだし、素晴らしい恋愛と同じで年を重ねるごとにどんどんどんどん良くなっていく。だから探し続けること。落ち着いてしまってはいけない。
PART 5. ABOUT DEATH
3つ目は、死に関するお話です。
私は17の時、こんなような言葉をどこかで読みました。確かこうです。「来る日も来る日もこれが人生最後の日と思って生きるとしよう。そうすればいずれ必ず、間違いなくその通りになる日がくるだろう」。それは私にとって強烈な印象を与える言葉でした。そしてそれから現在に至るまで33年間、私は毎朝鏡を見て自分にこう問い掛けるのを日課としてきました。「もし今日が自分の人生最後の日だとしたら、今日やる予定のことを私は本当にやりたいだろうか?」。それに対する答えが"NO"の日が幾日も続くと、そろそろ何かを変える必要があるなと、そう悟るわけです。
自分が死と隣り合わせにあることを忘れずに思うこと。これは私がこれまで人生を左右する重大な選択を迫られた時には常に、決断を下す最も大きな手掛かりとなってくれました。何故なら、ありとあらゆる物事はほとんど全て…外部からの期待の全て、己のプライドの全て、屈辱や挫折に対する恐怖の全て…こういったものは我々が死んだ瞬間に全て、きれいサッパリ消え去っていく以外ないものだからです。そして後に残されるのは本当に大事なことだけ。自分もいつかは死ぬ。そのことを思い起こせば自分が何か失ってしまうんじゃないかという思考の落とし穴は回避できるし、これは私の知る限り最善の防御策です。
君たちはもう素っ裸なんです。自分の心の赴くまま生きてならない理由など、何一つない。
PART 6. DIAGNOSED WITH CANCER
今から1年ほど前、私は癌と診断されました。 朝の7時半にスキャンを受けたところ、私のすい臓にクッキリと腫瘍が映っていたんですね。私はその時まで、すい臓が何かも知らなかった。
医師たちは私に言いました。これは治療不能な癌の種別である、ほぼ断定していいと。生きて3ヶ月から6ヶ月、それ以上の寿命は望めないだろう、と。主治医は家に帰って仕事を片付けるよう、私に助言しました。これは医師の世界では「死に支度をしろ」という意味のコード(符牒)です。
それはつまり、子どもたちに今後10年の間に言っておきたいことがあるのなら思いつく限り全て、なんとか今のうちに伝えておけ、ということです。たった数ヶ月でね。それはつまり自分の家族がなるべく楽な気持ちで対処できるよう万事しっかりケリをつけろ、ということです。それはつまり、さよならを告げる、ということです。
私はその診断結果を丸1日抱えて過ごしました。そしてその日の夕方遅く、バイオプシー(生検)を受け、喉から内視鏡を突っ込んで中を診てもらったんですね。内視鏡は胃を通って腸内に入り、そこから医師たちはすい臓に針で穴を開け腫瘍の細胞を幾つか採取しました。私は鎮静剤を服用していたのでよく分からなかったんですが、その場に立ち会った妻から後で聞いた話によると、顕微鏡を覗いた医師が私の細胞を見た途端、急に泣き出したんだそうです。何故ならそれは、すい臓癌としては極めて稀な形状の腫瘍で、手術で直せる、そう分かったからなんです。こうして私は手術を受け、ありがたいことに今も元気です。
これは私がこれまで生きてきた中で最も、死に際に近づいた経験ということになります。この先何十年かは、これ以上近い経験はないものと願いたいですけどね。
以前の私にとって死は、意識すると役に立つことは立つんだけど純粋に頭の中の概念に過ぎませんでした。でも、あれを経験した今だから前より多少は確信を持って君たちに言えることなんだが、誰も死にたい人なんていないんだよね。天国に行きたいと願う人ですら、まさかそこに行くために死にたいとは思わない。にも関わらず死は我々みんなが共有する終着点なんだ。かつてそこから逃れられた人は誰一人としていない。そしてそれは、そうあるべきことだら、そういうことになっているんですよ。何故と言うなら、死はおそらく生が生んだ唯一無比の、最高の発明品だからです。それは生のチェンジエージェント、要するに古きものを一掃して新しきものに道筋を作っていく働きのあるものなんです。今この瞬間、新しきものと言ったらそれは他ならぬ君たちのことだ。しかしいつか遠くない将来、その君たちもだんだん古きものになっていって一掃される日が来る。とてもドラマチックな言い草で済まないけど、でもそれが紛れもない真実なんです。
君たちの時間は限られている。だから自分以外の他の誰かの人生を生きて無駄にする暇なんかない。ドグマという罠に、絡め取られてはいけない。それは他の人たちの考え方が生んだ結果とともに生きていくということだからね。その他大勢の意見の雑音に自分の内なる声、心、直感を掻き消されないことです。自分の内なる声、心、直感というのは、どうしたわけか君が本当になりたいことが何か、もうとっくの昔に知っているんだ。だからそれ以外のことは全て、二の次でいい。
PART 7. STAY HUNGRY, STAY FOOLISH
私が若い頃、"The Whole Earth Catalogue (全地球カタログ)"というとんでもない出版物があって、同世代の間ではバイブルの一つになっていました。
それはスチュアート・ブランドという男がここからそう遠くないメンローパー
クで製作したもので、彼の詩的なタッチが誌面を実に生き生きしたものに仕上げていました。時代は60年代後半。パソコンやデスクトップ印刷がまだ普及する前の話ですから、媒体は全てタイプライターとはさみ、ポラロイドカメラで作っていた。だけど、それはまるでグーグルが出る35年前の時代に遡って出されたグーグルのペーパーバック版とも言うべきもので、理想に輝き、使えるツールと偉大な概念がそれこそページの端から溢れ返っている、そんな印刷物でした。
スチュアートと彼のチームはこの"The Whole Earth Catalogue"の発行を何度か重ね、コースを一通り走り切ってしまうと最終号を出した。それが70年代半ば。私はちょうど今の君たちと同じ年頃でした。
最終号の背表紙には、まだ朝早い田舎道の写真が1枚ありました。君が冒険の好きなタイプならヒッチハイクの途上で一度は出会う、そんな田舎道の写真です。写真の下にはこんな言葉が書かれていました。「Stay hungry, Stay foolish. (ハングリーであれ。馬鹿であれ)」。それが断筆する彼らが最後に残した、お別れのメッセージでした。「Stay hungry, Stay foolish.」
それからというもの私は常に自分自身そうありたいと願い続けてきた。そして今、卒業して新たな人生に踏み出す君たちに、それを願って止みません。
"Stay hungry, Stay foolish."
ご清聴ありがとうございました。
映像はこちら。また、こちらには、英語原文もあります。