iso tank - プログラムな?話

Google Chrome Extensions

http://d.hatena.ne.jp/os0x/20090625/1245949133

おいらは Google Chrome を使っている。友人に言わせるとなんか色々とHTMLとかCSSとかの対応が悪いらしくて、いまいちらしいけども、今のところとりあえず問題のあるサイトには巡り会ってない。

あ。そういやYahoo! コミックだかが確かChromeだと見れなかったかな?

でまあ、最近Chromeの開発版に、ユーザーが作成した拡張プログラムを追加できる機能が実装された。これはようするにFirefoxのアドオン機能と同じようなもの。

でまあ、なんかほしいもの、作れるモノなら作ってみたいモノをポコポコ思いついたので忘れないうちにリストアップしとく。

  • タブを非表示にする機能。Windowsのタスクバーの「自動的に隠す」みたいにできたり、もしくはまるっきり非表示にできたらいいなあ
  • 特定のタブだけを非表示にする機能。ショートカットキーで復帰できるとか作れないかなあ
  • Chrome上で動く2chブラウザ(Firefoxでいうchaikaとかbbs2chreaderとかmoz2chのようなもの)が作れたらいいなぁ。おいらでも作れるかなあ
  • FirefoxのアドオンをそのまんまChromeで動かせたらすごいと思う

どう考えてもダメ社会人です。ほんとうにありがとうございました。

百姓vsプログラマ

以前、ウチのさなえさんについて書いた。つまり今回もさなえさんについての話題なのである。

「また田植機かよ」「また自分ん家自慢かよ」と思ったそこのあなた。甘い。今回はそれに「ユーザーインターフェース」についての話も加える。 つまりあなたの予感はおおむね66.6%程度当たっている。おめでとう。

ところで全然関係ないけど東風谷さん家の早苗さん、自機化したね。おめでとう。

さて本題。「さなえさんと僕ん家の風景」でも書いたが、さなえさんは色々と素晴らしい。 しかし僕の能力が低く、そのすばらしさをちゃんと説明できてなかったように思うので改めて書くとこうだ。

  • 従来の田植え機は旋回半径が大きいためUターンができなかったが、さなえさんは旋回半径が小さく一発でUターンできる(むしろ旋回半径が小さすぎてたまに曲がりすぎる)
  • しろかき機(さなえZロータ)がついていて、田んぼを平らにならしながら田植えができる上に雑草取りもできる
  • オプションの自動農薬散布機(「らくまきちゃん」「こまきちゃん」「滴下マン」があるが、我が家ではらくまきちゃんを採用)で、自動的に農薬を苗にまきながら田植えできる
  • 田植え中にさなえさんを止める(エンジンを切るのでなく)と、自動的に田植えも止まる
  • さなえさんをバックさせると自動的に田植えが止まり、田植え装置を持ち上げてバックできる状態にする
  • さなえさんをUターンさせると、自動的にちょうどいい位置から田植えがはじまる。
    同時に、マーカー(次にどのあたりに植えればいいかの目印)を引いてくれる

つまるところ徹底的な自動化なのだ(最初の一行以外)。

この自動化がなにをもたらしたか。従来では、例えば「Uターン」という行動ひとつを取っても 「田植え機を停止し、田植えボタンを切って、装置を上げて、ギアをバックに入れ、50センチほど後退してから、90度ターンを二回。ちょうどいい位置に田植え装置を合わせて一度田植機を止め、装置を下ろし、田植えボタンを入れ、前進」 という作業が、 「田植え機を停止し、ギアをバックに入れて、50センチほど後退してからUターン。あとはまっすぐ」。 人間が作業する部分がこれだけになった。

すさまじいまでの簡便化だ。

するとどうか。田植え機に乗る百姓は「本来の田植え作業」そのものに集中できるようになった!  苗や肥料や農薬が切れたら補充するのは今までどおりだが、苗の様子を観察したりできるし、機械操作のミス(田植えボタンを押し忘れちゃったよ! とか)で植え直しすることもほとんど無くなったのだ。

