2006年5月アーカイブ

ウェブ進化論

| | コメント(5)

Google, Amazon, Web API,
SNS, SBM, blog, Wikipedia,
アドセンス, アフィリエイト, オプソ, はてな etc.
Web2.0とかそんな感じの最近ネットで騒がれてるネタが
わかりやすくまとめられています。
ちなみにAjaxはノータッチでした。
ポジティブで建設的な意見が多いので、
俺もいっちょやったるか、という気にさせてくれます。
がーっと一気に読んじゃいました。面白かったです。

Googleはこんなに凄いぞ!という話がメインな気がします。
Googleってどう凄いのよ?と疑問を持っている人に
読んでもらうといいかもしれない。
けどそんな人はこういう題名の本は手に取らないであろう。
個人的にはGoogleの恐ろしさについても書いて欲しかったかな。
あんまりにも持ち上げっぱなしなんで。
つかGoogleってアンチが異様に少ないことが逆に怖いと思うんだがなぁ。

かぜぽ

| | コメント(11)

金曜日からかぜっぽい状態が続いてる。

頭の中がもやもやと曇っている。
歯を磨いても、顔洗っても目が覚めない。
コーヒー飲んでも目が覚めない。
2日連続で10:30起床。もっと寝ていたい。

鼻がつまる。喉が痛い。
はちみつきんかんのど飴はもう飽きた。

体がさ、モニタを見るのを嫌がってるみたい。
やれやれ。どうしたものか。
雨降ってるし外には出たくないし。
かぜっぽいのが悪化しても困るし。
かといって家にいても↓る一方だし。
せめて空が晴れてくれれば・・・

でもまだそんながんばってるつもりないんだけどな。
つかこれくらいでがんばってることになったら
俺はどんだけキャパシティ小さい人間なんだ・・・
その方が鬱。

ま、なんかこんなん書いてる余裕あるんだから
単なる愚痴でしかないのは明白なわけだがね。

クローンソフト

| | コメント(4)

僕がクローンソフトの作成に対して、リソースの無駄遣いと言ったことについて一部誤解があるようなので。
同じものを作り直すとういう行為自体が無駄だとは思っていません。
無駄だと思うのは、以下の条件がそろっている場合の話です。

 1. 本物(クローン作成の対象)について内部設計を十分に理解していない
 2. 本物が表面的に偶有的な難しさを多く含んでいる
 3. 本物がかなりのコストを払ってテストされている

Joel on Software

| | コメント(7)

Joelいいよ、良すぎるよ。
ハッカーと画家と並べられる理由がはっきりとわかるよ。
すべてのプログラマは四の五の言わずに読めや。
ビリビリきまくりな節があったので引用します。

プログラマがいつでも既存のコードを捨てて 最初からやり直したいと思うのには、ちょっとした理由がある。 その理由というのは、古いコードがクズだと思っているからだ。 そしてここに興味深い観察事実がある。 彼らはたぶん間違っている。 彼らが古いコードがクズだと思うのは、プログラミングの基本法則のためだ。

プログラムというのは書くのより読むほうが難しい。

これがコード再利用がかくも難しい理由だ。 あなたのチームのプログラマが、 文字列を分割して配列にするための関数に、 みんな違うものを使っているのはこのためなのだ。 彼らが自分で関数を書いている理由は、 古い関数をどうやって使うのか調べるよりも、そのほうが簡単だし、楽しいからだ。

ああ、まったくもってその通りですJoelさん。
わかっちゃいるが・・・これは難しい問題なんですよ。

多くのヲタプログラマ同様、僕も他人の書いたコードを読むときはぼろくそに言います。
こんな糞コード読んでられっかよ、アホじゃないかしら、と。
うざいからスクラッチで書き直します、て言いたくなると思うよ。エリート新人君は。

