世界には、笑顔で頑張っている人が多くいる

【ニコニコ動画】沸騰都市 03 「ダッカ 奇跡を呼ぶ融資」
時々、仕事や勉強に対する気持ちを維持するする事が辛い時があるが、この番組で紹介されている人々の笑顔で働いている姿を見ると、自分ももう一頑張りしないとな、という気持ちになる。おすすめです。

【ニコニコ動画】沸騰都市 03 「ダッカ 奇跡を呼ぶ融資」

Mattが来た

↓↓↓JerryとMattが一緒に踊ってるよ。↓↓↓
YODEL: And now we dance
Dancing at Yahoo!

Mattが来るらしい Mattが来た。

用事があったので参加できなかったが、Flickrにビデオが載っていました。

ちょっと前に書いた、Matt(Where the Hell is Matt? (2008))が来週月曜日に会社に来るらしい。一緒にダンスするチャンスもあるみたい。これはお昼時だし行くしかないなー。

追記1:げー、月曜日1時から予定があった。なんとか予定ずらせないかなー。
追記2:同僚二人に「Mattが来るんだって」って話したら、だれそれって言われた。
追記3:結局、用事があって参加できなかった。一緒にダンスしたかったなー。残念。7月21日(月曜日)

Perlはサンプル・コードを試すのが簡単

僕がPerlを気に入っている理由の1つは、Perlはサンプル・コードを試すのが簡単であること。これは、他のスクリプト言語(Python、Ruby)にも当てはまる事であると思う。

僕のシナリオ:Perlの場合

0)ネット、またはPerldocでサンプルを見つける。
1)ターミナルでPerlコマンドを走らせる。(5キー・ストローク)
2)ターミナルに、コードをコピー・ペースト。(数回のマウス・クリック)
3)コントロール+D、サンプルコードが実行される。

サンプル・コードを見つけてから実行するまでに、1分以内?30秒以内?10秒以内?

僕のシナリオ:Javaの場合

0)ネット、またはPerldocでサンプルを見つける。
1)エディターを開く。VI、メモ帳、IDE?
2)サンプルコードを、コピー・ペースト
3)クラス名と同じ名前で、Javaファイルを保存。
4)Javaのコンパイラー(Javac)でコンパイル。
5)Javaを実行。

サンプル・コードを見つけてから実行するまでに、1分以上?30秒以上?確実に10秒ではサンプルコードを試せないと思う。

サンプルコードを試してみるという行為は、新しいライブラリーを使用したり、新しいテクニックを使用する時は、いつもやらなければならない。(<– 僕の場合)この行為を短縮できるPerlはアジャイル開発向きに思える。

僕は、長くJavaをやってきてJavaの事は大好きだし、JavaにはJavaの良さがあって、PerlにはPerlのよさがある。いくつかの言語をマスターして、目的に合わせて言語を使いわけるのがよいのだなー。

Perl: 関数呼び出しは値渡し or 参照渡し?

最近、こつこつPerlを学んでいるのであるが、僕が学んでいる情報元に、関数呼び出しは値渡しだって書かれていた。

Arguments are passed by value. They are copied to the default list variable (@_) where a subroutine can then access it.

ほんとに?Perlではリストとかハッシュとかガンガン使うのに値をコピーしちゃうの?うそでしょ?そんなんじゃスタックにメモリーがいくらあっても足りないじゃん。そこで、下記コードを書いてみた。

#!/usr/bin/perl
# To check if perl pass by value or reference when call subrutine
sub func{
$_[0] = 2008;
$_[1] = “Web 2.0”
}
my $number = 2007;
my $string = “Web 1.0”;
print “before $number & $string\n”;
func($number, $string);
print “after $number & $string\n”;

出力結果

before 2007 & Web 1.0
after 2008 & Web 2.0

この結果が示す通り参照渡である。

ではなぜPerlは値渡しだと言われるのだろう?少しネットで調べてみた。
関数方で、呼ばれるとすぐに