百姓は黙々と田に苗を植え付けていればいい。あとは田植え歌でも歌うか? といったところだが残念ながらうちの地域にはそれっぽいものは伝えられていない。 エンジン音が大きいのでちょっと大声出しても気づかれないとは思うんだけど。

これは、いわゆる「インターフェース」にまつわる問題だと思うんだ(まぁ後のほうはちょっと蛇足だったけど)。

ある作業をおこないたい人が、その目的の作業以外の作業に煩わされることなく、黙々とその作業をおこなうことができる。これは素晴らしいことだと思う。 僕の大好きなジョエル・オン・ソフトウェア開発抽象化レイヤ という記事でも言及されているが、ここの言葉を借りれば、「百姓たちは、田植え機のターンと、苗や田んぼの状態と、苗や肥料や農薬の残量と、田植え歌の選曲以外の田植えに関わる雑事から切り離されている (プログラマたちは、スピードと方角とランチに何を食べるか以外のヨットに関わる雑事からは切り離されている)」。

実際、ひたすら田植えに集中できるようになったおかげで田植えがものすごく簡単に、かつ短い期間で終わるようになった。これはとても良い製品だ。

しかるに、プログラマひいてはメーカーに求められているソフトウェア製品はおそらくこういうものであろうし、それを作る作業者(つまりプログラマ)自身もそういう環境に乗っていなければ、そういう製品を作ることは難しいと思う。

百姓もそうなのだが、一見最底辺のように思える「作業者」が、最も根幹の「ものづくり」に携わっている。 もちろん、脱穀したコメをきれいに包装し販売戦略を練りもっともらしい宣伝文句をつけて販売し利益を上げるのも、マスターアップされたプログラムを製品化し販売戦略を練りもっともらしい宣伝文句をつけて販売し利益を上げるのも、作業者以外の誰かだ。 そしてそれらの作業がなければコメもソフトウェアも売れないのはわかっている。だが百姓が田植えしなければ、プログラマがコーディングしなければ、すべてがはじまらないのだ。 そして作業者である彼らの環境の改善が生産性の向上に結びつくことを僕はかなり直接的に体験した。

そして僕はジョエルさなえさん井関農機のファンになり、口を開く毎に我が家の自慢の田植え機とジョエルの話をこうやってまるで我が事のように喋くるだろう。

僕は彼らのマーケティングにまんまとはまったのだ。おめでとう。

3段組 リキッドレイアウト

ホームページのリキッドオオォーーーなレイアウトです。リキッドなレイアウトっていうのは流動的なレイアウトのことです。 流動的なレイアウトってのはつまりこのホームページ。ブラウザを最大化してもサイドバーはウィンドウの右側に張り付いたまま。 そしてこの文字が書かれているエリアが横に広がります。つまりブラウザウィンドウの幅に合わせてホームページの幅も広がります。

で、3段組と一言に言っても色々あるわけでして、
左右がサブコンテンツのパターン
この図のように、メインが中央で両脇にサブがつく場合は、大抵中央のメインコンテンツのみが伸縮する。

おいらが今回いじったのは、
左2段ががメインコンテンツのパターン
こういうやつ。

サンプルのページ

おいらの期待通りであれば、メインコンテンツが二つとも伸縮するはず。


#MainContents {
    width:100%;
    float:left;
    margin-right:-210px;
}
#BOX1 {
    margin-right:210px;
}
#BOX2 {
    width:100%;
}
#Lcolumn {
    width:50%;
    float:left;
}
#Rcolumn {
    width:50%;
    float:left;
}
#SideArea {
    width:210px;
    float:left;
}

とりあえずこんなCSSにしたらこうなった。
3columnliquid1.png

もっとも、実際このレイアウトを使うかと言ったらたぶん使わないような気がするけど。

ホームページを作りたい!

これから「ホームページを作ろう!」と思っている方へ。

  1. 「ホームページビルダー」に頼るのはやめよう
  2. 「作りたい!」と思った人が作ろう
  3. 目的、目標を明確にしよう
  4. 他のサイトの丸パクリはやめよう
  5. 常に悩み、現状に満足することなく努力を続けよう