でもね、それやったら全部テストしないといかんのよ。
売り物のテスト稼働ってすんごいかかるんですよね。
テスター雇うならまだいいんだけどさ、大抵の場合は書いたお前がやれや、てなるわけで。
スクラッチで書き上げる楽しいひとときの代償が、
非常につまらない眠くなる鬱だ氏のうやってられないテストテストテスト。
そりゃ割に合わんわ。大人しく糞コード眺めてる方が利口ってもんだ。

いくら醜かろうとそいつが動いていることは紛れもない事実なわけで。
我々残された人間はそいつと向かい合って生きて行かなくてはいけない。
目を背けちゃダメだ。逃げちゃダメだ逃げちゃダメだ

だから、コードをいかに効率よく読むことができるか、
これがこれからの時代においてプログラマとしての勝敗を決める鍵であると私は思います。
# あくまでプログラマ限定ね

優れたアルゴリズムだとかアーキテクチャを考えられる能力、
それはもちろんとてつもなく重要です。
でもその能力を発揮する場というのはものすごく限られている。
特にプロダクトコードに直接関わる場合には。
そういう場に巡り合わせることができた幸運な人をのぞくと、
普通のコードを書く能力よりかは、
普通のコードを読む能力の方がずっと有利に働きます。

つか学校なり本なりである程度の勉強をしていれば、
普通のコードを書く事なんて誰にだってできるわけです。
でも読み方は学校じゃ教えてくれない。本にも書いてない。
# Code Reading とかあるにはあるけど

読むことができるようになるためには読むしかない。
幸い読めるコードは腐るほどある時代だ。
というわけで学生はコードを読みまくるべきだと思う。
というか読みまくるべきだったなと。
僕にとってコードを読むことの重要性を認識できたことは、
会社入って得られた大きな収穫のひとつです。

まぁでも読みはじめてみるとわかるんだが、
読むのって地味だしもの凄く眠くなるし正直めんどい。
それが読むという行為に対する本質的な感覚だとは思えない。
僕は環境が整ってないだけなんだと思う。
だから環境を整えたいと思った。
出発点はそんな感じかな。

なんか話のベクトルがいつの間に曲がっているような気がしますが、
多分それは意図的ってことで・・・

鯖復活

| | コメント(6)

長らく非常に不安定な状態にありましたが、
ようやく我がcspc鯖が復活したようです。
鯖缶様、おつかれさまでした。
いろいろ文句言ってすみませんね。
結局mixiで日記でも付けるかと1回書きましたが、
こっちに戻れることになったようです。
もう心配いらないのかはわかりませんが、
とりあえず今までになく軽快に動いてることは確かですな。
よかったよかった。
実はまじめに引越も検討してました。
blogのクラスタ化とかできませんかね。
異種サービス間で同期取れたら最高です。
まWebの冗長度が上がって検索がうざくなると思うけど。

call/ccでgoto

|

継続があるとgotoジャンプができます。
昨日のnamed-letの例を継続による繰り返しで表現してみると、
以下のようになります。

named-let

|

名前付きletと訳されることもあるけど、
なんとなくかっこつけてnamed-letと呼んでます僕は。

まぁ、繰り返しのような再帰のようななんとも言い難い
曖昧な位置にある構文です。だがそれがいい。
この構文はSchemeオリジナルだと思う。
もっともシンプルな例はこんな感じ。

define-syntax

| | コメント(2)

実はSchemeでマクロを一度も書いたことがなかったのでちょっと練習。
マクロ定義はdefine-syntaxで行う。
GaucheではCommon Lispのdefmacroのようなマクロ定義構文として、
define-macroもある。がこっちはR5RS範囲外。

静止摩擦力

| | コメント(2)

止まると動くのが大変。
止まらなければいい話なんだけどね。
それができる人間とできない人間の
間にある超えられない壁なんだな。
無理しない、てのは大事かもしれない。
自分の力量をわきまえて、
これくらいであれば止まらない自信がある、
ていうところを押さえると。
モチベーションなんてものは
上がったり下がったりするものであって
それを上げっぱなしにしようなどと考えると
思わぬところでしっぺ返しを食らうことになる。
人は簡単には変われない。
すっかり変わった気になっていても
根本はずーっと昔のまんま。そういうもんだ。