my ($abc, $def, …..) = @_;

のように、引数をローカルの変数にコピーするのが一般的なので、Perlは値渡しだと言われるらしい。

Perlには変数の前に(\)を付けてリファレンスを取得する事ができるようだ。

$string_ref = \$string;

ここは今学習中。

dankogaiさんが丁寧に説明して下さっています。
404 Blog Not Found perl – 暗黙的な参照 # @_ と $_

Where the Hell is Matt? (2008)

友人のFirendFeedから、新しいMattのダンスビデオがYouTubeにアップデートされているという情報が流れて来た。僕は彼の前作、前々作のダンス・ビデオも好きなので、すぐに再生ボタンを押した。2回目を再生中、彼のダンス・ビデオを見ると、なぜかよい気持ちにいつの間にかなっている事に気付いた。Mattや一緒に踊っている人達が笑顔でダンスしているからなのか?それとも、音楽の選曲がよいからなのか?よくわからないが、僕の心を気持ちよくさせてくれる。日本のシーンも出てくるのだが、そこで一緒に踊っている女性達も笑顔で楽しそうだ。日本の新聞記事を読んでいると、日本の閉塞感が伝わってくるのだが、そんな事無く、若者たちは弾けていて、人生をエンジョイしているのでは?数秒のビデオからは判断できないのであるが。インドの女性達とインド風に踊っているシーンは笑える。僕は何回も再生してみています。2005年版、2006年版ともにかなりの回数を見ています。多分、皆さんも気に入ると思うのでぜひ見て下さい。よい気持ちになれると思います。

追記:もう一度見て思った事:20代半に世界にあこがれて、自分の中で旅行ブームがあったのだが、世界の色んな人々と景色を見ていると、その時の気持ちがよみがえって来る。

Where The Hell is Matt?

ハッカー(Hacker)適正ないかも

ハッカーになろう (How To Become A Hacker) by Eric Steven Raymondを、今日まで読んだ事がないことじたいに、自分にはハッカー適正がないのかも知れないが。

昔は、将来のキャリア・パスとして、エンジニアリング・マネジャーになりたいとか、ソフトウエア・アーキテクトになりたいとか、思い描いていたのだが、ポール・グラハムの本とかエッセーを読み始めた頃から、「ハッカーです」って名乗れたら、良いなんて思い出した。かなり子供っぽい願望ですが。(注)コンピューターを使って悪い事(情報を盗んだり、書き換えたりする)をする人達は正式にはクラッカーと呼ばれ、ハッカーとは区別されます。

本題に戻ります。昨日、上記のHow To Become A Hackerを読んだ。そのエッセイの内容は、「どうしたらハッカーなれるのか」

まずは心構え

III. ハッカー的心構え

  1. この世界は解決を待っている魅力的な問題でいっぱいだ
  2. 同じ問題を二度解くような無駄はいやだ
  3. 退屈と単純作業は悪
  4. 自由は善
  5. 心構えは技能の代用にはならない

心構えの部分に関しては、そんなに問題ないかな。

次に腕(技術)

IV. 基本的なハッキング技術

  1. プログラミングを身につけること。
  2. オープンソース UNIX 類のひとつを入手し、使いかたと動かしかたをおぼえること。
  3. World Wide Web を使う方法を学び、HTML を書きなさい。
  4. まともに英語ができないならば、身につけなさい。

Ericは、プログラミング言語に関して、Python,Java,C/C++,Perl,Lispの5つの言語を身に付ける事を進めているので、この辺りは努力が必要。真のハッカーを名乗るにはやっぱりLisp読めたり・書けないとダメかな?ポール・グラハムもYahoo!Shoppingの前進である、ViaWebをLispで作ったし。英語に関しても、昔よりはましだが、努力が必要。技術に関してもなんとかなりそう。

V. ハッカー文化での地位

  1. オープンソース・ソフトウェアを書く
  2. フリーソフトウェアのテストやデバッグを手伝う
  3. 有益な情報を公開する
  4. インフラが機能し続けるように手伝う
  5. ハッカー文化そのものへの貢献