1> 「ホームページビルダー」じゃダメ?

ダメです。

とは言え、とっかかりとしては良いのかもしれません。 「アレしたい、コレしたい」というユーザーの要望をシンプルに実現してくれます。 HTML というものがたくさんの見えない四角形のワクで構成されているということも教えてくれます。

では何がダメなのかというと、このソフトは HTML というものの構造を無視してまで見たくれを優先することがあります。 後で分かると思いますが、ホームページというものは入れ子状の構造になっています。 箱根細工の入れ子人形やロシアの「マトリョーシカ」をご存知でしょうか?  人形がパカッと開いて、中には一回り小さな人形が。 それもパカッと開いてまた一回り小さな人形がでてくる・・・というものです。 もっと分かりやすいものですと、ドリフのコントであるような、大きなプレゼントの箱の中にまたプレゼントの箱があって、開けるとまた小さな箱があって・・・ 最後にはギャフンといわせるオチがつきます( HTML にオチはありません)。 だいたい分かっていただけたでしょうか?  ホームページとはつまり、姿こそ見えませんが中身はあのような、枠の中に枠があるという「入れ子」構造になっています。 ホームページビルダーは、時としてこの「入れ子人形」を正しく作ってくれません。 作れていないと・・・後々不具合が発生します。例えば、恥ずかしい思いをする等です。

2> 他人任せは良くない?

HTML とかホームページとか難しいから、パソコンに詳しいアイツに任せちゃえ! ・・・という事はよくあります。

何についてでも言えることですが、「作りたい!」と思い立った「立案者」がその企画を一番良く理解しています。 何をしたいのか、何が目的でどれをどうしたいのか。 彼ら(あなたの友人です!)はパソコンには詳しくてもあなたの脳の構造やあなたについてはさほど詳しくなかったりすることがほとんどです。 なので一から十までお願いされても、その友人らは大抵、小さく苦笑してしまうでしょう。 そして彼らは、あなたの立案した企画に翻弄されるであろうことも、おそらく意見の折り合いがつかないことも、 自分のプライベートな時間を削って、しかもボランティア――ほぼ無償――でしなければならないことも、大抵、理解してはいます。

もしあなたが友人を大切にしたいと考えるなら、まず以下の呪文を唱えてください:

  1. 何事も、金と時間のかからぬ事は無い
  2. 「できない」の前に「やるだけやってみよう」
  3. 分からなくても、まずは自分で調べよう
  4. どうしても分からないなら、ちょっとだけ訊いてみよう
  5. お礼と報酬は忘れずに
  6. 友達は大切だ

先だって、「タダでできる」という先入観は捨てましょう。 それから「世の中に、自分に解けない問題はない」と思い込みましょう。 たとえ今は解らなくても、それを解決するツールはあなたの目の前にあるはずです。 例えばそれは本だったり白くて四角い箱であったりします。 それでももし目の前に立ちはだかる巨大な壁に太刀打ちできないようであれば、友人に少しだけ背中を押してもらえないかお願いしてみましょう。 そうやって少しずつ自分で壁を登っていけるようにしましょう。

もし、どうしても友人に多く頼らねばならなくなった、またはホームページのほとんどを作ってもらうような事にならざるを得なくなった場合は、 感謝と報酬を惜しまず形にすべきです、彼はあなたのために惜しまず働いてくれたのですから――形は人それぞれです。

生活の心配がいらないほど裕福で、かつ友人に要らぬ手間をかけさせたくないと思ったら、プロのウェブデザイナーに依頼するのも手です。 これも堅実な手段の一つでしょう。

3> 目標・目的はハッキリと

どうしてホームページを作るのか、どうなるのが自分の目標なのかをハッキリさせておきましょう。 ホームページにそのことを明確に書いておく必要はありません。そのかわり心の中に刻みつけておいてください。

自分の持つ知識を多くの人に共有してもらいたい。あらゆる情報を集約させたい。ネットを通じて交流を深めたい。 知名度を上げたい、人気者になりたい・・・等々。ホームページを立ち上げる理由は人様々です。 それがどんな理由であれ、それを常に心の中に書き留めておくのはとても良いことです―― 一貫性のある、一本芯の通った Web ページを作る為の大きな助けとなります。

