« August 2006 | メイン | October 2006 »

September 29, 2006

MTEntryCategoryDescription

MTEntryCategoryDescriptionタグってあるのかと思ったらないようだったので、プラグインを作ってみました。

ソース

エントリーアーカイブ内で<$MTEntryCategoryDescription$>このタグを組み込むとCategoryDescriptionが表示されます。

あと、ぜんぜん内容とは関係なのですがこの記事は記念すべき200エントリー目です。
目指せ1000エントリー!あと800。

商標権

もう「ググる」と言わないで!

最近よく耳にしますが、Googleが情報を検索することをググると言わないでくださいといっているようですが、この日経の記事に過去に同じように商品が有名になりすぎて商標権を失った会社の例が出ています。
初めて知ったのですが、エスカレーター、セロハン、ビキニ、ヨーヨーなどもかつては商品の名前だったようです。とくにエスカレーター・ビキニが商品名だったなんて驚き。

記事にはヨーヨーの商標権を持っていた米国のダンカンという会社の例がでていますが、商標権を失ったとたんに倒産してしまったようです。
そんな過去の事例を知っているから、Googleはググるを浸透させたくないんでしょうね。

記事に「グーグルまがいの検索サービスサイトが出てきて廉価な広告スペースを提供すれば、広告主はそっちに流れてしまう」と書いてあったのですが、まがい物の検索サービスじゃあGoogleなみのサービスや市場シェアを確保できるとも思えないので、気にしなくてもいいような気もしますが。
だって市場シェアの低い検索サービスサイトに広告を出しても、効果なんてないんだから、多少高くてもGoogleに広告をだすと思うけどな。

September 28, 2006

flockの使い方

mixiのPerlコミュでも話題になっていたのですが(ちょっと前だけど)、flockで排他制御をかける際の正しい方法はみたいなことが書かれていて、そういえば僕もPerlCookBookに書いてあることを信じて、こういう使い方をしていたのですが

追記の場合:
 open(OUT, ">>data.txt") or die;
 flock(OUT, LOCK_EX);
 my $line = "hello world!\n";
 print OUT $line;
 close(OUT);

どうもこれだけでは、不十分らしい。
open(OUT, ">>data.txt")で追記モードで開いた際に他のプロセスが書き込みをしていると、末尾がずれるそうでseek(OUT,2);を指定してprintする前に末尾にポインタを移動させる必要があるようです。
なので、正しくはこう、

 open(OUT, ">>data.txt") or die;
 flock(OUT, 2);
 seek(OUT, 0, 2);
 my $line = "hello world!\n";
 print OUT $line;
 close(OUT);

Bestなやり方はやっぱりLockFileと書き込むファイルは別々にすべきなのでしょうが。

参考にさせてもらったページ
Perlの排他制御
CGI(Perl)ファイル処理 その4:「ファイルロック:flock 後編」
flock考

PSPでPS1!

PSPでPS1エミュレーターが公開なんだそうです。
いや~ドキドキしますね。やっぱり携帯ゲーム買うならDSかな~なんて思ってたのですが、PS1が遊べるとなるとPSPがほしくなっちゃいます。

PSPに関しては、オライリーからPSPHacksなる本が出ているくらい、プログラマー心をくすぐるゲーム機なのでちょっとほしいな~とは思っていたのですが、PS1が遊べるとなるともう買わずにはいられない。

どうしよう。買おうかな。


PSP:

PSP 「プレイステーション・ポータブル」
ソニー・コンピュータエンタテインメント (2004/12/12)
売り上げランキング: 137


PSP HACKS:

PSP Hacks ―ポータブルゲームシステムを遊ぶテクニック & ツール
C.K. Sample III 水の森 錫彦 株式会社ロングテール 長尾 高弘
オライリー・ジャパン (2006/09/14)

September 26, 2006

素人なのでというフレーズを聞くと

