元祖ハッカー、和田先生(75歳)は今日もお元気です。
「一生プログラマ」を目標とする私としては、 歳をとっても和田先生のようでありたいと望む。 こんな私も、最近、老化の足音が聞こえるようになってきたが、 プログラミングに対する老化の影響(悪影響)については いまだに確たる自覚がない。 体力をそれほど必要としない知的作業(徹夜とかは別として)なので 影響は限定的だと信じたいのだが。
プログラミングからは離れるが、
先日、77歳の叔父伯父(父の兄)がバイク(たぶんビッグスクーター)で事故して
10日ほど入院したと聞いた。
「でかけるから」と言ったところとはまったく逆方向での事故だったそうだが、 本人の記憶が飛んでいて、なぜそこにいたのかまったく思い出せないのだそうだ。 まあ、大事にいたらず良かった、良かった。
しかし、体力は落ちていると思うので、あまり無理をなさらないでください。
とはいえ、この兄弟(伯父と父)は私よりも体力がありそうなので 油断できない。父(69歳)はいまだに握力70Kg弱を維持しているような気がする。
かなわない。
「PC 2.0とはなんぞや」という気もするが、 小さなUSBデバイスを持ち歩き、それでブートすればどのPCでも 同じ環境で作業ができること、を意味するらしい。
まあ、それだけなら昔から技術的には可能なわけだが、 そのUSBデバイスが単体ではLinux駆動のメディアプレーヤーとして動作する(ので、持ち歩きに対するインセンティブが増す)ことと、 オンラインストレージとネットワークアップデートが(有償で)提供されることが 新しいと言えば新しいか。
単なるディストリビュータを脱却しようとするTurboLinuxの新しい動きは 興味深い。同じ土俵で勝負したらRedHatに勝てないものね。
ところで、この一連の話題性のせいかTurboLinuxの株価は上昇している。 しまった、こうなることはある程度予想できてたんだから、 昨年の時点で買っておけばよかったなあ。
よしおかさんがRubyコードを書いてるっ。 私の中で評価が高い人がRubyを使ってるのを見ると、ちょっとうれしい。 増田さんがRuby使いはじめたのを見た時もうれしかったなあ。
で、当の吉岡さんのコードだが、ちょっと冗長な印象がある。 特に三回あるmakehashメソッド呼び出しの周辺がいかにも同じことの繰り返しである。
ここは
などをぜんぶmakehashメソッドに詰め込んで、DRYで行こう。 本体部分はよくわからなかったので(手元にデータもないし)、手をつけてない。
で、結果はこんな感じ。テストしてないけど。
#!/usr/bin/env ruby def makehash(path) h = {} open(path, "r") do |f| f.each do |line| line=line.chop h[line]=line end end h rescue puts 'error ' + path.to_s exit end hash1 = makehash(ARGV[0]) hash2 = makehash(ARGV[1]) hash3 = makehash(ARGV[2]) hash1.each do |key, pkg| line = pkg.to_s + ', ' line = line + if pkg == hash2[pkg] "included, " else "not included, " end line = line + if pkg == hash3[pkg] "included\n" else "not included\n" end print line end
昨年のRubyConfにおけるRejectConfレポート。
体力なくて出席しなかったんだよなあ。 出てればよかったかなあ。
カプコムのMTフレームワークにおける種々の工夫。
っていうか、並列度をあげるための(私の知らない)テクニックの数々。 これって「普通」のコンピューティングには応用できないもんかね。 まあ、日常的なタスクにはそんなに並列度はないか。
どう逆立ちしてもtrunkがYARVであるのは間違いのない事実で、 いつまでもmatzrubyの箱庭で遊んでいても、世間様には貢献できない。
というわけで、意を決してtrunkに手を入れてみる。 あまり難しい(coreに大々的に手を入れる)ようなものは 手に負えなそうなので、とりあえず簡単なものから。
コア以外のソースコードは共通なので、意外と簡単。 で、コミットしてみた。
この後、
も導入しよう。クラスローカルインスタンス変数には 命令の追加が必要になる。ちょっと手ごわい感じ(だけど、動いてるみたい)。
ところで、命令が追加されると tool/compile.rbでダンプされた命令が読み込めなくなるんだけど、 命令セットのバージョンとか付ける必要があるのかな。
とうとう申し込みオープン。今年はいったいどれくらいでチケットが売り切れるか。
まず今年の会場は(OSCONの会場でもあるくらいだから)バカ広い。 さらに受け入れ人数も昨年の倍を予定している(ということは800越えか?)らしい。 となると、3日で売り切れた昨年よりはマシであることが期待できる。
とはいえ、Railsの話題性を考えると楽観はできないな。
「行きたい」と叫んでいた後輩のKくんはすでに申し込みをすませたらしい。 仕事の調整はつくのかな。費用は会社負担にしたげるから。
音声インタフェースはうるさいので実用は難しい気はするけど(「はどそ〜んっ」)、 一度遊んでみたい気はする。
まわりに誰も居ないところで。
何週間かぶりの教会の掃除当番。当初は私一人でやるつもりだったが、 「夕食、外食にして、ついでについていくよ」と家族総出になった。
掃除機かけて、イス並べて、ゴミ片づけて。 いや、人数が多いと仕事が早い。 助かった。
その後、サティで食事と買い物。 末娘が食べるのが超遅いので、 私と末娘だけ置いていかれた。
「口、からっぽになった?」
「あーん(まだ入ってる)」
を何度繰り返したことか。
女性陣はチョコレートと、洋服。息子は靴を買ってもらったほかは本屋へ。
私は子守り。
第一日曜なので証会。今日はなぜだか男性ばかりだった。
そのうちの一人、腹話術など多芸な人が 「何人の前でも緊張しないけど、この場では緊張する」と おっしゃっていた人がいた。
確かに。私も1000人の前でプレゼンしたこともあるけど、 その時よりも教会で60人の前で話す方が緊張するな。 今日も後で妻から「早口だし、声が小さいし、マイクからも遠いし、よく聞こえなかったよ」とたしなめられた。
すいません。
集会終了後、年度切り替わりの会計処理をしたのだが、 二件ほどミスをしていることを発見した。たいしたことはないのだが、 本部の人の事務処理の負担がちょっと増えるかも。
すいません。
帰宅したら、昼寝。ちょっとのつもりだったのに、 何時間も寝てしまった。
もったいない。
反省するべきことの多い日曜日だなあ。
プログラミング言語は新たな問題を解決するために誕生した。 というか、問題を解決しない言語は生き残れない。 その視点は鋭い。
で、Rubyに対して「Perl is a kludge, and Lisp syntax is scary」(Perlはその場しのぎだし、Lispの文法はおっかない)という観察もまた鋭い。
っていうか、Paul GrahamはRubyの仕様だけ見て、 私のLispへの傾倒と、その一部(S式とかマクロとか)の忌避に気づいたのかしら。 そのことについて彼と話したことはないはずだけど。
だとしたら、たいしたもんだ。
弾さんによる増補もある。
ちょっと新しい視点からの継続入門。
でも、なんか途中からわかんなくなっちゃうんだよなあ。 部分継続にいたってはサッパリ。
CPSそのものに対する理解の不足かしら。
高橋(Maki)さんによる:=オペレータへの反対意見。
まあ、わからないでもない。一応反論しておく。
社長と一緒に出雲空港へ行き、 一緒に伊丹に移動。これから長期出張だ。
伊丹からバスで関空。思ったより遠い。 どうせなら大阪の空港は関空で一本化して、 ハブ空港にしてくれたら、いろいろと便利なのに。 東京が羽田と成田でめちゃ遠いのにあきたらず 大阪まで国内空港と国際空港がこれだけ離れているというのは どういうことかと。
その後、井上社長のチケットでラウンジで過ごした後、 UAでサンフランシスコへ。
機内では『守護神』を見た。 面白くなかったとまでは言わないが、ちょっとベタな展開。 おまけに数日前にラジオで浜村淳がしゃべっていた内容そのまんま。 「ここからは言えない」、「あとは劇場で」とか言ってたけど、 結局全部しゃべってるじゃないか、あのヒトは。
我々関空勢と成田、セントレア組と合わせると 総勢18名にもおよぶ視察団。多いぞ。
サンフランシスコ空港はいままでトランジットで何度も使ったことがあるが (パスポートでスタンプ数えたら4回目だった)、 降りるのは初めて。
空港でガイドの人に連れられて市内観光。 着いて早々引き回されるのは時差ボケの解消のためだろうか。
空港から市内、ツイン・ピークスから市街を眺める。 口数の多いガイドさんによると
ふぅん。
ゴールデンゲートブリッジ。 テレビで見るのとまったく同じだが、 昭和12年完成とは知らなかった。 うちの親父と同い年じゃん。
アルカトラズが遠くに見える。
その後、フィッシャーマンズワーフに移動。 昼食はカニ。カニはここの名物なんだってさ。 (近所の温泉宿で喰わせるような)日本的なカニよりも ずいぶん身が詰まっている。しかも、でかい。 カニまでアメリカンサイズである。
食事後、おみやげを買ったり、 (野生の)アシカを眺めたりする。
ホテルに移動。宿泊先は Crowne Plaza Union Square。 移動途中のチャイナタウンとか面白かった。 なぜかみんなピンクのプラスチックバッグ抱えてたりするのも。
インターネット接続が高い。 1日10ドル。1週間で35ドル。 アメリカのホテルってどうして無料でネットを提供しないんだろうか。 日本じゃ常識なのにな。
ホテルで、るびまの原稿書き。
で、夕方、みんな揃って夕食へ。 ヒルトンの1階にある日本料理店。 なんで、和食...。
でも、おいしかった。 アメリカの日本料理って言っても馬鹿にできないな。 サイズはアメリカンだけど。
一行は李白(島根のお酒)があったことに感動してた。 その後さらにスシ食いに行った人たちもいたが、 胃袋どうなってるんだろう?
私は帰って原稿書く。
今回はC++だ。最近読んだ『C++の設計と進化』に影響されたことは 言うまでもない。本当はBjarneの直筆サイン付きの原書を読みたいところだが、 ちょっと英文苦手なんで。
機内であらかた書いてたんで、あとは総称型プログラミングのところ。 ちょっと面倒なんで後回し。
ホテルのレストランでクーポン。Full American Breakfastとあるが、 いわゆるContinental Breakfastとどこが違うのかわからない。
「Javaの名づけ親」ことKim Polese女史の会社として知られる SpikeSourceへ訪問。 オープンソースビジネスについて熱く語ってもらう。
プロプライエタリソフトウェアがなくなることはないだろうが、 オープンソースこそソフトウェアの進歩の方向であるというメッセージは 力強い。っていうか、プレゼンうまいよ、この人(元Cygnus→RedHatの人)。
その他、技術者と話もした。
なのだそうだ。
で、ここで視察団は、分散。
私と一緒に次の訪問に行くチームはMountain Viewの「まるいちラーメン」へ。 シリコンバレーまで来てラーメン食べなくてもいいだろうという気もするが、 せっかく案内してもらったので素直に従うことにする。
で、Combo Bなるメニューを注文したのだが、 「ラーメン+揚餃子+カリフォルニア巻き」のコンボであった。 ちょっと量が多いよ..。
食べたけど。おいしかったけど。
この店で「ベイスポ」をゲット。 ベイエリアの無料日本語新聞。普通のコミュニティ紙に見えるが、 求人欄などアメリカらしい。
なんでもベイスポのある店に悪い店はないんだそうだ。
(株)SRAの米国法人SRA Americaは、今はSRAOSSという名前になっているのだそうだ。 日本支社長はPosgreSQLの石井さんだよね。
社長の人はインドの方なのだが、日本語がめちゃめちゃ上手。 終始、日本語で話しておられた。
が、日本語が上手でも日本人のように振る舞うとは限らない。 すっごいストレートで、「あれはダメだ」とか、 「結局どうしたいの」とか。これがインド風なんだろうか。 すがすがしいほどだ。
しかし、私が「Rubyを作った人」というのは認識しなかったみたいで、 最後の最後、帰る直前になって、 「Ruby作ったの? あなたが? 最初に?」とか言われた。
そうです、私が作りました。
同行者のデジカメのメモリカードがいっぱいになったので、 電気屋のFry'sへ。レンタカーのカーナビが(日本のに比べると信じられないくらい) お馬鹿さんで、迷いに迷う。
で、いざついた店が異常に巨大で。SDカードを探してさまようことになる。 時間に余裕がない時はFry'sはやめた方が良いかもしれない。
しかし、2GのSDカードが$29.99は安い。秋葉よりも安いか。
「シリコンバレーの日本人技術者の会」JTPAのミーティングに呼ばれる。 貴重な機会である。
で、Rubyのこととか、シリコンバレーの生活のこととか。
など。
あと、当日のレポート(写真付き)。
帰る前に、幹事の渡辺千賀さんの『4022731222』を売ってもらう($9)。 もちろんサイン入り。いいおみやげだ。
今回の出席者には「嫁さんに読ませたらギークの生き方を理解してもらえた」と言ってた人がいる。うーむ、もしかしてうちの妻も...いや、ちょっと無理かな。
うーん、でも、世間には「変数のスコープは小さい方がいい(必要のないスコープに漏れたりしない方がよい)」という汎用的なプラクティスも存在するので、よそからRubyに来たひとは「えー、なんで:=使わないの? 便利だよねー」とか言いながら、:=を使いまくるような気がとってもします。例えばRails方面とかRails方面とかRails方面とか(<超偏見。でも、過去のRubyのテイストになじみのない人が大量に流入している&&新しいもの好きという傾向があるのは事実)。
それならそれでいいんじゃないかな。YARVなら性能上のペナルティはないそうだし。
同じ朝食。今日はウェイターが「なににする?」と聞いてきた。 「目玉焼きとベーコン」を注文。そうか、これがFull American Breakfastの正体か。
視察に全面的に協力してくれているCTCさんの計らいで ITOCHU Technologyのオフィスを訪問。
移動中のバスの中ではずっと寝ているので、 訪問先の位置関係とかが全然わからない。
シリコンバレーについていろいろと学ぶ。 ここが非常に特異な場所であることがよくわかる。 そんな場所が日本のどこに生まれるだろうか...無理かな。
アメリカのVCの1/3がここにあるのだそうだ。 また、ドットコムバブルの影響もほぼ抜けているとか。 確かにグラフを見る限り投資額は前の水準に戻りつつあるように見える。
ミーティング終了後、お弁当をご馳走してもらったのだが、 和食弁当であった。ちゃんとご飯とみそ汁も付いている。 が、やっぱりサイズはアメリカンであった。
おなか一杯。
JETROのSan Joneオフィスへ。 Business Innovation Centerといって、 シリコンバレーに進出したい人に(十分な審査の上)オフィスを貸したり、 ビジネス展開を支援したりするのだそうだ。
最近は大変盛況で、 今年だけで過去5年間と同じくらいの数の会社を支援したとか。
またまたシリコンバレーの特異性とか住みやすさについて、熱く語られる。 ちょっとビジネス色が濃くて、(さっきとは別の意味で)おなか一杯。
その後、ちょっとだけ観光してから夕食へ。
観光した場所
Apple本社。
なにをするかというと、Apple Storeで買い物という。 ここぞとばかりにいろいろ買ってる人もいた。マカーおそるべし。
Stanford University
もうかなり暗かったのだが、ちょっと離れたところに塔が見えた。 「これはSather Towerか」と一生懸命写真を撮ったのだが、 どうも違うTower(Hoover Tower)らしい。 っていうか、そもそもSather TowerはBerkeleyなのか。勘違い。
で、夕食に連れられていったら寿司屋(Fuki-Sushi)だった。
着いたら、Tim BrayとCharles Nutterもいた。Sunの人がアレンジしてくださったらしい。 ありがたい。
で、日本食を食べながら日本や日本文化について語った。 この二人はRubyKaigiにも来ると言ってた。今回はインターナショナルだな。
この店の日本食は大変おいしかった。 日本語も通じるし(中には日本人顔してるのに通じない人もいたけど)。
でも、量が多い。とても多い。
だいたい出張中に三本も原稿を引き受けちゃうのはどうかしてると思う。 っていうか、前からわかってるんだから、せめてその内の何本かは あらかじめ書いておくとかできないものなんだろうか。
毎月同じ愚痴を書いてるってことはできないってことなんだろうな。
日経Linux 2007年4月号はAJAXについての後編。
前回はAJAXの概要とJavaScript言語についての説明で終わってしまったので、 今回は実際にAJAXなアプリを作ってみることにする。
しかし、HTMLだけである程度の動作するブラウザアプリが書けるってのは 面白いもんだよね。ちょっとデバッグが大変だけど。 これでFirebugがなかったらと思うとちょっとクラクラする。
IEでバグが出たら泣くしかないよな。
今日は妻の誕生日。なのにダンナはアメリカにいるわけで、 不興を買っているわけである。 日本時間の8日にSkypeしたんだが、ぜんぜん通じないのである。 この辺、電話にはまだかなわない。
さあ、どうやって機嫌を取ろうかな。
今日はSunキャンパスのEBC(Executive Briefing Center)で Full-day Meeting。ここが本社だと思ってたんだけど、 登記上の本社は別にあるのだとか。
で、いろいろな「偉い人」から
などを聞いた。ここでしか聞けないすごい濃い内容であった。 詳細なレポートを書きたいが、それにはこの余白は(ry
また、後でまとめたい。できれば。もうだいぶ忘れてるけど。
特記すべき点はみっつ。
参考: この日のミーティングに関するTim Brayのブログ。
明日にはもう帰国するので今夜が最後のアメリカでの夕食になる。 で、連れて行ってもらったのはCrusatceamという店。
で、カニ。
見たことないほど巨大なものが一人一人の皿に配られるのは圧巻であった。 バジルとオリーブオイルで炒めたものらしい。日本では見かけない味つけ。 意外(?)なことにおいしかった。
今日は今回の旅行のひとつのハイライトと言ってもよい。 あ、いや、Sunの訪問がね。
で、カニを食べながら隣に座っていた Charles NutterとRubyの可視性(visibility)やUnicode対応について 熱く語ったのであった。正直、ここまでRubyそのものの話ができる機会は 日本でもなかなか無い。
で、Charlesと話したことのメモ。
private visibilityが必要になるのは、 ローカルなルーチン(関数 or メソッド)の名前がpublicなメソッド名と偶然衝突することを避けるため。
で、組み合わせとしては以下のような場合がある。
スーパークラスとサブクラスで同名のメソッドがあり、 それぞれの可視性の組み合わせの可能性は(左がスーパークラス)、
である。ここで4は通常のオーバーライドなので問題なし。 1と2に関してはすでに解決策がある(functional styleではオーバーライドしない)。
で、残る問題は3。私の元の案では、 privateを先に検索してからpublicを検索することにしていた。 しかし、これについてはCharlesから
という指摘が。前者はメソッドキャッシュでほぼ軽減されるとは言え、 指摘はもっともだ。で、ここまでで悩んでいたのだが、 今回、カニを食べながら、Charlesが 「でもさ、無理に解決しようとするから難しいんで。 Javaならpublic × privateはそもそもエラーだぜ。 Rubyでもエラーでいいんじゃね(意訳)」という指摘が。
まったくだ。どうしてそれに気がつかなかったんだろう。 一種の視野狭窄か。
「public × private」がエラーなり警告なりで存在しない (あるいは承知でやっている)と見なすことができればシステムがずいぶん簡単になりそう。
あとでもうちょっと考えてみよう。
あと、Unicode対応では、以前の案からencoding=メソッドをなくすことにした。 つまり、ある文字列のエンコーディングは動的に変更できないということ。
変更するためにはString#encodeメソッドを使って新しい文字列を作る。 おそらく性能のため実装はcopy-on-writeを使うことになるだろうけど。
というのも、JRubyではBinary StringとUnicode Stringで クラスを分離したい(少なくとも内部的には)というニーズがあるようだ。 となると「普通の言語」ではオブジェクトのクラスを動的に変更するのは難しいので エンコーディングは変更可能でない方がありがたいことが多いだろうということ。
最後のFull American Breakfast。同室の大西さんからは「まつもとさん、だんだん朝食の量が増えてますよ」と笑われた。しまった、知らず知らずにアメリカンな呪いに...。体重計が恐い。
バスでサンフランシスコ空港。
空港でおみやげを。いや、チョコレートとかそういうのは 昨日のうちにホテル近くのドラッグストアで買っておいたのだが(これは正解だった。空港の売店では値段が倍だから)、 妻のものはさすがにドラッグストア(薬の在庫が比較的豊富な24時間スーパーをイメージしてほしい)では購入できなかったので。
で、Swarovskiのアクセサリを。 まあ、服飾品のセンスはイマイチな私としては、まあまあではないかと。
機内ではずっと日経Linuxの原稿を書いてた。 というか、ほとんどの時間はAJAXなサンプルプログラムの手直しをしてたんだけど。 これはこれで面白い。
飛行機が関空にタッチダウンしたのがちょうど夕方の5時。 もちろん時差のせいだが金曜と土曜の大部分を「奪われた」気がする。
往路は出雲空港から伊丹へ飛行機だったが、 帰りはもう最終便が出てしまっているので、 私と井上さんは電車で。他の松江組は大阪で一泊するそうだが、 我々はできるだけ早く帰りたい(そして、家族のご機嫌を取りたい)ので。
関空→新大阪→岡山までは順調だが、
岡山→大阪松江はめちゃめちゃ遠い。
っていうか、飛行機乗ってる時から通算すると17時間は移動に費やしている。
正直、お尻が痛い。
電車に乗ってる間は、ノートに今回の旅行の間、 やったこと、考えたことをまとめる。 私は普段、あまり紙とペンで文字を書く習慣が無くて、 もっぱらPCにメモを書き込んでいるんだけど、 たまに移動中に紙に書きなぐりながら 考え事をすると結構物事が進むので、 今回は出国前にA6ノートを購入して持ち歩いていたのだ。
今まで、そういうのってたいてい海外旅行の出国前で、 帰国するとそのまま忘れちゃうんだけど、 今回は気をつけてノートをつけて結構効果的だった。
っていうか、普通、そういうことは学生時代に身につけることだよなあ。 私、全然ノートをつけない学生だったから。 勘と度胸と記憶力で勝負って感じ。
自宅に着いたのは深夜12時を過ぎていた。 やっぱりうちはいい。
ひさしぶりに日本の お風呂に入って「お風呂サイコー」と叫んだら、 誰もいないと思ってたのに、妻が聞いてて、笑われた。 恥ずかしい。
体重は1Kg増えてた...。やはり。
夕べ、風呂から上がったらすぐ寝たせいか、 思ったより時差ボケは無いみたい。ありがたい。
しかし、月曜朝に出て、土曜遅くに帰ってきたから、 日曜にしか私に会わない人は海外に行ってたとは想像もしないわけだな。 なんか疲れてるって思われてたみたいだけど。
今日は早く帰る。めずらしい。
ほんとは10日が〆切だったのだが、 機内や電車内で片付けきれず、日曜日には手が出なかったので 今日になってしまった。
お姉ちゃんたちが部活に行っている間、 私はこもって原稿を書いていた。 くたびれた。
スケーラブルな言語。重要なファクターである。
だいたい納得できる品揃えなんだけど、 この人は静的型を(私よりもずっと)重要視しているみたい。 確かに型でエラーを見つけてもらった方がずっと楽なのは認めるんだけど。
なぜ、私は静的型を重視しないのか改めて考えてみた。
きっと、私はスケーラブルであることよりも 簡潔である方を好むからなんだろう。 Javaのような型情報をたくさん書かなければならない言語では (よく考えてインタフェースを配置しなければ)柔軟性も高くないし、 型推論のある言語では明示的な型宣言は少ないけど(それでも引数には書かないといけないことが多い)、それでもなんか固いし。
ソフトタイピングという技術もあるそうなんだけど...。
でも、シグネチャベースで動的にチェックしてくれるオプショナルな「型」なら あっても邪魔にならないかもしれない。 lintみたいな使い方になりそうだけど。
Lisp仙人、竹内先生によるスライド。
こういうのを見るたびに断絶を感じる。もったいない。
Rubyが、Lispの持っていたパワーの一部を大衆に紹介できたことは うれしく思うが、結果的にLisp自身がそれを行うことを邪魔したと言えないこともないし、 またLispのすべてのパワーを紹介できたわけではないので、 その点については心苦しく思う。
安彦先生、厳しいですなあ。
「ガンダムは実にミステリアスな体験でした。なぜ、これほど支持されるのか。なぜ、これほど長命なのか、その理由は本当にわかりません。私は改めて見る勇気がなくて…。ただ、仕事上、どうしても見ることもありますが、お粗末ですよね」
──そうでしょうか
「日本のアニメ、いわゆるジャパニメーションの特徴なのですが、品質的には良くなくても妙に人の心をキャッチするというのか。それが日本だけではなく、海外でも受け入れられ、世界に冠たるジャパニメーションと呼ばれているわけです」
でも、なんか分かる気がする。我田引水しちゃうと 私のRubyに対する気持ちもちょっと似てる。
Rubyは実にミステリアスな体験でした。なぜ、これほど支持されるのか、その理由は本当にわかりません。仕事上、どうしても見ることもありますが、お粗末ですよね
品質的には良くなくても妙に人の心をキャッチするというのか。それが日本だけではなく、海外でも受け入れられ、世界に冠たるRubyと呼ばれているわけです
日々、Rubyの穴を埋めることを考えてる身からだと 欠点が一杯見える。でも、世界中の人が支持してくれる。 講演とかがあれば、理由を推測して語ってみせてはいるけれど、 本当のところは私にも全然分かってない。
出張中にできているはずだった原稿第三弾。
今度は書き下ろしの文章。とはいえ、 以前に書いた雑誌記事をベースにいろいろと書き加えたもの。 でもねえ、正直品質が高くないなあ。 自分で書いててノらなくてさ*1。
やっぱ、書き下ろしは難しいなぁ。
*1 とか書くと編集の人が青くなるかも
コンソールベースのGMail風メールクライアント。
morqとかぶるのでかなり関心がある。ただ、こういうツールの場合、
という点が(私にとっては)大変重要なので、たいてい使えなかったりする。 今回のSupもコンソールベースで海外産ということから たぶん無理だろう。まあ、だからわざわざmorqを作ったわけだが。
でも、ソースコードとか参考にできるかもね。
オーストラリア産のRuby.NETコンパイラ。 マイクロソフトに移ったJohn Lamのとは違うもののようだ(彼はカナダ人)。
そういえばJohn Lamは、Redmondへの移動でえらい苦労しているそうだ。
lionfanさんによるPaul Grahamのメモの翻訳。 オリジナルは2001年のMITのパネルディスカッション用のメモ。 2001年のMITといえばLL1を思い出すが、あれは秋だったはず。 これは5月10日だそうだ。
今回の内容はだいたいは「Being Popular」と共通(時期も同じだし)だが、 価値は下がってはいない。
「それなんてRuby?」という気がするが、 この当時PaulはRubyを知らなかったはず。 また、「ハックを認めろ」には 当然のように「言語内言語」や「マクロ」を含んでいるのが Lispハッカー。
「サーバ・ベースのソフトウェア」という概念に ちょっと2001年と言う時代を感じさせる。 この後、歴史はAJAXなどでクライアントに揺り戻すのだ。 歴史は繰り返す。
そして、「みんなは本当に前置記法を怖れて」いる。 もちろん、この命題の真偽は「みんな」の定義の取り方によるのだが。w
正直なところ、新しい言語に関するPaulの予想は外れています。 残念なことに。
私は21世紀になってから生まれた 将来有望と注目されている言語を知りません。 あえて言えば...Fortress?
リクナビ連載「我ら"クレージー☆エンジニア"主義!」の最新作。
先日、鵜飼さんとリクルートのイベントに出た後に 受けたインタビューをまとめたもの。
でもね、正直に言っていい? 面白くない。
実はこのインタビューのときに書籍化した 「我ら"クレージー☆エンジニア"主義!」のバックナンバーを いただいて読ませてもらった。みんなキャラが立ってて非常に面白かった。
それに比べると、今回のものは正直イマイチ。 なんでだろう。文章書いてる人は同じなのに。
まあ、素材が面白くないってのは否定できないよね。 でも、それだけじゃないよな。
きっとこの記事に書かれている私はとても「フツー」だから 面白くないんだと思う。いや、もちろん、 私の実態は「フツーの人」なんで、ライターの人もそうとしか書けなかったのかも しれないけどさ。
いや、待てよ。
かつて自分が普通だと思っていて 実際にはそうでなかった経験が山ほどある私としては 「フツーだから面白くない」と感じたのは私だけという可能性があるわけか。
実際のところ、「私じゃない人」はどう感じたんだろう?
住井さんによるOCaml連載。
大丈夫、まだついていける、なんとか。
パターンマッチはちょっとほしい気がする。 っていうか、たぶんメソッド呼び出しの引数マッチとか ブロックパラメータの束縛とかに、パターンマッチのセマンティックスを ちゃんと定義すればいいんだろうな。
どうしたらいいのかよくわかってないんだけど。
Javaの今年を予想。
興味深いのはここ。
For 2007, my money is on Ruby, although it's not actually my personal favorite. Python code seems to me a lot cleaner and easier to understand than Ruby code, and I think most Java programmers would agree. However, Python came out at the wrong time.
もちろん、「2007年にはRubyが来る」という発言そのものは全然珍しくもないのだけれども、
人からさえも「2007年はRuby」と言われるのは、 私にとってはちょっと意味があることである。
世の中の風潮に流されるのはあまり「賢い」ことではないような 気もしないでもないが、今年もチョコレートいただきました。 妻と娘たちから。
個人的には甘いものはあんまりいっぺんに食べられないんで、 この日に集中するよりも、もうちょっと分散してくれた方がありがたいんだけど。
そういえば、バレンタインデーにチョコレートってのは 日本の習慣のはずだけど、アメリカのお店でもハートのケースに入って 「Valentine's Day」と書いたチョコレートが売ってた。
習慣の逆輸入?
だけど、きっと男の子が女の子に贈るんだろうな、アメリカなら。
会社でRubyビジネスについて打ち合わせ。 詳細は書けないが。
で、その中で「Rubyに新しい機能(クラスローカルインスタンス変数とか)を求める人よりも、YARVが今欲しいって人の方が多いと思いますよ」という発言。
確かにそうだ。
もともと今年12月の1.9リリース宣言も、青木さんのそういう発言が発端だものな。 どうしたものかな。
うーん、前者の方が現実的か。私が「2.0っぽいこと」から手を引くのは ありえないし(楽しくないから)。
来週の合宿で相談しよう。
まあ、それはそうだと思う。
もっとも、現代開発されているソフトウェアは 1920年代のフォードTよりもはるかに複雑だが。
しかも、この複雑さは今まで人類が取り扱ったことのないタイプの 複雑さのような気がするのは気のせいだろうか。
最後のものがなければ、 「小説」など芸術の分野に似たような複雑さが存在しうるのだが、 小説なら内部に少々矛盾があったり、伏線がいかされなくても たいして困りはしないものなあ。
Rubyをはじめとして広く用いられている NFAと比較するとDFAはめちゃめちゃ速いぞ、という話。
まあ、それはそうなんだけど、DFAはバックリファレンスとか実現できないし、 マッチの挙動が異なっちゃうんだよねえ。
GNU grepは両方のエンジンを積んでDFAでも問題ないケースに限ってDFAを使っていると聞いてるけど。Rubyでもそうすべき?
RubyによるPerl6の実装。
完成度はまだまだだけど(テスト20%パス)、 やる人がいるという時点ですごいことだと思う。
Railsアプリケーションを高速化する10のアイディア。
多くはRailsに限定されないし、Webアプリケーション限定でないものもある。
しかし、RailsBenchの GCパッチってなんだ? 初耳だ。
どうやらGCログと環境変数によるGCパラメータの設定を許す パッチのようだ。欲しい人はいるかもしれないなあ。
4264023866
先日のアメリカ出張のときに島大の野田先生からいただいた本。 ようやっと読めた。
戦前、アメリカ留学までしたルーテル教会の牧師さんが 戦中香港の捕虜収容所などで通訳として働いた時の経験。
愛国者でありながら捕虜に対しても人道的な態度を貫いたこと。 人間的な弱さを持ちながら正しいことを行ったこと。 試練にあってもそれを乗り越えたこと。
なんか多くの人から尊敬される人をただただ「聖人」のように扱うことが多いのに 対して、等身大の表現も好感をもてる。 自分がこのような状況に巻き込まれたら似たようなことを感じると思う。 同じように行動できるかはかなり疑問だが。
で、この渡辺潔牧師は野田先生のおじいさんであるとのこと。
成果はすばらしい...んだろう。 画面数で規模を測ったことはないんでどのくらいの規模だか よくわからないけど。
だが、毎回うまくいくような気がしないのはなぜだろうか。
しまねOSS協議会によるオープンソースサロン第5回目。 今回はUS視察の報告会。
で、同席するためだけに参加したつもりだったのに、 発表者の列に並ぶ羽目に。 まあ、しょうがないか。
野田先生が概略を解説。 井上会長がビジネス的視点から補足。 私が技術的視点から補足。
もっとも、私はたいしたことは言えなかった。
今回の訪問で一番印象に残ったのは
間違った側に立たない。
オープンソースは止められないから、乗るしかない
Free as in Free Puppy。
タダで子犬をもらっても、犬小屋やドッグフードなど 「その後のコスト」は馬鹿にならない。 オープンソースの「タダ」も似たようなものだ。
くらいかな。
それはめでたいことで。
うち(Ruby)も構想ばかりでなく、もっと前進させよう。 考えるばかりでなかなか踏み出せない。 なにか機会が必要なのだろう。
私と笹田くんへのインタビュー。今回は第一回目。
月に一度の評議会。
毎週のことではないので、たまに評議会があることを忘れる人がいるのは ある程度しょうがないと思う(私も忘れたことがある)が、 今日は珍しい人が忘れてた。電話したら「うっかりしてた」んだそうだ。 おうちの事情で忙しいからなあ。
今日は司会。さすがにもう時差ボケはないと思うのだが、でもくたびれた。 さらに集会終了後に半期に一度の監査があったから余計だ。 「できるだけ毎週通帳記帳してください」と言われた。 職場から銀行は近いから全然難しいことではないのだが、 つい、おっくうがっているのがバレちゃうな。
もともと近代以前は夜はとても危険で、 おちおち眠れなかった、という話。
だから、少々眠れない、眠りが浅いくらいがむしろ普通、と。
そういえば、聖書とかでもよく「一晩中」とか「朝になるまで」とかいう エピソードがあるよな。昔はしょっちゅう徹夜していたということか。
じゃあ、現代でも少々徹夜くらいはどうということはない、のか?
書評。
ITを活かした新しい地域活性化。 松江市もきっとそういうのを目指しているに違いない。
こどもの安全の確保、引退者の大量出現への対応という時代の要請と、ITという道具の普及が変化をもたらした。新しい地域活性化の試みがこの本にはたくさん紹介されている。たとえば地域SNSが次々につくられて数千人規模にまで成長したケース。誰もが講師になれる生涯学習プログラムの熱気。NPO法人が情報化の仕事を受注し地域コミュニティ内のSOHOが請け負う仕組みで事業を創出したケースなど。成功例または成功の兆しがたくさん解説されていた。
地域は信頼性の高い情報プラットフォームになる可能性を秘めている。国領二郎慶応大学教授の意見が引用されている。
「外部効果の強い、つまり貢献に対するリターンが外部に流出しやすく、参加の貢献のインセンティブが弱くなりやすいネット上の情報共有も、地域(物理的近接)のバインドのなかであればメリットを可視化、内部化しやすく、持続可能な誘因と貢献のモデルを構築しやすい」
住みやすく、働きやすく、かつ、特色ある地方をITで。
3月24日はShutdown DayとしてPCの電気を切って過ごしましょうという提案。
普段、自宅にいる間はこたつの上にPCを置いているわけだが(で、向かいには妻のPCがある)、最近、こたつの上にメモが貼ってある。
日曜日はノーパソコンデー!!
というわけで、日曜日にPCをいじってたりすると 妻ににらまれるということで。
まあ、週に一度くらいPCを離れることは 家族の団らんやら、精神性の重視という点から有効かもしれない。
〆切直前だったりすると、ちと焦るんだけど。
Serial Interviewシリーズ。XRuby開発者編。
XRubyを作ってる人たちって中国人なんだねえ(アメリカ在住を含む)。 中国人によって開発されているオープンソースソフトウェアって あんまり知らないから(中国固有のソフトを除けばscimとstardictくらい?)、 そういう意味でも興味深い。
弾さんによる「:=」へのツッコミ。
Perl出身の弾さんゆえ、Perlに親しんでおられるのはわかるが、 近代的言語においてsigilを採用するのであれば、 その示すべきものは絶対にデータタイプではない。 データタイプを表現するsigilなんてのは ユーザ定義データタイプを持たない旧式言語の名残でしかない。
Perlでさえ、Perl5以降はリファレンスの導入により ほとんどすべてのものをスカラで表現できるようになったので、 旧来のデータタイプsigilの役割はずいぶん下がっている。
myはともかくとして、varというのはひとつの有効な案であるとは認める。 しかし、互換性の観点からは、予約語を増やすことの弊害の方が大きいと考える。 とはいえ、ローカル変数のルールを変えてしまう時点で互換性も何もあったもんじゃないんだが。
それに明示的な「宣言」を避けるってのがRuby流だしね。
また、PoLSに言及しているのも減点。
Rubyに対する提案のうち、PoLSに言及したものの優先度は自動的に下がることに なっている。(私じゃない)誰かが自分のバックグラウンドと異なるという理由で どれだけ驚いても責任は持てない。 むしろ、PoLSへの言及を含む提案は 主観的な「私の思い通りじゃなきゃイヤ」という暗黙の主張を含んでいることが多く(弾さんがそうだって言ってるわけじゃないけど)、とにかく扱いにくいから。
若くて早熟で大胆な人も、大器晩成な人もいる、とういう話。
私はどっちかなあ。とはいえ、世の中にいるのはどちらにも属さない 「普通の人」が大部分なわけだが。
何かを達成した時点で、若いかそうでないかはさほど重要ではないように思う。 事実、若いけど硬直した考えの人も、年を取っていても柔軟な考えの人も知っている。
だとすると、重要なことはなにか。
個人的には、 「自らに枷をはめない(ブレーキをかけない)」ことと、 「巨人の肩に乗る(他人の成果を活かす)」ことではないかと思う。
「まだ私は経験が足りないから」も、 「もう新しいことを始めるには若くないから」も 言い訳であり、自分に対する枷である。
最近出揃ってきたRubyの各種実装の比較。 当然ながらYARVが性能・実装レベル双方で圧勝。
ふふふっ、圧倒的じゃないか、我がYARVはっ
まあ、やったのは私じゃなくて、ささだくんなんだけど。 また、今後のJRuby/XRuby/Ruby.NETの追い上げも予想されるので、 この「天下」がいつまで維持できるかどうかもわからない。 継続的な精進が必要そうだ。
小さな変更でどれくらいRuby 1.8を早くできるかという話。
具体的には
これで3%くらい速くなったとのこと。3%だとかなり誤差っぽいんだけど。
あまり使われないLinuxコマンド。
個人的にはgprep(とpkill)、bc、ldd、lsofくらいは割とよく使うけどな。 nlは「cat -n」を使うと思う。
Technology Review: C++ は多くのプログラマから批評され,かつ憎まれておりながらも,同時に非常に広く用いられているという事実に関して,あなたでしたらどのような説明を行いますか?
Bjarne Stroustrup: ざっくり答えると,言語には次の2種類しか存在しないということです——皆が不満を顕にするものか,あるいは,誰も使いもしないものか,です。
「よく使われる言語に不満を述べる人は多い」のは事実だが、 「よく使われるが不満を述べる人はそれほどでもない」という 第三の言語もありそうな気がする。
たとえばRubyとか(笑
Binary JSON。ほんとにうれしいのだろうか。 誤差のない浮動小数点はうれしいだろうけど。
そういえばRubyのMarshalはバイナリだけど、 浮動小数点数についてはテキストだなあ。
scrAPIをStringクラスに組み込んじゃったら、という話。
XMLっぽいテキストから データを抽出するのがとても楽。少なくともそう見える。 こういうAPIは大好きだ。
scrAPIやXPath/XQueryみたいのがあるとXMLもいいか、 という気になるよね。もっとも、YAML/JSONとEnumerableメソッドの方が 便利なことも多いけど。
「Delphi for PHP」なんて名前は形容矛盾じゃないかと一瞬思ったのだが、 よく考えてみたらかつてのDelphiに組み込まれていた言語はDelphi言語ではなく、 Object Pascal(の方言)だったということなのかもしれない。
しかし、Pascalの代わりにJavaを採用したものはJBuilderだったしなあ。
Delphi for PHPのコア部分はスペイン製らしい。
角谷さんのデブサミ講演を社内で再演したもの。 熱く語っている。
ところどころ「まつもとさんが〜」という言及があって恥ずかしい。
あと、武者修行メソッド重要。永和さんにはずいぶん助けてもらっている。 というか、NaClは万年人材不足なので、 我と思わん人の応募を待っている。
Kahuaもこんな感じのようだが、 普通に手続きっぽくロジックを組むと、 非同期のイベントドリブンに動作してくれるというモデルにはあこがれを感じる。 あとはどこまで隠蔽できるかという点だ。
でも、Railsの隆盛を見ていると、 実はそんなことは問題じゃなかったりして。
HpricotとWWW::Mechanizeを統合した scRUBYt!の紹介。
機能もString#scrapeもそうだけど、 だんだん面白いツールが出てきた。
なんとなく「知らなかっただけ」という気がしないでもないけど。
夕方からRuby開発合宿。本来は明日からのような気がするのだが、 せっかく集まったので(中田さんはまだ)。
今日の時点の参加者は
で、今日は今後の方針について議論。重要な点は以下の通り。
さほど重要でない点。M17Nの細かな仕様など
ふーん、そうなんだ。
うちは
くらいかな。PCが空いている限りは特に時間制限はしていないな。 もっとも子供たちの使用時間が1日45分をこえることは滅多になさそうだけど。 別にフィルタリングソフトとか入れていない。
大学の試験でWikipediaを丸写しして間違いが伝搬しちゃったという話。
まあ、習ってもいないことを裏も取らずにWikipediaからコピペしちゃうのも 大学生としてはどうかと思うけど。 それはそれとして、Wikipediaに限らず書籍とかでも間違いが伝搬することはあるんだけど、 そっちはどうでもいいんかね。誰もが一次情報にアクセスするわけじゃないんだから。 むしろ、大新聞社(特に朝日?)がWikipediaを特別扱いしているような雰囲気がある方が気になる。
そういえば、うちの中学生たちは先日のレポートにWikipediaを丸写ししていたが(Wikipediaって明記していたし、面白いので黙って見ていた)、先生はどう思ったんだろうか。
1.9になって多重代入ではなく、ローカル変数のみになった block parameterとformal argumentのルールの統一化。 やはり顔を突き合わせていると話が進む。
うささんたちはsignalの話を延々と。 話を聞いているとWin32でのsignalの扱いは悪夢のようだな。
あと、夕食を食べながら、キーワード多重代入のようなものを用意して
foo: a, bar: c = {foo: 4, bar: 5} # a = 4, b = 5になる
それをメソッド引数に許すことにより
def foo(a, b, foo: c, bar: d) end
というのを許すのはどうだろうか、という話が出た。 一応、Railsとかで多用されているHashをキーワード引数の代わりに使う やり方と互換性はそれなりにありそうだ。
もっとも
foo(1,2 bar:42)
という呼び出しは許されても
foo(1,2)
という呼び出しに「引数の数が合わない」というエラーが出ないようにする 理屈付けが必要そうだ。
なんか渡辺千賀さんのコラムに私も登場している。
えーと、「日本発で世界で使われているソフトが少ない」理由でしたら、 私も英語が理由だと思います。でも、sourceforge.jpとか見てると 「日本発のソフトが少ない」とか「日本のソフト開発力が弱い」とかは感じない。 むしろ、日本の外にどうやって出ていったらよいのかわからない、 というような理由が多いのではないだろうか。
それは言語や文化によって形成されているバリアだと思う。
英語を身につけるのはそのバリアを乗り越える良い手段であることは疑いない。 もっともバリアを乗り越えるために必要な「英語力」は 日本人の多くが想像するよりもずっと小さいものなのだが。
最初、RAA (Ruby Application Archive) を 作った時、これは全部英語にした。で、これに登録することで 海外とコミュニケーションをとって、いわば「海外でビュー」した 日本人プログラマは何人もいると思う。 実はRAAの存在は、私が今までやったことの中でもっとも誇らしいことの一つである。
この時、バリアを乗り越えるのに有効だったのは、 「英語力」とか「英語を学ぶこと」ではなく、「海外とやりとりして当然の文化」であったと思う。
弾さんによる、 英語力を得て、海外に通用するようなソフトを開発しても、 結局アメリカに取り込まれてしまう、Linus (Linux)しかり、 Guido van Rossum (Python)しかり、という話。
英語を操れないと世界デビューはままならず、そして世界デビューした途端に合州国から声がかかる。このジレンマをどう解決していくか。
千賀さんたちなら、「それがなにか」と言いそうな気がするけど。
そうか、あまりそういうことは考えたことなかったな。 少なくとも今まで私に本気で声をかけてきたアメリカ(人|企業)はいなかったし。
でも、もうそろそろ開発場所とか国籍とか 関係なくなってきてるような印象があるんだけど、 それは私がオープンソースな開発ばかりをしてるからかなあ。
先日のリクナビの取材のこぼれ話。
なんとなく、この文章を見ると私がとんでもない高慢ちきな人物なように感じられるけど、 実際にはそんなことはない、と思う。
少なくとも表面的な態度は。
Y Combinatorのサイトそのものについてはさほどでもないのだが、 (私にとって)重要なのはこのサイトの実装。
Y Combinator Startup NewsがArcによるものであることも注目したい。ArcはY Combinatorによる新しいLispの実装である。さすがはPaul Graham氏といったところか。
Arc、あきらめてなかったのか。
昨日作ってたパーサーをYARVコンパイラと結合。 時間内には完成しなかった。
合宿は大変有意義であった。 ここ数日のコミット数から考えても 開発が進んだことは間違いない(1.8.6リリース直前であったこともあるが)。
今日はRubyの14歳の誕生日。もうそんなになるのか。
教会の用事があったので、父親が松江訪問。 聖餐会では孫娘(次女)の話をうれしそうに聞いていた。
聖餐会後、託児クラスのお手伝いに行ったのだが、 これは失敗だった。 末娘が離れなくなってしまって、 他の用事にさしつかえてしまった。 どこに行くにもくっついてきてしまって、弱った、弱った。
集会後は、今日も引き続き合宿で頑張ったメンバをお見送り。 東京組のみなさんはバスで無事に米子空港に向かった。
お疲れさま。
息子が「ものがたりを書く」という学校の宿題を頑張っていた。
「宝探し」という基本テーマが決まっていて、 後はそれにどう筋をつけるか、という宿題。
宝の地図を見つけた男の子と女の子が、 動物たちの見張りを知恵を絞ってかいくぐり、 無事宝箱を手に入れるというストーリー。 粗削りだが楽しいものであった。
が、終盤、突然主人公たちは手に入れた宝をお金に換え、 半分で新居を購入し、残りの半分は将来のリフォームのために貯金するのだそうだ。 家は古くなるものだから、だそうだ。
なんか急に現実的になるギャップがおかしくて大笑いしてしまった。
今日は次女の誕生日。13歳になった。 自分で自分のケーキを(姉と協力して)楽しそうに作っていた。 女の子らしい。
以前、この日記で話題にしたWizpyだが、とうとう出荷されたらしい。
で、話題にしたおかげか一台モニターとして送っていただいた(4Gモデル、白)。 さっそく起動してみる。
見かけは普通のメディアプレーヤーである。軽い。 オーディオサンプルとしてKDEの起動音が3種類(ogg)、 ビデオサンプルとして数分のaviファイルがついてくる。
USBでPCにつなぐと/dev/sda{1,2,3}として見える。 sda1(FAT)がメディアプレーヤーのデータ、 sda2(ext3)がLinuxのroot、sda3(ext3)がホームディレクトリになるようだ。
オーディオを試してみる。
手元のoggファイルを転送してみるが鳴らない。 サンプルはoggだったので、サポートしていないわけではないはず。 なにか制限があるのだろうか。今度は 手元のmp3ファイルをいくつか試してみたが、こちらは問題ないようだ。 ちゃんとID3も認識するようだ。添付のユーザーガイドには 歌詞も表示できると書いてあったが適当なデータが無いので試せず。
まあ、普通のプレイヤーだと思う。曲の中での早送りとかスキップとかはないが、 それほど困ることはないだろう。
次にビデオを試してみる。 どうもDivXをサポートしているようなので、mpeg4エンコーディングのaviファイルを いくつか試してみるが、全滅。エラーが表示される。 いろいろ試行錯誤してみたが、どうやら映像のサイズが正確に 160x128 でないと 表示できないようだ。この点、ユーザーガイドは不親切だ。
そこで、手元にあった動画をmencoderで変換する
mencoder -vf scale,expand=160:128 -zoom -xy 160 -o 出力.avi 入力ファイル
これで表示できる。 もしかしたら「-oac mp3lame」、「-ovc lavc」のいずれかまたは両方が必要かもしれない。 YouTubeからダウンロード(youtube-dl使用)してきたファイル とかなら問題なく表示できる。160x128というサイズなので 字幕とかの細部は見えないが、こんな小さい画面でそれを期待する方がおかしいだろう。 オーディオ同様、動画もスキップはできないのであまり長い動画再生には向かない。 ビデオ再生を止めてオーディオ再生してしまうと再生場所を覚えていてくれないので(仕方ないとは思うが)、映画とか見ようとすると、その間はずっとwizpyが占有されてしまう。
こんな画面で映画を観るか? と問われると、まあ、そうだよね、としか答えられないが。
その他にもFMラジオ機能とか録音機能とかもあるのだが、 当面使うことはなさそう。特にFMラジオは私のオフィスでは電波を拾えなかった。 あまり電波が強くないのか。
あと、UTF8のテキストデータの表示機能があるのは興味深い。 テストデータを見る限り、ちゃんとハングルなども表示できるようだ。 アラビア文字とかは試してないが、BiDiまでは期待できないだろう(読めないから確かめられないけど)。 対応していたらびっくりだ。
さて、全般にプレイヤーとして見る時には、ユーザガイドの不親切さが目につく(音楽データの転送方法すら書いてない)が、それはTurboLinuxがwizpyをあくまでも「持ち歩けるPC環境」として 捉えているからだろう。そりゃそうだ、単なるメディアプレーヤーとしてはちとお高い。
で、PCにつないでブートしてみる。 起動はさほど速くないが(遅いというわけではない、念のため)、 無事にTurboLinuxが起動する。 目新しいのはAtokがすぐに使えるようになっている点か。 Firefoxとかもすぐに動くし、 メディアプレイヤーやAcrobat Reader、OpenOffice.orgまでインストールされているので これがどこでも使えるというのはそれなりに便利な気がする。
Rubyも(PerlもPythonも)インストールされてるし。
メニューからターミナルが起動できないのはちょっと意外だった。 あくまでもWindowsっぽいデスクトップ環境を目指すってことなんだろうか。
後はローカルPC上のディスク領域を使うことができるMyPC機能とか、 有償(1年目は無料)のwizpy clubなるものが提供してくれるWebストレージとかも あるのだが、ここでは時間切れで試せず。
最後、もっとも意外だったのは、末娘(2歳)に オーディオプレイヤーが大ウケだったこと。 「おかあさんといっしょ」の曲を聞かせてやったら 手放さず、とうとう聞きながら眠ってしまった。
wizpyはお子様にも大人気だった、ということで。
新言語。
AFNIX is a multi-threaded functional programming language with dynamic symbol bindings that support the object oriented paradigm. The language features a state of the art runtime engine that supports both 32 and 64 bits platforms.
なのだそうだ。
なんかLispっぽいけど、一番外側の括弧が無かったり、 ところどころブレースを使っているところはJavaとかに日和ってるかも。
今年はオープンソーススタック元年になるだろうとの予測。
オープンソースの商用サポートサービスのビジネスチャンスは もうだいぶ前から存在しているが、SpikeSourceをはじめとする 「スタックサービス」が成功するかどうかはまだ断言できないと思う。 先日、直接SpikeSourceに行って、彼らのやっていることも聞いてきたし、 その(技術的)価値は大いに認めるものだが、 市場がそれを受け入れるかどうかは別の話だろう。
MySQLなどのように開発元と密着していない状態での 「スタックサービス」は技術的な点とは別に「顧客からの理解をどう得るか」とか、 「コミュニティとの距離をどう取るか」という課題がある。
簡単ではないが、ぜひ乗り越えてほしい。
悲惨な話のオンパレード。
私が就職したばかりの十数年前にも似たような話を聞いたし、 それ以前にもひどい話はいろいろあったようだ。 上記の記事を読む限りでは現在もなくなっていないようだ。
しかし、不思議なことがある。 冷静に考えるとこのような状態は持続可能ではないように思うのだが、 実際にはそうではないようだ。
なぜ、このような「非人間的な扱い」に耐えられるのか。 愚痴をこぼして我慢してしまうのだろうか。 私だったら転職しちゃうけどなあ。
プログラマを人間扱いしない顧客・上司・経営陣を甘やかすとろくなことはない。 そんな連中には反旗を翻すべきだ。
FacebookのWeb APIにSQLっぽいインタフェースである Facebook Query Languageが提供されたという話。
考えてみれば、そういうデータ検索・取得にはSQLってのは良い選択だよね。
SRA OSS。なぜアメリカに本社があるのか(こないだ訪問したんだけど)、 いまいち分からないんだけど、それはそれとして(少なくとも日本では)、 それなりに成果をあげている模様。
政府もOSSに本腰を入れている。ただ、まず官公庁で大規模システムを導入し、民間に裾野を広げようというような動きも見られるのも事実だ。石井氏は、「まずはコミュニティを大切にしてほしい。何といっても開発しているのはコミュニティのメンバーなのですから。税制であるとか、どのような形でもよいですから“政府がコミュニティを支援している”という実感があればますます市場は活性化するのではないでしょうか」と話している。
本当にそうだねえ。
時間軸でまとめるという面白いサービス。@niftyから。
こいつはRuby on Railsで実装されており(表示部はflash)、 開発にはうち(NaCl*1)も協力した。
で、サンプルと言うかちょっと面白いタイムラインも登録してある。
なお、Timelineの開発そのものはNaClが行ったわけではなく、 あくまでも「技術協力」、「開発支援」および「共同開発」である。
*1 ところで、NaClを「なくる」と読む人があまりにも多い。その心は「塩化ナトリウム」なので是非「えぬえーしーえる」と発音していただきたい
自社製品を「オープンソース」にもしていない企業が 堂々とオープンソース企業を名乗るのはどうよ、という話。
ちょっとフライング(ソースをちゃんとオープンソースにしている(アクセスしにくいけど)Vyattaまで、非難しちゃった)もあったけど、 おおむね同意する。
いや、マーケッターが単語をもてあそぶのは昔からだし、 絶対的に止める方法はないのだけれど、 少なくともオープンソースと言う単語が本来リーチするエンジニアには 実体のないオープンソースを見抜いて下手なマーケッターを見下すくらいの態度で いてほしいものだ。