4> 「丸パク」は盗作です

当たり前のことですが、他人のものをタダで/許可無く使うことは、その人のモラルの低さをそのまま表しているのと同じです。 丸パクリするのと学ぶ/参考にするのとでは天と地ほどの違いがあります。 作りを真似することは悪い事ではありませんが、ソースを抜き出してコピーライトの部分や名前の箇所のみを訂正するような事は断じてすべきではありません。 それは「盗作」に極めて近い行為です。

Webページとは、あなたがそう思っているように、他の方々もまた何かしらの理由や目的を持ってその人が作り上げた「モノ」であり、 あるいは「作品」であり、あるいは「自己主張」「学習の場」「収入源」「自分の一部」なのです。 それらをもし他人にパクられたらどのような気持ちになるでしょう?

5> 常に向上心を

形ができあがれば、ハイ完成。いえいえ、ホームページ作りはそんな甘いものではありません。 あなたが今作り上げたそのページは、あなたの目標や目的を満たすのに十分な内容を持っていますか?  そのメニューは、ホームページを見てくれる人を正しく案内してくれますか?  文字が見づらくはありませんか?  目がチカチカするような色づかいだったり、派手に文字や画像が動きすぎて見る方が疲れたりしませんか?  顔文字や画像ばかり多すぎてなにがなんだか分からなくなりませんか?  逆に、表現力がなく何を表したいのかさっぱり分からないサイトになっていませんか?

一度完成しても、課題は山積みのはずです。常に「うーん」と悩み続けてください。 その悩みが、あなた自身やあなたの作ったサイトに「何か」をもたらすことになるはずです。 その事とホームページの更新頻度は関係ありません。 もちろん早いにこしたことはありませんが、例え更新が遅くても、「何か」をつかみながら一歩ずつ更新できれば、それでもいいのです。

・・・

以上、過去になんか書いたもの。

マジコンとブルー・ボックス

Blue Box.

先に。マジコンがそもそも何だったのか、とか話す気はないです。 そもそもスーファミの「マジックコンピュータ」と言いまして・・・とか説明したり、 単純にはバックアップツールで・・・とかそういう詭弁を並べたりする気はない。

さぁ、今流行のマジコンの話をしようじゃないか。簡単に言えばこれはクラック・ツールだ。 ROM に入っているゲームデータを吸い出し、移し替えて、タダでゲームができる。

で、つまりこれは一昔前に流行った「ブルー・ボックス」と一緒なんだ。

「ブルー・ボックス」とは何か、って? 30数年、いやもう40年近く前になるか。当時の「電話ハッカー」達が生み出した、 長距離電話をタダ(通話料金が一切かからないんだ!)でいくらでも使える(「フリーキング」という)不思議な青い小箱のことだ。 この青い箱(本当は別に青くはないんだけど)は、すごく流行った。これがあれば長距離通話のタダがけができるんだから。

で、中にはこれを販売している者もいた。Apple 社の設立者、スティーブ・ジョブスとスティーブ・ウォズニアック「二人のスティーブ」がそうだ。 かれらは雑誌で見たブルー・ボックスを参考に自分たちでオリジナルのブルー・ボックスを開発・量産し、100~150ドルで売りさばいていた。 いずれ彼らはピストルで追い回され紆余曲折を経てパーソナルコンピュータ「Apple シリーズ」を開発し偉業を遺すことになるんだけど。

売るっていうことは、買う人がいるっていうことだ。

それが適法か違法かなんていうのは関係なく、 自分にとって得だと判断すれば簡単に手を伸ばしてしまう人間がごまんといるっていうことなのだ。

畏れ多くもブラックハット・ハッカーが作った不思議な小箱を、何が入っているかわからないという臆病さが、 とにかくこれは得だという利益性によって上塗りされる。

彼らは、中から真っ黒なコブラが出てきたらどんな顔をするんだろう?

そして次に何て言うと思う?

ヒトっていうのは本当に進化しないものだと思う。