今日ECサイト構築をしたいという相談を受けたのですが、その際に担当者の口からちょこちょこ出てくるフレーズが「素人なので」。最初のうちは、笑って済ませたのですが話を聞いているうちにだんだん不快になってきました。
だって、ECサイトの立ち上げですから新規事業の立ち上げくらいのプロジェクトなのに、下調べも何もしていないし、明確な事業計画もできていない!
技術的なことはともかく、在庫管理のこと・運用体制・スタッフのこと・欲をいえば売り上げ目標とか、そういった商売をする基本となるところを詰めていないようで、内心「これじゃあ。。。」と思ってしまいました。

なんか「ECサイトなんて簡単に構築できるんだろ?」っていう感じがして「思っているほど簡単じゃないですよ」って言いたかった(言ったほうがよかったのかな?)。

いくら便利なシステムを作っても企業側ががんばらないと成功しませんよ。(過去いくつも閉店するECサイト案件に携わったので。)
結局、「高い勉強代だったね」なんてこというわけですよ。

まずは、Webの制作会社に相談ではなく社内で新規事業立ち上げプロジェクトを立ち上げて、在庫の管理・物流管理・スタッフの配置などいろいろ詰めてから来てほしいですね。
そこで、Webでお手伝いできることがあればシステムも含めて相談に乗れますから。

September 25, 2006

このBlogをグラフで表現すると・・・

このBlogをグラフで表現するとこんな感じになるようです。

なんだかよくわかりませんが、こんな風になるようです。

このグラフはこのサイトの機能を使って生成しています。
Blogをやっている方は、一度試してみるとおもしろいかも。

September 22, 2006

ActionScriptで正規表現

ActionScriptでもこのRegExpというクラスを使うと正規表現が使えるようです。

メールアドレスを入力して「実行」をクリックすると正規表現を使って、形式チェックをします。
正しい場合は「valid email」と表示され、不正な場合は「no good」と表示されます。
ちなみにActionScriptのソースはこんな感じ、
run_button.onRelease = function(){
	var regexp = new RegExp("^([\\w\\-\\.-]+)@(([\\w\\-]{2,}\\.)+[\\w\\-]*)$","gim");
	var ss = regexp.exec(box1.text);//マッチした部分を摘出
	if( ss ){
		box2.text = "valid email";
	}
	else{
		box2.text = "no good";
	}
}

September 21, 2006

CSSでのクラス・IDの命名規則

#2006 { font-weight:bold; }
とか
.2006 { font-weight:bold; }

というような数字のみのクラス・ID名って認識してくれないんですね。
どうやらCSSの仕様上なのかクラス・IDの名前の最初に数字を使うことは出来ないようです。

まあ、いまさらな情報かもしれませんが・・・

September 20, 2006

一流の広告クリエーター仕事

一流の広告クリエーターたちの仕事はやはり目の付け所が違うというか、ほんとうに僕のような凡人では思いつかないことをやってくれます。

hopihari.jpg

砂浜の足跡も広告にしちゃう
ump.jpg

一流の人たちは、こんな素敵なアイデアを思いつき、企画にし、実現することができるんですね。

September 19, 2006

「でかいナス」というキーワードをGoogleで検索すると

「だからどうした」といわれそうですが、Googleで「でかいナス」というキーワードを検索するとこのBlogが1番上に表示されます。

検索結果

1年近くBlogをやっていると、いくつかのキーワードがGoogleの検索結果で1位になるようで、他にも1位になるキーワードがあるので参考までに。

月末が嫌い

職業病な趣味

表参道で転倒

ページランクがたかが1のこのBlogでもニッチなキーワードであれば、Googleでの検索結果で上位に表示されるようです。

September 15, 2006

今世紀最高のプレゼン?

今世紀最高のプレゼンではないでしょうか。Blog界隈でも早くも話題になりつつあるようです。

任天堂株式会社 Wii Preview

そうです。9/14幕張で行われた任天堂の次世代家庭用ゲーム機 Wiiに関する発表の内容です。
現状分析・コンセプト説明・デモでの実操作の説明といったプレゼンの入門書に出ている基本をすべておさえた完璧な出来です。岩田社長最高。

このプレゼンの動画を見たらWiiを買いたくなることでしょう。そして、なによりお母さんにWiiを買ってもらうためのプレゼン資料としても威力を発揮することでしょう。
それくらいこの任天堂のプレゼンは完璧(褒めすぎ?)な出来でした。