enjoy宣言!

| | コメント(2)

やりたいことと、やるべきことを合わせるだけではダメで、
それを楽しむことができてはじめて力になる。
でも「楽しむ」をコントロールすることってすごく難しい。
趣味を仕事にした途端につまらなくなった、
趣味は仕事にしてはいけない、とはよく聞く話だ。
それは、「やりたい」ことが「やるべき」ことになった時に
「楽しい」ことが逃げていくという自然の摂理を
黙って放置している結果ではないだろうか。
何もしなければ「楽しい」は逃げていくんだ。
だからしっかり掴んで離してはいけないんだ。
大切に大切に「楽しい」を守っていないとダメなんだ。
楽しさがないところで、勝手に生まれてくるのを待っているようでは、
それは流されているということだ。
楽しみは自分で作るもの。
何もしないでも楽しいことは常にあり、
何かしないと絶対に楽しくなりえないものもまたある。
その場合、どうしてもそのままの状態で楽しい方を選んでしまう。
それは、人間として自然な選択だと思う。
だがしかし!
未来を見て、ずっと先のことでなくても明日とか明後日とかでも良くて、
そうした時、本当にそのままで楽しいことをすることが、
総体的な楽しさを増やしていることになっているのか。
なんか工夫しないと、意識しないと、楽しくならないことでも、
そっちをやる方がいいとわかっている。
では、どうにかして楽しんでやろうじゃないか。
楽しむことが強さなのだから。

早朝ドライブ

| | コメント(4)

実家に帰った。
やった車に乗れる。
AM6:00に家を出る。
遅くなると道路込むからな。
青梅から、入間の茶畑に入る。
茶畑の風景が好き。
茶は背が低いので遠くまで見える。
所々に立っているくるくる回るやつがまたいいんだ。
癒し系である。
そして茶畑を抜けて、国道299にのる。
道広くて気持ちいい。
一般道で普通に100kとか出してるぞ・・・(僕じゃない)
入間から飯能、さらに日高へ。
脇見が危なくない運転条件が欲しいね。
車でも周りの風景とか見ていたいもの。
そのためには空いてて、道広くて、暗くなくて、
急カーブなくて、とかそんなところ。
道が狭くなり出したので適当なところで折り返す。
AM8:00頃に家に到着。
んーストレス発散にはやはりドライブだな。

Visio

| | コメント(4)

Visio Proをついに購入しました!
今更2003なんでほんとは次期バージョンが出るまで
待ちたかったんだけど、どう考えても無理でした。

正直Visioないとやってらんないです。
シーケンスとかExcelのオートシェイプで描かされていた
時期がありましたが、あれは発狂しかねない。
微妙に線がはみ出てたりするとイライラ沸騰。

Style and Template

| | コメント(3)

今日はblogのスタイルシートと
テンプレートをひたすらいじってました。
やたら時間かかるんだよなぁ。
ローカルにMTの環境持っておけばちょっとはましになるか。
でもインストールめんどいからいいや。

HTMLとCSSの知識はやっとそれなりについてきたんで
今回はスタイルシートは一から作り直しました。
エディタはVisual Web Developperかez-HTML使ってます。
最近は軽いのでez-HTMLの方をよく使います。
CSSの確認がいまいち効率悪いので何とかしたいです。

がんばって作ってみたもののIEだと所々表示が崩れてて萎え。
この前も仕事でbuttonタグ使ってCGIにリンクさせてるところを
IEで確認したらピクリとも動かないのにやられた。
まそういうのは常識らしいですが・・・

スタイルのIE対応は気が向いたら。
気になる人はこれを機にFirefoxにしてみてはw