オープンソースは使うけど、全く貢献できてない。ギブ・アンド・テイクじゃなくて、自分はテイクばっかりだ。何とかしないと。

根本的に僕はハッカー向きじゃないなっと思えたのが次の項目

VII. ハッカースタイルの要点(多くのハッカーは以下のようなことをやっていますし、それがハッキングの真髄に本質的に通じるものがあると感じています。)

  • SF を読むこと。SF 大会に参加すること(ハッカーやハッカーの卵たちに出会ういい方法です)。
  • 禅や武道を学ぶこと(その精神面は深いところでハッカー精神と共通しています。)
  • 音楽を分析的に聞く耳を鍛えること。一風変わった音楽がわかるようになること。なにか楽器を上手に演奏したり、歌が歌えるようになること。
  • だじゃれや言葉あそびへの理解を深めること。
  • 母語できちんと文が書けるようになること(わたしが知っている最高の連中を含め、ハッカーの驚くほど多くは物書きとしても有能です)

まず、SFは殆ど読んだ事がない、正直に言うとあまり興味を持っていない。シリコン・バレーにいるハッカー、ギークのようにStar Warsにそれほど思い入れもないし。禅とか武道もあまり興味をもてない。ソフトウエア関連の人には楽器が出来る人が多いのだが、僕は昔から音痴でリズム感がなく、音楽はダメダメ。この部分に関してはコンプレックスあり。最後に僕には文才がまったくない。この項目を読んだら、僕にはハッカーとしての基本的な資質が全く無いような気がしてきた。

ハッカーとしての資質はなくても、今後もがんばってHackerを目指して行きたい。

PASCAL & FORTRAN

7月4日はアメリカの独立記念日で、会社の元ディレクターの家にBBQに行った。コンピューター関連の人が多く、よく大学の話になる。若者と自分の会話:

若者: メジャーはコンピューター・サイエンスですか?
自分: いいえ。機械工学です。
若者: 大学時代にコンピューターに関連することをなにか学んだのですか?
自分: パスカル(PASCAL)とフォートラン(FORTRAN)を少し。
若者: 何ですかそれ?
自分: パスカルとフォートランに付いて説明を始める。

えーーーー、知らないんだ。PASCALとFORTRAN。。。。。。
多分、7、8歳の年の差があると思うのだが、今時の人はPASCALとかFORTRANとか知らないんだ。時代の流れの速さを感じた。

10年が経った

今日、2008年7月5日(土曜日)は、僕がアメリカに移住してきてから、ちょうど10年です。何日か前から10年の区切りの日は結構感傷的になったりするのかなとか思っていたが、世の中も普通の土曜日だったが、僕の心も普通の土曜日だった。去年の9年の区切りの日の方が、感傷的だった。(去年のブログ:7月5日:僕の記念日)という訳で、過去を振り返りたいような気分では別にないのであるが、一応振り返ってみる。

1998年7月5日(10年前の今日)ー1999年9月 ロサンゼルス近郊のトーランスという町で、アメリカ生活を始めた。英語も本当にダメダメだったし、エンジニアとしても大した事なかったのだが、気持ちだけでがんばれた。働いていた会社では、日本人も多く、色々助けて頂いた。感謝感謝。同年代の友人にはビリヤードに頻繁に連れて行ってもらい、日本では殆どビリヤードをした事なかったが、この間に上達した。前にも書いたが、お気に入りのマンハッタンビーチによく行っていた。

1999年9月ー2001年1月 ニューハンプシャー州(東海岸)に移住。正直に言うとボストン(マサチュウセッツ州)まで車で一時間程のところであるが、アクティビティーが少なくちょっとつらかった。会社の人はみんな家族持ちだし、独身の日本人にはちょっとつらいかな。東海岸の人のしゃべり方は比較的早口だし(特に女性)。毎週末、ボストンまで車で出かけて行った。