買います。任天堂Wii。買いますともこんな最高のプレゼンを聞いちゃったんですから。

ただ、これを見たPS3陣営の動向もきになるところ。
PSPは完全にDSに敗れちゃったからPS3にかける意気込みはかなりのものかと思いますが、今のところ任天堂がかなりリードしているような気がします。

Wii↓

Wii(仮称)
Wii(仮称)
posted with amazlet on 06.09.15
任天堂


でもまずはこれが欲しいっす↓

September 12, 2006

Scriptaculousを使ったサンプルページ

前のGucciに影響されての記事では、moo.fxライブラリを使用したDemoページを作ったのですが、今回はScriptaculous.jsを使ってみました。

ScriptaculousDemoページ

今回は、追加で画像をクリックするとテキストが表示されるようにしてみました。
表示されたテキスト内の「close」をクリックするとテキストは消えます。

September 11, 2006

小学生にBlogを教える

日曜日、小学生にBlogの作り方を教えてきました。

某Blogのツール使い、アカウントを発行するところから実際にデジカメの写真をアップロードして、記事を作成するまでを生徒さんとその親御さんにやってもらいました。

教室の風景:
pc_work_shop.jpg


事前情報でPCクラブに所属している子がいると聞いていたので、すごく出来る子だったらどうしようかな~なんて思っていたのですが、思っていたよりも慣れていないようだったので、付っきりで教えてあげました。

ただ、ちょっとやっかいだったのがやはり小学生、すぐに飽きる!もうココログにログインするのすらめんどくさげになり、記事を書くのはまるでやる気なし(僕が見てた子だけか?)。結局、画像のアップ作業とか僕のほうでやってあげる羽目に。。。

まあ、なかなか小学生にはBlogの面白さはわかってもらえないか。。。
ただこれを機にBlogに興味をもち、書き始めてくれる子が一人でもいればうれしいですね。

何はともあれ、Blogに限らずですが小さい子に何かを教えることは本当に大変だと実感させられました。それを毎日こなしている小学校の先生には頭が下がります。

September 08, 2006

Image::Magickが動かなくなった

昨日の夕方クライアントから1本の電話が、「MovableTypeで画像のアップロードをしてもサムネイルの作成ができないんですけど・・・」

いや予感、以前もオペミスで関係ないCPANモジュールのバージョンアップしてImage::Magickが動かなくなったんだよな。
そのときはPortsからImage::Magick入れなおしてなんとか解決できたけど。

ただ、今回はCPANなんかいじってないし、サーバーにも最近はFTPでしかログインしてないし、とりあえずクライアントには「ホスティング会社に確認をしてみます。最悪、1週間前のバックアップデータから復旧なんてこともありあえるので、Blogの記事データとかはバックアップをとっておいてください。」と伝え、調査開始。

ホスティング業者に連絡をしたのですが、いつものように「調査に時間がかかるので・・・」という調子で、あてにならないので自分で調査開始。

まずは、mt-check.cgiを走らせてMTに依存しているモジュールチェック。
やはり、Image::Magickがないと怒られる。でも「perldoc -l Image::Magick」するときちんとパスが返ってくるので、これまた不思議。

mt-check.cgiでImage::Magickのチェックをする際に、eval{ require Image::Magick }してエラーにならなければOKみたいなことをしていたので、僕もテストスクリプトを書いてみることに。こんな感じ。

#!/usr/bin/perl use Image::Magick; exit;

まあ、たいしたスクリプトじゃないですけどチェックには十分なので早速実行してみると、

Image::Magick object version 6.2.8 does not match bootstrap parameter 6.2.7 at /usr/local/lib/perl5/5.8.6/mach/DynaLoader.pm

こんなエラーメッセージが!どうもImage::Magickで使用しようとしているImageMagick(ややこしいこっちはPortsからいれたほうね)と、実際にサーバーに入っているImageMagickのバージョンが違う模様。

ということで、実際にサーバーに入っているImageMagickのバージョンを調べる。

#convert -version
Version: ImageMagick 6.2.7 06/22/06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC

やっぱり、CPANのImage::Magickで使おうとしているImageMagickのバージョンと違う模様。
なんとなく原因がみえたのでMagick.pmの中身をみてみると33行目あたりに書いてある$VERSIONの値が「6.2.8」になっとる。やっぱりCPANだけが勝手にバージョンアップされてる。
おそらくこの値を直せば直るだろうと確信できたので、以前のトラブルのときにバックアップしておいたファイルに置き換えて、テストスクリプトを実行するとエラーが出なくなる。いける!

ということでMTにログインしてファイルのアップロードを実行するとちゃんとサムネイルが作れるようになっていた。

復旧完了!

ただ気になったのは、なぜCPANモジュールが勝手にバージョンアップされてたのか?
まあ、ホスティング会社がアナウンスなしてサーバーのソフトウェアをアップグレードしたんだろうけどさ。
全く人騒がせな。

September 07, 2006

高橋名人・街頭インタビュー受ける

た、高橋名人だ・・・テレビ東京で街頭インタビューに答えとる。。。

高橋名人街頭インタビュー@テレビ東京

久しぶりに見たけど、スキンヘッドになってる。
この街頭インタビューネタ、ネットでは話題になっている模様。

自身のBlogにもそのときの状況を書いていました。
>>>おめでとうございます

やっぱり一番おもしろおかしくこのネタについて書いているのは、小鳥さんのようです。
>>>テレビ東京、紀子さまご出産で奇跡を起こす

September 05, 2006

懸賞投稿スパム?

プレゼントキャンペーンページなんかを作った際に、集客の一環として懸賞サイトなどにバナーを出稿なんてのは、よくある手だと思うのですが、今日はその怖さを知りました。

それは、懸賞投稿スパム!

どんな行為なのかというと、とあるツールを使うと一度に同じ内容で数件(今回は4件でした)投稿することが出来るようです。

DBのユーザー情報を眺めていたクライアントが気づいたらしく、最初はユーザーが誤ってリロードとかブラウザの戻るボタンのオペミスをして、重複したデータが投稿されたのかと思ったらしいのですが、どれもきちんと4件ずつ登録されているので異変に気づいたらしいです。

最初は僕の作ったプログラムにバグがあるんじゃないかと言ってきたのですが、仮にバグであった場合、全部の登録データが重複しているはずので「バグじゃねえよ」と説明し、「懸賞サイトの営業マンに相談してみては?」と問い合わせをしてもらいました。

するとやはり懸賞サイトの営業マンから「いやとあるサイトで重複投稿を出来るようにするツールが出回っているんですよ。」とのこと
僕もそれがどんなツールなのか探してないのですが、そんなツールがでまわっているらしいです。

世の中にはいろんなツールがあるもんですね。

September 04, 2006

今日のひとこと

期間限定のキャンペーンBlogってBlogである意味ってあるの?
短期間じゃBlogである効果実感できないと思いますけど。

サーチエンジンに拾われるようになるころには、閉鎖するんでしょ?
そして、制作会社に運用を丸投げせずに自分たちで記事を考え投稿して下さい。

よろしくお願いします。

何事も構造を理解しないと

なんか代理店さんから来る仕事ってどれもサイトの構造をきちんと考えていないものが多いんですよね。(僕のところにくるものだけ?)

何かアイデアが浮んで、画面イメージ作って「あとはよろしく」みたいな。
いやいや、そのキミの書いた絵についてもっと説明してくれよ。このボタンは何?
このラベルをクリックするとどのページに飛ぶの?そもそも、この絵はどういう考えのもとに作ったんだい?

「Visioでサイト構成図作って、ディレクトリ構成図作って情報ワイヤーのフロー図作れ」なんて言いませんけど、イラレでもなんでもいいから、サイトの構造図とか作ってくれよ。そして、絵を描くときは構造も考えたうえで作ってくれよ。
そうしてくれたら、プログラマーな僕に余計な仕事が来なくなるからさ。

September 01, 2006

Gucciに影響されて

Gucciサイトすごいですね。Ajax使いまくりです。
使用しているJavaScriptのフレームワークはscript.aculo.usのようです。

このサイトに影響されてちょっとサンプルページを作ってみました。

このページの動きの実装はscript.aculo.usではなく、moo.fxを使用しています。