Monthly Archives: July 2008

運転免許の更新をしたらICチップが付いていた

すっかりペーパードライバーだが、身分証明書として使っている運転免許証を更新してきた。 ちょっと驚いたのがICチップ付になっていたこと。電球に透かすと小さな四角い影が見える。 Wikipediaによると去年辺りかららしい。 運転免許証 – Wikipedia この記事が詳しい。 本籍地の記載が消えたIC運転免許証を取得して思ったこと – 日経エレクトロニクス – Tech-On! 個人情報保護の観点で本籍が無記載になったというわけだが、最近不動産屋でも免許証のコピーを取るときに本籍部分をマーカーで消したりしたなぁ、と思い出した。 リーダーはNECが作っているのか。利便性が上がったとは思えないが、結構な額のお金が動いているのだと思う。 NECネッツエスアイ | IC免許証ICチップ記載内容確認パッケージ 講習の際に見る20分の番組はこんな会社が作っていた。 ◆交通安全創出企業◆ -株式会社電脳- 免許更新センター内の、廊下に赤いテープで順路を示すナビゲーションは秀逸だと思った。ダサさ爆発だが誰も間違えない。

Posted in 感動する | Leave a comment

今まで使ったことのなかったPHPのassert関数

何の気なしに function assert( とvimで書いたらassertの文字の色が変わった(PHPのネイティブ関数は色分けされる)のであれ?と思い、調べてみたらあった。 simpletestについてくるassertTrue()は使ったことがあったが、純正assertは初めて。まだまだ使ったことのない関数があるものだ。。 PHP: assert – Manual C言語のassertとは違って引数に文字列を渡すことで便利な動作を期待できる。 assert(“strlen($str) == 10″); デフォルトだと、引数の文字列をevalした結果がfalseだとWarningが出る。 assert(strlen($str) == 10); これでも普通に動く。 assert_options(ASSERT_ACTIVE, 0); とするとassertは何もしなくなる。このときassertの引数を文字列で渡しているおかげで、オーバーヘッドが少ない、とマニュアルに書いてある。どういう意味かな、と試してみた。 assert(sleep(10)); だとASSERT_ACTIVEに関わらずsleepは実行されるが(よく考えてみればPHPがシーケンシャルに実行される以上当然か)、 assert(“sleep(10)”); ならsleepは実行されずにassertがそのまま終了する。 ちょっとしたテストスクリプトで使えるかもしれない。

Posted in いじる | Leave a comment

あなたのサイトはYahoo! JAPANで何位?のリファクタリング

ついで、というわけでコメントをいただいていたこちらも修正。 あなたのサイトはYahoo! JAPANで何位? zuzara : Yahoo! JAPANのAPIリリース:「あなたのサイトはYahoo!で何位?」なるアプリをつくった IEで動かないバグがなぜか発生していたのですが、どうせだったのでjQueryを使ってコードは全面的に修正。JavaScriptも2年半前のコードはひどく古めかしい。 ちょっとはまったのが、 jQuery Plugin: jQuery Timers これを使おうとしたらIEで動かなかったこと。 あとeachから抜けるのにreturn false; だとIEで動かない模様。throw true; を使った。 Yseo.search()の再帰を jQueryの再帰呼び出しはとってもトリッキー at HouseTect これで実装したかったが、Ajaxのsuccess(コールバック)から呼び出そうにも無名ではsuccess自身になってしまうので断念。 Yahoo!の検索結果へのリンクをつけたり若干変更した。 Firefox3, IE6, IE7, Opera9.5で動作確認済み。

Posted in いじる | 1 Comment

My はてなブックマークランキングのチューニング

ロリポップさんから お客様ご利用のファイルによりデータベースサーバー【mysql*.lolipop.jp】に負荷がかかっております。 とお叱りのメールが。 前にもいただいたことがある、3日以内に対応しないとアカウント停止しちゃうよ、というちょっと恐い通告である。 丁寧にボトルネックになっているSQL文が付記されているので助かる。 で、2年前につくったこのサービスが重くなっているらしい。 My はてなブックマークランキング zuzara : My はてなブックマークランキング 久々にコードを見ると、ドッグイヤー換算で14年も経っているので書き方が古い。 問題の箇所はインデックスの張り方が怪しげだったのと、SQLがsubqueryを使って複雑だったのでシンプルに直したら速くなったようだ。 全然メンテナンスしていなかったサービスだが、ログを見ると案外使ってくださっている方がいてうれしい限り。ありがとうございます。

Posted in いじる | Leave a comment

Windowsキー+Lでスクリーンロック

し、知らなかった。。WindowsXPで動きました。ログオフするわけではなく、単にパスワードを聞く画面が出てくれるのでちょっと席を外すときなどに便利。 以下で紹介されているやり方も便利そうですが単にスクリーンセーバーが起動するだけでパスワードは聞かれません。スクリーンセーバーに「パスワードによる保護」のチェックを入れていても関係ないようです。 スクリーンセーバーをワンタッチで起動する – 日経トレンディネット にしてもショートカットファイルにはプロパティからCtrl+Shift+sとかショートカットキーを割り当てられることも知らなかった。。 関連: zuzara : かな漢字変換の確定をキャンセルできるとは!

Posted in 感動する | 1 Comment

Livelyで嵌る

Livelyを試してみたのだが、早速嵌った。。 操作性は全然よくない。 チャットの吹き出しは遠くからでも伸びてくる。 5年とか6年前にやった3Dのチャットルーム(名前失念)の方が完成度高かった気がする。 とはいえ、アバターのアニメーションはかわいい。突然他のアバターにビンタされたりハグされたりしてびっくりした。相手のアバターをクリックしてAnimationsからDanceとかいろいろ選べる。 あとwhere are you from?なんて質問に銘々がim from …と都市名を答えるとなんだかちょっとインターネットだなぁ、という気分に浸れる。 Livelyはブラウザの中で完結しているわけだが、今のところウェブページとは独立している感じ。今後、HTMLで組み立てられたサイトとシームレスにつながってくることがありうるだろうか。改めて3D空間上をマウスで操作してみると、メッセンジャーはアバターでバーチャル空間上を漂っていてもいいかなぁ、と思った。 ひとつ感心したのは、Livelyにログインすると音楽の鳴っている場所が結構多いが、Firefoxで別のタブに移動すると音が消えてくれる。 iframeで埋め込んでみた。

Posted in 感動する | Leave a comment

JavaScriptでgフラグを使った正規表現で部分文字列を抜き出す

JavaScriptの正規表現でつまづいたときのメモ。 gフラグに関しては Core JavaScript 1.5 Reference:Global Objects:RegExp – MDC に書いてある。 var match = str.match(new RegExp(reg, "gi")); でてっきりmatchには多重配列が代入されるのかと思っていたがどうやら違うらしい。 ちなみにregを変数にしているのは正規表現がダイナミックに変化するケースを扱っていたため。RegExp.$nもダイナミックにnを変えて呼び出せないので使わない。 検証コード。Firefox2、IE6、Opera9.5で試して同じ結果。 <script type="text/javascript"> var reg = "t(\\w+)"; var str = 'No, try not. Do, or do not. There is no try.'; var match = str.match(new RegExp(reg, "gi")); print(match); document.write("<hr />"); var match = str.match(new RegExp(reg, "i")); print(match); [...]

Posted in いじる | Tagged | Leave a comment

fstabをいじっていたら起動しなくなったときの対処

CentOS5にて。 memo: fstabの修正 最終的にはこのサイトの手順で直った。 # mount -o remount,rw /dev/VolGroup00/LogVol00 / # vi /etc/fstab # exit ReadOnly FileSystemになっていてシングルモードにして起動してもfstabを書き換えられず。 UbuntuのCDで起動してもmountできず(/dev/にVolGroup00がない)、CentOSのLiveCDはvmlinuzのloadingに失敗して起動せず(i386用のCDをamdで起動させようとしたせいだったかも)インストールCDでbootして linux rescue でもmountできず、ほとほと困っていたがシングルモードで起動した後、マウントし直せるとは!助かりました。 シングルモードは FC4/FAQ/シングルモードで動作させるには? – Pocketstudio.jp Linux Wiki に書いてある手順のkernelの行にsを付け足すだけでOK。以前の手順とは違うような気がする。

Posted in いじる | Leave a comment

Page optimized by WP Minify WordPress Plugin