2001年1月ー2002年12月 ボストンのダウンタウンにスタートアップの仕事が見つかり、ボストンの隣町ケンブリッジに引っ越した。ハーバード大学から歩いてすぐのところ。IPOで大金持ちとか夢に見ていた。正直に言うと、現実なんて全く見ていなかった。この期間に結婚。会社にはアイルランド出身の若者が多く、みんなでよくアイリッシュパブに飲みに行ったのが楽しい思い出。そして、9・11。その数週間後、日本から妻がやって来た。よくみんなが飛行機に乗りたがらない時に来たものだ。9.11の後から働いていた会社が傾きだした。何度かのレイオフをしのいだが、5回目くらいで僕の番が来た。経済の調子もあまりよくなく、就職難の時だった。ジョブ・インタビューの機会も頻繁にあるわけではないので、よくハーバード大学の図書館で勉強していた。あと数ヶ月見つからなかった日本に帰ろうと思っていたところ、ラッキーな事に仕事が見つかった。

2002年1月ー2007年9月 この間は仕事に関してはコツコツがんばった。コツコツやっただけの成果は残せたと思う。日常の仕事とは別に、個人としてソフトウエア・コンサルタントの仕事も始めた。日常の仕事では経験できない事を経験でき、幅が少し広がったように思う。この間に子供が生まれた。そしてアーリントンに家を買った。プライベートライフも充実していた。しかし、2007年の夏、このままでいいのかな?変化が必要かな?と考え始めた。これまた運良く、憧れの地シリコンバレーに仕事を得る事ができた。2007年10月家族で西海岸へ移住。

2007年10月ー2008年7月5日(今日)ここシリコンバレーでコツコツまたがんばっている。

最後に、10年の間、色々な人に支えてもらってきたなーと思う。どうもありがとうございます。

この前理由があってGoogleDocで自分のプレゼンテーション資料を作る機会があったのでここに張っておきます。スライドさせる為には左下の>>ボタンを押して下さい。

最近読んだ本

6月12日から22日にかけて日本に行って来た。前から読んでみたかった本、本屋で見つけて買った本、親がなぜかくれた本、全部で4冊読んだ。せっかく読んだので記録としてここに載せます。

Googleを支える技術 ‾巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)
Googleの技術的な部分が分かり大変良かったのだが、この本を読むことによって、Googleを技術的に支えるGFS, MapReduce, BigTable, Sawzallを、オープン・ソースでやろうとしているHadoop (HDFS, Hadoop MapReduce, HBase, Pig) により興味が持てた。

道をひらく
PHPから出版されているこのシリーズの本田宗一郎の「やりたい事をやれ」、稲盛和夫の「成功への情熱」が大変よかったので、本屋でみつけ衝動的に買ってしまった。松下幸之助の言葉も心に響く。110ページの岐路にたちつつの項に勇気づけられた。

やはり次々と困難に直面し、右すべきか左すべきかの不安な岐路にたちつつも、あらゆる力を傾け、生命をかけてそれを切りぬけてゆく -- そこにこそ人間としていちばん充実した張りのある生活があるともいえよう。

情報は1冊のノートにまとめなさい 100円でつくる万能「情報整理ノート」
前から、アイデアノートを作ったり、物忘れがはやいので、ノートを持ち歩いて活用しようと考えていた所にこの本が目にとまった。全ての情報を一冊にまとめるのは中々よいアイデアだと思う。

白洲次郎名言集―男の品格2 (コスミック新書)
母親がくれた本。興味持てるかな?と疑いながら読み始めたが、読み始めたら面白く一気に読んでしまった。こんな人もいるんだなー。

Chumbyウィジットを作ってみた。

ちょっとした機会がありFlashの勉強もかねて3つChumby用を作ってみた。
作ったウィジットのリスト

  • Y! Buzz
  • Y! Upcoming
  • Y! Weather

Virtual Chumbyへのリンク:
(*)Vitural Chumbyだとボタンのラベルが表示されない。左から、Back,Pause(Resume),Nextです。