memo.xight.org

日々のメモ

hotkey.js - キー割り当て用ライブラリ

Summary

kb.add("キー入力",実行する関数);
でキー割り当てを追加.
キー入力に配列を渡すことで,複数キー割り当ても可能.

Source

var kb = new HotKey;
kb.add(["j","2","down"], function(){rollto(c_pos + 1)});
kb.add(["k","8","up"]  , function(){rollto(c_pos - 1)});
kb.add(["H","home"],     function(){rollto(0)});
kb.add("pageup",         function(){rollto(c_pos-3)});
kb.add("pagedown",       function(){rollto(c_pos+3)});


Reference

最速インターフェース研究会 - 2005-11-04 - キー割り当て用ライブラリを作った
http://la.ma.la/blog/diary_200511041713.htm

Behaviour - Using CSS selectors to apply Javascript behaviours

Summary

onclick などのイベントで HTML を汚さずに記述する方法を提供.
CSS selectorを利用して,振る舞いを定義する.

Before

<li>
	<a onclick="this.parentNode.removeChild(this)" href="#">
		Click me to delete me
	</a>
</li>


After

<li>
<ul id="example">
	<li>
		<a href="/someurl">Click me to delete me</a>
	</li>
</ul>

var myrules = {
	'#example li' : function(el){
		el.onclick = function(){
			this.parentNode.removeChild(this);
		}
	}
};

Behaviour.register(myrules);


Reference

Behaviour : Using CSS selectors to apply Javascript behaviours
http://bennolan.com/behaviour/
Prototype JavaScript Framework: Class-style OO, Ajax, and more
http://prototype.conio.net/

ChangeLogメモ 60000行達成

記録

Line 60063 (行)
Entry 4488 (エントリ)
File size 2109940 (byte)

備考

  ChangeLog開始日は[2002-11-28-1]
  ChangeLog開始1周年は[2003-11-28-1]
  ChangeLog開始2周年は[2004-11-28-1]
  ChangeLog開始3周年は[2005-11-28-1]
  10000行達成は[2003-10-04-1]
  20000行達成は[2004-05-06-23]
  30000行達成は[2004-09-10-12]
  40000行達成は[2004-12-26-1]
  50000行達成は[2005-07-19-25]

RegExLib.com - Regular Expression Library

Summary

正規表現ライブラリ.

http://www.regexlib.com/Search.aspx?k=キーワード
で正規表現を検索可能.

Reference

Regular Expression Library -- presented by ASPSmith.com Training
http://www.regexlib.com/

via

にぽたん研究所 - 2005-03-29 - 本邦初公開!電話番号の正規表現
http://blog.livedoor.jp/nipotan/archives/17526053.html

Number::Phone::JP - 日本の電話番号のValidator

Synopsis

use Number::Phone::JP;

my $tel = Number::Phone::JP->new('012', '34567890');
print "This is valid!!\n" if $tel->is_valid_number;

$tel->set_number('098 7654 3210');
print "This is valid!!\n" if $tel->is_valid_number;

$tel->import(qw(mobile PHS));
$tel->set_number('090-0123-4567');
print "This is valid!!\n" if $tel->is_valid_number;


Reference

Number::Phone::JP

via

にぽたん研究所 - 2005-03-29 - 本邦初公開!電話番号の正規表現
http://blog.livedoor.jp/nipotan/archives/17526053.html

Regexp::Assemble - 正規表現ジェネレータ

Summary

add() メソッドに渡した文字列や正規表現の全てにマッチする正規表現を作ってくれるモジュール.

Synopsis

use Regexp::Assemble;

my $ra = Regexp::Assemble->new;
$ra->add( 'ab+c' );
$ra->add( 'ab+-' );
$ra->add( 'a\w\d+' );
$ra->add( 'a\d+' );
print $ra->re; # prints a(?:\w?\d+|b+[-c])


Reference

Regexp::Assemble

にぽたん研究所 - 2005-03-29 - 本邦初公開!電話番号の正規表現
http://blog.livedoor.jp/nipotan/archives/17526053.html

blog.bulknews.net - 2005-03-30 - Regexp::Assemble: blog.bulknews.net
http://blog.bulknews.net/mt/archives/001617.html

via

NamingSense::TokuLog! - 2006-01-28 - 郵便番号に厳密にマッチする正規表現
http://d.hatena.ne.jp/tokuhirom/20060128/1138433449

Live HTTP Headersが "ページの情報を表示" の中の "Headers" タブで表示できない件が解決

Summary

Live HTTP Headersが "ページの情報を表示" の中の "Headers" タブで表示できない[2005-12-28-2]件が解決.
パッチをあてたファイルを公開してくださっている方を発見.
感謝!

Reference

餅空 blog - ページ情報でLiveHttpHeadersが表示されないのをなんとかする
http://nucleus.mochy.com/item/281
Bugzilla - patch
http://bugzilla.mozdev.org/attachment.cgi?id=3638&action=view

フリーでできるネットゲーム

巨商伝

MMORPG.
最大の目的は「商人として大金持ちになること」
1590年代の日本が舞台.

巨商伝
https://gash.gamania.co.jp/kd/

ゲットアンプド

オンライン3D格闘アクションゲーム.

GetAmped
http://www.getamped.org/
Ooline Action Game - ゲットアンプド
http://www.onlineaction.jp/games/getamped.html

メイプルストーリー

アクションRPG + MMO.

Nexon - メイプルストーリー
http://maplestory.nexon.co.jp/

トレジャーストライク フルスウィング

MMORPG.
ソフトウェアは有料だが利用料は無料.
Amazon - トレジャーストライク フルスウィング: ソフトウェア

トレジャーストライク フルスウィング
http://www.treasure-strike.com/

牛丼パソコン並盛(SF-SV33512/M16並)を静音化してみた

Summary

サーバ機の騒音を防ぐための対策を行った.

対象は,
o CPUファン
o ケースファン
o ケース
o 電源
o HDD

今回は,ケースファン,HDDの静音化のみを行った.

ケースファン: CF-80L

回転数 1100rpm
ノイズレベル 14.2dBA以下

HDDケース: SmartDrive2002


CPUファン: 未静音化


結果

騒音が全く収まらない.
CPUファンが騒音の原因!

牛丼パソコン並盛(SF-SV33512/M16並)を開けてみた

Spec

CPU Celeron D 335 (2.80GHz)
Memory 256 MB
M/B Biostar U8668-D (U8668A04-D1)
Chipset VIA P4M266A + VIA VT8237
HDD Western Digital WD1200BB
CD-ROM LG電子 GSA-4163B

CPUファン: COOL MASTER

Speed 約2800rpm

ケースファン: DF1208BL

Size 80 x 80 x 20mm
Bearing System Single Ball Bearing
Rated Voltage 12V
Input Current 0.16A
Input Power 1.92W
Speed 2200 +/- 10% RPM
Air Flow 19.03 CFM
Static Pressure 1.66 mm-H2O
Noise Level 27.07 dBA

Reference

sofmap.com - 牛丼パソコン 並盛 (SF-SV34112/M16)
http://www.sofmap.com/product_detail/exec/_/sku=10570744/-/gid=PC01010000

Reference (M/B)

Biostar Group - U8668-D
http://www.biostar.com.tw/products/mainboard/board.php?name=U8668-D%20v7.x

Reference (ケースファン)

FN-8020B-3P-L1-D 12V Brushless DC Cooling Fan Dynatron (Top Motor) DF1208BL or DF128020BL
http://www.houstonwarehouse.com/htm-2/fn-8020b-3p-l1-d-12v-dc-brushless-cooling-fan-dynatron-top-motor-df1208bl-df128020bl.htm
List of All Products
http://suntektexas.com/en-us/p_435.html

天龍

Summary

とても大きな餃子が出てくるお店.
サイズは10cm以上!

Data

住所 東京都中央区銀座2-6-1 中央宣興銀座ビル 1F
電話 03-3561-3543
営業時間 11:30 - 21:30 (平日) , 11:30 - 20:30 (日祝)
定休日 無休 (お盆,正月休みは有)
最寄り駅 銀座一丁目
- Reference
Yahoo!グルメ - 銀座 天龍
http://gourmet.yahoo.co.jp/gourmet/restaurant/Kanto/Tokyo/guide/0301/P001022.html

Planet Side

Summary

Infantry[2004-04-23-1] + FPS + MMO のようなゲームのようだ.
[2006-02-14]から,12ヶ月間無料プレイできるようになる!
フリーのアカウントは,Battle Rankが8,Command Rankが2までしか成長しない点.

Battle Rank,Command Rankがレベルを表す.

レベルを上げると,Certポイント(スキルポイント)が貯まり,
ポイントを振り分けることで,使える武器が増えたり,操作できる乗り物が増えたりする.

Battle Rankが6以上になると,Implantという補助兵器が使用できるようになる.
透明になっている敵を見れるようにしたり,相手の残り体力を表示できるようになる.

Reference

核-CORE-PlanetSide
http://www5b.biglobe.ne.jp/~dds250/ps/
Sony Station.com - PlanetSide
http://planetside.station.sony.com/
Sony Station.com - Infantry
http://infantry.station.sony.com/en/main.jsp

Internet Explorer の印刷の余白のデフォルト値

Summary

上下左右とも19.05mm

Reference

Microsoft - サポートオンライン - 印刷プレビューが空白で、Internet Explorer からページを印刷できない
http://support.microsoft.com/default.aspx?scid=kb;ja;312446
はてな - このサイトを開いて印刷プレビューを見たとき1枚に収まるか教えてください
http://www.hatena.ne.jp/1119554756

TinyD と XF-Section の違い

TinyD

o カテゴリ機能が無い
o ファイル添付機能が無い

XF-Section

o カテゴリ機能が有る
o ファイル添付機能が有る

Reference

PEAK XOOPS Support&Experiment - TinyD 2.19
http://www.peak.ne.jp/xoops/modules/mydownloads/singlefile.php?cid=1&lid=18

SourceForge.jp - XOOPS XFsection
http://sourceforge.jp/projects/xfsection/
はっぴぃ・りなっくす - カテゴリ別記事-XFsection 1.06
http://linux.ohwada.jp/modules/xfsection/article.php?articleid=263
はっぴぃ・りなっくす - サポート - XOOPS XFsection
http://linux.ohwada.jp/modules/newbb/viewforum.php?forum=3&PHPSESSID=1a6e0020330c66f3ae816cf0ab57de62

via

XOOPS Cube公式サイト - 旧フォーラム - TinyDとXF-Sectionの違い
http://jp.xoops.org/modules/newbb/viewtopic.php?viewmode=thread&topic_id=7774&forum=17&post_id=38417#38417

SSL通信へのリダイレクト

1. あるディレクトリ内でSSL通信のみ許可する
SSL通信以外のアクセスの場合,HTTP Error 403 Fobbidenを返す.

.htaccessに以下を記述
SSLRequireSSL


2. httpをhttpsへリダイレクト
http://example.com/path/to/ 内から
https://example.com/path/to/ へリダイレクト

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/path/to/(.*)?$ https://%{HTTP_HOST}/path/to/$1 [L,R]


3. 特定のファイルのみSSL通信を行わせたい場合
http://example.com/path/to/file.php のみ,
https://example.com/path/to/file.php へリダイレクト

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/path/to/file.php(.*)?$ https://%{HTTP_HOST}/path/to/file.php [L,R]


Reference

yukotan hour: SSL以外で接続させたくないページがあるとき
http://yukotan.blogspot.com/2005/10/ssl.html

TinyMCE JavaScript Content Editor

Summary

WYSIWIG な HTMLエディタライブラリ.
o JavaScriptで記述されている
o LGPLライセンス
o クロスプラットフォーム
o 多言語対応
o 簡単に使える

Reference

TinyMCE Javascript Content Editor by Moxiecode Systems AB
http://tinymce.moxiecode.com/
TinyMCE Documentation - Index
http://tinymce.moxiecode.com/tinymce/docs/
TiniMCE Documentation - Installation instructions
http://tinymce.moxiecode.com/tinymce/docs/installing.html
SourceForge.net: TinyMCE
http://sourceforge.net/projects/tinymce/

via

naoyaのはてなダイアリー - TinyMCE JavaScript Content Editor
http://d.hatena.ne.jp/naoya/20060122/1137915083

awk cheatsheet

組み込み変数

FILENAME 現在の入力ファイル名 規定値
FS フィールド区切り記号 ブランク,タブ
NF 入力レコードのフィールド数
NR 入力レコード数
OFMT 数字の出力フォーマット
OFS 出力フィールド区切り文字列 ブランク
ORS 出力レコード区切り文字列 改行
RS 入力レコード区切り文字列 改行

Trac - Issue Tracking System + Wiki + Subversion repository viewer

What is Trac?

o An integrated system for managing software projects
o An enhanced wiki
o A flexible web-based issue tracker
o An interface to the Subversion revision control system


Reference

Edgewall Software: Trac
http://www.edgewall.com/trac/

via

discypus.jp - ソフト/開発ツール/Bug Tracking/trac
http://discypus.jp/wiki/?%A5%BD%A5%D5%A5%C8%2F%B3%AB%C8%AF%A5%C4%A1%BC%A5%EB%2FBug%20Tracking%2Ftrac

hostip.info - IPアドレスから国名や緯度,経度を取得するWebサービスAPI

Summary

hostip.infoのAPIを使ってIPアドレスから国名,緯度,経度を取得可能.

アクセス元の国名を取得する.

http://api.hostip.info/country.php

JP


指定したIPアドレスの国情報を取得する

http://api.hostip.info/get_html.php?ip=12.215.42.19

Country: UNITED STATES (US)
City: Sugar Grove, IL


指定したIPアドレスの国情報を取得する (緯度,経度付)

http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true

Country: UNITED STATES (US)
City: Sugar Grove, IL
Latitude: 41.7696
Longitude: -88.4588


XMLで取得する

http://api.hostip.info/?ip=12.215.42.19
<HostipLookupResultSet 
	version="1.0.0"
	xmlns="http://www.hostip.info/api"
	xmlns:gml="http://www.opengis.net/gml"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.hostip.info/api/hostip-1.0.0.xsd"
>
	<gml:description>
		This is the Hostip Lookup Service
	</gml:description>
	<gml:name>
		hostip
	</gml:name>
	<gml:boundedBy>
		<gml:Null>
			inapplicable
		</gml:Null>
	</gml:boundedBy>
	<gml:featureMember>
		<Hostip>
			<gml:name>
				Sugar Grove, IL
			</gml:name>
			<countryName>
				UNITED STATES
			</countryName>
			<countryAbbrev>
				US
			</countryAbbrev>
			<!-- Co-ordinates are available as lng,lat -->
			<ipLocation>
				<gml:PointProperty>
					<gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
						<gml:coordinates>
							-88.4588,41.7696
						</gml:coordinates>
					</gml:Point>
				</gml:PointProperty>
			</ipLocation>
		</Hostip>
	</gml:featureMember>
</HostipLookupResultSet>


Reference

Using the Database - IP Address Lookup - Community Geotarget IP Addresses Project
http://www.hostip.info/use.html

via

phpspot開発日誌 - 2006-01-20 - IPアドレスから国名や経緯度を得る方法
http://phpspot.org/blog/archives/2006/01/ip.html
オレンジニュース - 2006-01-20
http://secure.ddo.jp/~kaku/tdiary/20060120.html#p10

美咲フォント- 8 x 8ドットの日本語フォント

Summary

本来はPC-E500系ポケコンの日本語表示ドライバ "SCRNJPN" 用に作られたフォント.
JIS第一・第二水準をサポート.
PC-E500 60桁表示(美咲ゴシック periodβ9)
PC-E500 60桁表示(美咲明朝 periodβ9)

Reference

8*8ドット日本語フォント「美咲フォント」
http://www.geocities.jp/littlimi/misaki.htm

via

www.textfile.org - 2006-01-21
http://www.hyuki.com/t/200601.html#i20060121184240

iVisit

Summary

Windows,Macで使えるビデオチャットソフト.
iVisit Lite は無料だが,制限がある.

ビデオサイズが 160 x 120
Liteユーザ同士の接続は1日6時間まで.
Liteユーザ同士のビデオチャットは連続30分まで.
(90分後に再接続すれば再度ビデオチャット可能)

Reference

iVisit - Best Video Conferencing and Videochat software for PC and MAC
http://www.ivisit.com/
iVisit - ようこそ!
http://www.ivisit.com/help/language/jp/

IVaN - Iter Vehemens ad Necem

Summary

Rogue-like RPG.
天候が変化する.(雨で水溜りが増えていく!)
ダメージが部位毎に異なる.
英語では A Violent Road to Death の意味.
クリックして拡大クリックして拡大クリックして拡大
クリックして拡大クリックして拡大クリックして拡大
クリックして拡大クリックして拡大クリックして拡大
クリックして拡大クリックして拡大クリックして拡大
クリックして拡大

Reference

Iter Vehemens ad Necem
http://ivan.sourceforge.net/
ivanforum
http://ivan.greatboard.com/
IVaN 攻略 Wiki
http://f46.aaa.livedoor.jp/~aqul/pukiwiki14/pukiwiki.php?FrontPage

FlashMyAdmin - Flash based MySQL Administration Tool

Summary

Flashで開発された派手なMySQL管理ツール.
インタラクティブで軽い.

デモのトップ

Englishを選択する.
クリックして拡大

オプション画面

クリックして拡大

サーバの選択画面

クリックして拡大

フィールドの型を変更

クリックして拡大

データの検索

クリックして拡大

データを選択して表示 (マルチメディア)

クリックして拡大

sample01のflowers.jpgをプレビュー

クリックして拡大

Reference

FlashMyAdmin
http://www.flashmyadmin.org/original/flashmyadmin.org.php
FlashMyAdmin - Demo
http://www.flashmyadmin.org/flash/mysql/administration/trial/flashmyadmin.htm

pmtools - Perl のモジュールや POD に関する小さなコマンドラインツール

Summary

Perl のモジュールや POD に関する小さなコマンドラインツールが同梱されてるパッケージ.

Reference

pmtools

use Perl | pmtools-1.00 Now on CPAN
http://use.perl.org/articles/06/01/13/1950245.shtml

via

naoyaのはてなダイアリー - pmtools
http://d.hatena.ne.jp/naoya/20060114/1137217478

JavaScript::DebugScreen - JavaScriptのエラーをド派手に表示するライブラリ

Summary

JavaScriptのド派手なDebugScreen.
これは一度使ったら手放せない予感.

使用法

以下をHTML内に記述.

<script type="text/javascript" src="debug.js"></script>
<link rel="stylesheet" href="debug.css">


Reference

JavaScript::DebugScreen
http://la.ma.la/misc/js/debugscreen/

最速インターフェース研究会 :: JavaScriptでDebugScreenを表示する
http://la.ma.la/blog/diary_200601150700.htm

最速インターフェース研究会 :: JavaScriptでDebugScreen、その2
http://la.ma.la/blog/diary_200601161315.htm

perlsh - perlでインタラクティブなシェル

Summary

Term::ReadLine::Gnu に含まれている perlsh でインタラクティブシェル.
cpan install ではインストールされない.
使用するにはソースを展開して,ファイル群に含まれる perlsh を適切な場所におく必要がある.

Reference

2nd life - perl でインタラクティブなシェルを実現する perlsh
http://d.hatena.ne.jp/secondlife/20060111/1136975310

Term::ReadLine::Gnu

via

cl.pocari.org - perl でインタラクティブなシェルを実現する perlsh
http://cl.pocari.org/2006-01-11-7.html/

knockd - ポートを順番にノックするとコマンドを実行する daemon

Summary

特定のポートを特定の順番でノックすると,設定してあるコマンドを実行する.

Reference

knockd - a port-knocking server
http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki

via

cl.pocari.org - TCP ポートをノックしてコマンドを実行する knockd
http://cl.pocari.org/2006-01-11-4.html

CSSを使ってキーボード入力をアイコンのように表示

Source

kbd {
	color: #333333;
	background-color: white;
	text-align: center;
	border-left: 1px solid #cfcfcf;
	border-top: 1px solid #cfcfcf;
	border-right: 2px solid #666666;
	border-bottom: 2px solid #666666;
	-moz-border-radius: 4px 4px 4px 4px;
	padding-left: 1px;
	padding-top: 0px;
	padding-right: 2px;
	padding-bottom: 0px;
	margin-left: 2px;
	margin-right: 2px;
	vertical-align: top;
	font-family: sans-serif;
}

Sample

Ctrl+Alt+Del

Reference

にわか鯖管の苦悩日記 - 2006-01-11 - CSSを使ってキーボードのアイコンっぽく表示させる
http://kikuz0u.x0.com/td/?date=20060111#p02

via

cl.pocari.org - 2006-01-11
http://cl.pocari.org/2006-01-11-9.html

HTMLとアクセシビリティ

テーブルとアクセシビリティ

kanzaki.com - テーブルとアクセシビリティ
http://www.kanzaki.com/docs/html/tbl-access.html

フォームとアクセシビリティ

kanzaki.com - フォームとアクセシビリティ
http://www.kanzaki.com/docs/html/htminfo33.html

入力フォーム

みんなのウェブ - 迷わず使える入力フォーム
http://www2.nict.go.jp/ts/barrierfree/accessibility/minna/point7.html

身体が不自由な方による貴重な意見

A.A.O. - ウェブを活用する障害者の声
http://www.aao.ne.jp/user/usersvoice/

zsh + screen で端末に表示されてる文字列を補完する

Summary

.zshrc に以下を記述.(2nd lifeより)
Ctrl + o で端末上の文字列を補完可能.

# dabbrev
HARDCOPYFILE=$HOME/tmp/screen-hardcopy
touch $HARDCOPYFILE

dabbrev-complete () {
	local reply lines=80 # 80行分
	screen -X eval "hardcopy -h $HARDCOPYFILE"
	reply=($(sed '/^$/d' $HARDCOPYFILE | sed '$ d' | tail -$lines))
	compadd - "${reply[@]%[*/=@|]}"
}

zle -C dabbrev-complete menu-complete dabbrev-complete
bindkey '^o' dabbrev-complete
bindkey '^o^_' reverse-menu-complete

Reference

2nd life - zsh + screen で端末に表示されてる文字列を補完する
http://d.hatena.ne.jp/secondlife/20060108/1136650653

JavaScript 超高速化スクリプト

Summary

IT戦記で公開されているスクリプトをすべてのスクリプトよりも前の段階で読み込む.

ライセンスは「寂しがり屋ライセンス」.
IT戦記のエントリにコメントを書くことで使用可能.

Reference

IT戦記 - 複雑で重くなった JavaScript を超高速化する方法。
http://d.hatena.ne.jp/amachang/20060104/1136344836
IT戦記 - 複雑で重くなった JavaScript を超超ちょ〜〜〜高速化する方法。
http://d.hatena.ne.jp/amachang/20060114/1137243389

Blog Keyword Visualizer

Summary

ソニーコミュニケーションネットワークによる検索視覚化ツール.

最近のblogの話題をノードグラフでアニメーション化
気になるキーワードを簡単検索
気になるblog記事へ簡単アクセス
表示するキーワードの個数の最大値 (現在は1000個)を設定し,
その最大値を超えた際には,出現頻度の低いキーワードを削除する.

- Reference
MYCOM PC WEB - 来週公開「Blog Keyword Visualizer」
http://pcweb.mycom.co.jp/news/2006/01/18/024.html
So-net - Blog Keyword Visualizer beta
http://www.so-net.ne.jp/web2/bkv/
So-net blog - Blog Keyword Viaualizer 開発者Blog
http://blog.so-net.ne.jp/bkv/

Perl で TypeKey 認証

Authen::TypeKey

Synopsis
use CGI;
use Authen::TypeKey;
my $q = CGI->new;
my $tk = Authen::TypeKey->new;
$tk->token('typekey-token');
my $res = $tk->verify($q) or die $tk->errstr;


Apache::AuthTypeKey

Synopsis
## In httpd.conf or .htaccess:
PerlModule Apache::AuthTypeKey
PerlSetVar TypeKeyPath /
PerlSetVar TypeKeyLoginScript /login.pl

## These documents require user to be logged in.
<Location /protected>
	AuthType          Apache::AuthTypeKey
	AuthName          TypeKey
	PerlAuthenHandler Apache::AuthTypeKey->authenticate
	require           valid-user
	PerlSetVar        TypeKeyToken your_token
</Location>

## This is the _return URL that the login.pl script should point to.
<Location /login-protected>
	AuthType    Apache::AuthTypeKey
	AuthName    TypeKey
	SetHandler  perl-script
	PerlHandler Apache::AuthTypeKey->login
	PerlSetVar  TypeKeyToken your_token
</Location>


Reference

YukiWiki - TypeKey
http://www.hyuki.com/yukiwiki/wiki.cgi?TypeKey

Authen::TypeKey
Apache::AuthTypeKey

みそ膳 みずさわ

Summary

味噌ラーメンが売りのラーメン屋.
意外な組み合わせのとんこつ味噌ラーメンが美味しい!

餃子もしっかり手作り.
皮も破れておらず,美味しくいただけました.

Data

住所 東京都板橋区大和町14-10 (みそ膳 みずさわ)
営業時間 11:30 - 25:00
最寄駅



Reference

ひょろり - みそ善みずさわ
http://www.hyorori.net/ramen/shop.asp?shop=1367

今日のビール

シメイ ブルー (Chimay Blue) 1本
ソル (Sol) 1本
シメイブルー (Chimay Blue) メキシコビールソル (Sol)

ソル

スペイン語で「太陽」という意味のメキシコのビール.
若干,スモークのような味を感じた.薄めの味.

.zshrc のコンパイル

Summary

zsh のシェルスクリプトは zcompile コマンドでコンパイルすることが可能.

.zshrc から .zshrc.zwc ファイルの生成

zcompile .zshrc


注意

同一ディレクトリに .zwc ファイルがある場合 zsh は .zshrc.zwc を実行する.
.zshrc を変更するたびに,zcompile を実行する必要がある.

Reference

zshのある暮らし - FAQ@zshスレ - 設定ファイルの読み込みが遅い
http://hiki.ex-machina.jp/zsh/?FAQ%40zsh%A5%B9%A5%EC#l16

メール送信元に日本語を利用する

Summary

From: MIMEエンコードされた日本語名 <user@example.com>
From全体をMIMEエンコードしてはダメ!

Sample source

$mail_encoding = 'JIS';
$local_encoding = 'EUC-JP';

mb_language('Japanese');
mb_convert_variables($mail_encoding,$local_encoding,$name);
mb_convert_variables($mail_encoding,$local_encoding,$mail);
...

$from   = mb_encode_mimeheader($name,$mail_encoding).' <'.$mail.'>';
$header =  "From: $from\n";
$header .= "Cc: $cc\n";
$header .= "Bcc: $bcc\n";

mb_send_mail($to,$title,$contents,$header);

validate.js と setInterval を利用したフォームの入力チェック

Summary

validate.js[2006-01-06-4] を利用してみた.
オートコンプリートからマウスで選択した直後に,validate結果が更新されない.

インフォアクシアのお問い合わせでは setInterval(func,ms) を利用して
定期的に入力フォームのチェックを行っている.

validate.jsでvalidate結果表示を更新するには,Behaviour.apply() を呼び出せばよい.

Source

以下の記述で500ms毎にvalidate結果を更新する.
<body onload="setInterval('Behaviour.apply();',500">
...
</body>


注意

無差別に全フォームのチェックを行ったり,極端にインターバルの時間を短くしたりすると,処理が重くなる.

インフォアクシアのお問い合わせでは,入力内容が変更された時のみ,
入力チェックを呼び出すようにしている.

処理の軽量化

prototype.js を利用しているため $F('elemId') でフォームの内容を呼び出している.
var nameTmp  = '';
var mailTmp  = '';

function isChangeForm(){
	var ret = false;
	if (nameTmp != $F('name') || mailTmp != $F('mail')){
		nameTmp = $F('name');
		mailTmp = $F('mail');
		ret = true;
	}
	return ret;
}

function updateForm(){
	if (isChangeForm()){
		Behaviour.apply();
	}
	return;
}


<body onload="setInterval('updateForm();',500">
...
</body>


Reference

インフォアクシア - お問い合わせ
https://www.infoaxia.co.jp/forms/com/contact/

今日のビール

常陸野ネストビール ホワイトエール [2005-10-10-1] 1本
レフ・ブラウン (Leffe Brown) 1本
ロシュフォール10 (Rochefort 10) [2005-08-12-33] 1本
ロシュフォール8 (Rochefort 8) 1本
ブラッセルズ・ピーチ (Brussels Peach) 1本
ブラッセルズ・クリーク (Brussels Kriek) 1本
ブラッセルズ・フランボワーズ (Brussels Framboos) 1本
ビショップス・フィンガー (BISHOPS FINGER) 1本
セントセバンチャン グランクリュ (St. Sebastiaan Grand Cru) 1本
ギネス・ドラフト (Guinness Draught) 1本
チリビール (Chili Beer) 1本
常陸野ネストビール ホワイトエール レフ・ブラウン ロシュフォール 10 (Rochefort 10) ロシュフォール8 (Rochefort 8) ブラッセルズ・ピーチ ブラッセルズ・クリーク ブラッセルズ・フランボワーズ シェパードニーム ビショップスフィンガー BISHOPS FINGER セントセバスチャングランクリュ ギネス・ドラフト チリビール CHILI BEER

都映 芝大門店

Summary

昼はうどん屋のスタンディングバー.

Data

住所 東京都港区芝大門一丁目11-9 (都映) ライオンズマンション芝公園 1F
電話 03-3431-5502
営業時間 10:30 - 15:00 , 17:00 - 24:00
定休日 土曜日, 日曜日, 祝日
最寄駅 大門 , 御成門 , 浜松町



Reference

サントリーグルメガイド - 都映 芝大門店
http://www.suntory.co.jp/gourmet/shop/0334315502/

ライセンスの色々

GNU GPL (GNU General Public License)

GPLのもとに配布された著作物を改変して派生物を作成した場合,派生物を公開するときにはGPLで公開しなければならない.
一度ソフトウェアをGPLで公開した場合,後からGPLによる利用を禁じることは著作権者にも不可能.
頒布に際してソースコードの公開を伴わないバイナリ形式のみでの頒布は認めていない.
(ソースコードが入手できないと言うことは事実上,改変を制限しているに等しいから)
http://www.opensource.jp/gpl/gpl.ja.html

BSDライセンス

無保証・免責を宣言し,再配布する際に著作権表示を行うことのみを条件とする,
極めて制限の緩いライセンス。
http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5

Reference

さまざまなライセンスとそれらについての解説 - GNU プロジェクト - フリーソフトウェア財団 (FSF)
http://www.gnu.org/licenses/license-list.ja.html

Wikipedia - GPL
Wikipedia - BSDライセンス

e-Words - BSDライセンスとは
http://e-words.jp/w/BSDE383A9E382A4E382BBE383B3E382B9.html

onsubmit で submit ボタンを disable にしてユーザビリティを良くする

function disableSubmit(form) {
  var elements = form.elements;
  for (var i = 0; i < elements.length; i++) {
    if (elements[i].type == 'submit') {
      elements[i].disabled = true;
    }
  }
}


<form method="get" onsubmit="disableSubmit(this)">
  <input type="text" name="q">
  <input type="submit" value="search">
</form>


ボタンのvalueが渡らなくなる罠がある.
そのような作り方はしていないので,とりあえず保留.

Reference

naoyaのはてなダイアリー - onsubmit で submit ボタンを disable にしてユーザビリティを良くする
http://d.hatena.ne.jp/naoya/20050803/1123053496
naoyaのはてなダイアリー - submit ボタン disable 技の罠
http://d.hatena.ne.jp/naoya/20050804/1123152230

DrawingCanvas.js - クロスブラウザなベクタグラフィック描画ライブラリ

サンプル

http://jsgt.org/lib/vector/graph/sliderbar.htm

Reference

Days on the Moon - 2006-09-27 - ブラウザ上でお絵かき
http://nanto.asablo.jp/blog/2005/09/27/89628

DrawingCanvas.js
http://www.ne.jp/asahi/nanto/moon/2005/09/27/DrawingCanvas.js

register_globals が On の環境でも Off と同様の状態にする方法

Reference

個人的なメモと備忘録 - 2005-12-25 - register_globals が On の環境でも Off と同様の状態にする方法(2)
http://www.asahi-net.or.jp/~wv7y-kmr/note/2005-12.html#YMD20051225_PHP_register_globals

via

cl.pocari.org - register_globals が On の環境でも Off と同様の状態にする方法
http://cl.pocari.org/2005-12-27-9.html

hook_tcp.so - connect()の接続先を syslog へ記録する

Reference

チームチドリ :: B-Wiki - hook_tcp.so
http://www.t-dori.net/modules/bwiki/?hook_tcp.so

via

にわか鯖管の苦悩日記 - 2005-12-27 - hook_tcp.so リリース
http://kikuz0u.x0.com/td/?date=20051227#p01
cl.pocari.org - LD_PRELOAD を利用して,プログラム中で実行される connect() の接続先を syslog へ記録する hook_tcp.so
http://cl.pocari.org/2005-12-27-10.html

OKボタンの位置はどこが適切か

Reference

OKボタンの位置はどこが適切?
http://www.phenomena.co.jp/phenomena/uid_lab/ok_btn/
OKボタンの位置はどこが適切? - 結果
http://www.phenomena.co.jp/phenomena/uid_lab/ok_btn/test_result_lr.html

via

cl.pocari.org - OK ボタンの位置はどこが適切?
http://cl.pocari.org/2005-12-25-2.html
OKボタンはキャンセルから大きく離して右下に - ただのにっき (2006-01-31)
http://sho.tdiary.net/20060131.html#p01

AJAX Activity indicators

Summary

Now loading... のようなシーンで使える画像.

白背景用

白背景用インジケータ白背景用インジケータ白背景用インジケータ

黒背景用

黒背景用インジケータ黒背景用インジケータ黒背景用インジケータ

両方OK

両用インジケータ両用インジケータ両用インジケータ両用インジケータ両用インジケータ

プログレスバー

プログレスバー
プログレスバー

Reference

AJAX Activity indicators | Animated GIFs designed to indicate your site is doing something
http://mentalized.net/activity-indicators/
AJAX activity indicators | mentalized
http://mentalized.net/journal/2005/11/29/ajax_activity_indicators/

via

JavaScript++かも日記: 【Ajax】AJAX Activity indicators
http://jsgt.org/mt/archives/01/000738.html
cl.pocari.org - Ajax で使えるインジケータ
http://cl.pocari.org/2005-12-26-2.html

表現のためのオープンソースソフトウェア

Summary

コンピューターを使った作品制作において,
オープンソースソフトウェアを使う場合に役に立つ情報を共有するためのサイト.

Reference

Oss4art - 表現のためのオープンソースソフトウェア
http://megaui.net/oss4art/wiki/

via

たつをのChangeLog - 2006-01-08 - 表現のためのオープンソースソフトウェア
http://chalow.net/2006-01-08-6.html

Portable Firefox - リムーバブルディスクで持ち運べるExtension

Reference

自分の現在の設定をそのままコピーして持ち運べるExtension.
%APPDATA%\Mozilla\Firefox\Profiles 以下を
PortableFirefoxディレクトリ内のprofileディレクトリにコピーすればOK.

接続したリムーバブルディスクからPortableFirefox.exeを起動すれば実行可能.

Reference

Portable Firefox | PortableApps.com
http://portableapps.com/apps/internet/browsers/portable_firefox

via

Going My Way: USBドライブで持ち運ぶPortable Firefox 1.5
http://kengo.preston-net.com/archives/002332.shtml

IE Tab - Firefoxのタブの中でIEを開くExtension

Summary

ステータスバーのFirefoxマークをクリックするだけでエンジンを切り替え可能.
Windows Updateもダウンロード,インストール共可能になるらしい.
早速導入.

Reference

Mozilla Update :: Extensions -- More Info:IE Tab - All Releases
https://addons.mozilla.org/extensions/moreinfo.php?id=1419
mozdev.org - ietab: index
http://ietab.mozdev.org/

via

Firefox のタブの中で IE を起動する IE Tab - えむもじら
http://level.s69.xrea.com/mozilla/?id=20060107_IETab
Going My Way: Firefoxのタブの中でIEを開くエクステンションIE Tab
http://kengo.preston-net.com/archives/002398.shtml

Google画像検索 chalow プラグイン

### Google 画像検索へのリンクプラグイン
# usage: {{google_image('keyword')}}
sub google_image {
	my ($str) = @_;
	my $prefix = q(http://images.google.com/images?q=);
	my $enc = Jcode->new($str)->utf8;
	$enc =~ s/([^0-9a-z_ ])/'%'.unpack('H2', $1)/gei;
	$enc =~ s/\s/+/g;
	return qq(<a href="$prefix$enc" title="Google Images - $str">Google 画像検索 - $str</a>);
}

今日のビール

今日のビールリスト

常陸野ネストビール ペールエール[2005-10-10-1] 1本
常陸野ネストビール ヴァイツェン[2005-10-10-1] 1本
シメイ ブルー (Chimay Blue) 1本

常陸野ネストビール ペールエール

製造から2ヶ月過ぎのものを飲んだ.
大分クセが強くなってくる.
これ以上寝かせると自分には合わない気がする.
ペールエールは早めに飲むのが良さそう.
常陸野ネストビール ペールエール

常陸野ネストビール ヴァイツェン

製造から2ヶ月のものを飲んだ.
これは丁度良い具合.
色の割にはしっかりした味がある.
常陸野ネストビール ヴァイツェン

シメイブルー

さすが大御所.
ほんのり甘くて,しっかりした味わい.
これは定番に入れても良い気がする.
でもロシュフォール10[2005-08-12-33]にはかなわないな.
シメイ ブルー (Chimay Blue)

PONG時計

Summary

オランダのデザインスタジオ Buro Vormkrijgersによる,Pongをプレイしつづける壁掛け時計.
左は1時間に1回,右は1分に1回勝つことで,時計を表現.
PONG時計

動画

Reference

BURO VORMKRIJGERS - Pong Clock
http://www.burovormkrijgers.nl/docs/pong.html

via

Engadget Japanese - 2005-11-26 - Pong時計
http://japanese.engadget.com/2005/11/26/pong-clock/
Engadget - 2005-11-25 - The Pong clock
http://www.engadget.com/2005/11/25/the-pong-clock/

LinuxでDMA転送の確認

Summary

hdparm を用いる

# aptitude install hdparm


テスト

# hdparm -t /dev/hda

/dev/hda:
 Timing buffered disk reads: 174 MB in 3.03 seconds = 57.36 MB/sec

ここで,20秒程度かかっているとDMAがOFFになっている可能性がある.

現在の設定を表示する

# hdparm -v /dev/hda

/dev/hda:
 multcount = 0 (off)
 IO_support = 1 (32-bit)
 unmaskirq = 1 (on)
 using_dma = 1 (on)
 keepsettings = 0 (off)
 readonly = 0 (off)
 readahead = 256 (on)
 geometry = 16383/255/63, sectors = 234441648, start = 0


設定一覧

DMA転送オン hdparm -d1 /dev/hdx
DMA転送オフ hdparm -d0 /dev/hdx
16ビットI/Oモード hdparm -c0 /dev/hdx
32ビットI/Oモード hdparm -c1 /dev/hdx

`-X' オプション (HDDが対応していないと危険)

-X08 PIOモード0
-X09 PIOモード1
-X10 PIOモード2
-X11 PIOモード3
-X12 PIOモード4
-X16 シングルワードDMAモード0
-X17 シングルワードDMAモード1
-X18 シングルワードDMAモード2
-X32 マルチワードDMAモード0
-X33 マルチワードDMAモード1
-X34 DMAモード2
-X67 UDMAモード3
-X66 UDMAモード2 (Ultra ATA33)
-X68 UDMAモード4 (Ultra ATA66)
-X69 UDMAモード5 (Ultra ATA100)
-X70 UDMAモード6 (Ultra ATA133)

Reference

ITmedia エンタープライズ : Linux Tips「ハードディスクのアクセスが遅いような気がする」
http://www.itmedia.co.jp/help/tips/linux/l0086.html
Debian パッケージディレクトリ検索 (バイナリ) - hdparm

楽園のがーでぃあん

Summary

「魔王のアクジ」の作者によるゲーム.
5つの精霊を使い分けて進んでいくアクションRPG.
ゼルダの伝説や聖剣伝説のようなゲーム.
難易度はかなり低め.
クリアまで約4時間かかった.

タイトル画面とスタート時の画面

クリックして拡大クリックして拡大

スタート時には武器が無いので,まずは剣を探す.

クリックして拡大クリックして拡大クリックして拡大

パズル要素もあり.

クリックして拡大

Reference

buster's home - 楽園のがーでぃあん
http://hp.vector.co.jp/authors/VA025956/game_gd.htm
楽園のがーでぃあん FAQ
http://cgi28.plala.or.jp/bb/buster/cgi/faq/gd/inf6.cgi?mode=menu

Storm the House

Summary

Defend Your Castle[2004-07-02-4], Demonic Defence[2005-03-08-5], Massive Attack[2005-03-08-6]系.
Flash製.

クリックして拡大クリックして拡大クリックして拡大クリックして拡大

How to play

Click 弾発射
Space 弾補充

Data

name cost
Clip size + 1 1000 弾+1
Repair + 20 800 壁を20回復
Upgrade Wall 3000 壁の耐久限界+50
Sniper Rifle 75000 ?
Fortify 50000 壁の耐久限界大幅上昇
Missile Site 35000 ?

Employee

name cost cost /day
Gunman 2000 150 援護射撃
Craftsman 8000 800 壁を徐々に回復
Silo Worker ? ? 高威力の範囲攻撃

Reference

pya! - storm the house
http://pya.cc/pyaimg/pimg.php?imgid=22819

音楽CDを挿入するとエラーが発生する

Summary

音楽CDを挿入するとエラーが発生する.
「指定されたデバイス、パスまたはファイルへのアクセスが拒否されました。」

原因

Windows Media Player と音楽CDが関連付けされていない.

解決方法

Windows Media Playerを起動し,
[ツール] - [オプション] - [ファイルの種類]タブ を選択し,
[音楽CDの再生]にチェックを入れる.

Reference

何でも調査報告書FAQ
http://www.kawachi.zaq.ne.jp/dpafj200/faq.html

Realtime validation - 入力値を動的にチェックするライブラリ

Screen shot

左から 未入力時, 異常値入力時, 正常値入力時.
クリックして拡大クリックして拡大クリックして拡大

Usage

prototype.js とvalidate.js を自分のHTMLに読み込んで
下記の様に正規表現で表示するメッセージを指定するだけで利用可能.

Source - JavaScript

Validator.register({
	"#mail" : {
	"/^([^@\\s]+)@((?:[-a-z0-9]+\\.)+[a-z]{2,})$/": "OK",
	"/^$/": "必ず入力してください",
	"/.*/": "正しいメールアドレスを入力してください" 
	}
});


Source - HTML

<input name="mail" id="mail"/><span id="mail_msg"></span>


Reference

masuidrive - Realtime validation using Ajax
http://masuidrive.jp/validation/

via

masuidrive - 2006-01-05 - Realtime validation using Ajax
http://blog.masuidrive.jp/articles/2006/01/05/validation

Effect.Transitions - script.aculo.usのEffectの変化曲線を変更する

Summary

effect.jsに以下の記述がある.
これはEffectの変化曲線を設定している.
デフォルトの変化曲線はsinカーブと同じ.

Effect.Transitions.sinoidal = function(pos) {
	return (-Math.cos(pos * Math.PI) / 2) + 0.5;
}


Effectのコンストラクタでオプションにtransitionをセットすることで,
変化曲線を変更可能.
new Effect.Move( 'elementId', {
		x: 100,
		y: 100,
		transition : function ( pos ) {
		return Math.pow( pos, 2 );
	}
});


Sample

Sample

Reference

d.aql - scriptaculousのトランジション
http://d.hatena.ne.jp/aql/20051123/1132725850

Lightbox JS - Web2.0ライクな画像サムネイル生成

Summary

百聞は一見にしかず!
このメモと 情報視覚化 のページでさっそく利用してみた.

How to use

1. lightbox.js を <head>内に記述.
<script type="text/javascript" src="lightbox.js"></script>


2. <a>タグに rel="lightbox" をつける.
<a href="path/to/image.jpg" rel="lightbox">
  <img src="path/to/image-thumbnail.jpg" />
</a>


Reference

Lightbox JS
http://www.huddletogether.com/projects/lightbox/

via

OpenStratus Archive - 2006-01-02
http://openstratus.com/article/52/lightboxjs-web20/

JPドメイン名登録等に関する規則

Summary

属性型・地域型JPドメイン名は1組織について1つまで.

第9条 (登録できる属性型地域型JPドメイン名の数)
  登録できる属性型地域型JPドメイン名の数は、1組織について1とする。


登録資格 (抜粋)

co.jp 株式会社,有限会社,合名会社,合資会社,相互会社,特殊会社,その他の会社および信用金庫,信用組合,外国会社
gr.jp 複数の日本に在住する個人または日本国法に基づいて設立された法人で構成される任意団体
代表者および副代表者は,日本に在住する個人または日本国法に基づいて設立された法人であること

(*1) 保育所,幼稚園,小学校,中学校,高等学校,中等教育学校,盲学校,聾学校,養護学校,専修学校
     および各種学校のうち主に18歳未満を対象とするもの

Reference

属性型 (組織種別型)・地域型 JP ドメイン名登録等に関する規則
http://jprs.jp/doc/rule/rule.html
汎用 JP ドメイン名登録等に関する規則
http://jprs.jp/doc/rule/rule-wideusejp.html

GnuPG - GPGの使い方

Install

# aptitude install gnupg


鍵の生成

% gpg --gen-key


gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Please select what kind of key you want:
   (1) DSA and Elgamal (default)
   (2) DSA (sign only)
   (5) RSA (sign only)
Your selection? 1
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n> = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Real name: Yoshiki Sato
Email address: yoshiki@example.com
Comment:
You selected this USER-ID:
    "Yoshiki Sato <yoshiki@example.com>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
You need a Passphrase to protect your secret key.

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
.+++++++++++++++++++++++++.+++++++++++++++++++++++++.+++++.+++++.+++++.+++++.+++++.
+++++.++++++++++++++++++++...+++++++++++++++.+++++.++++++++++.+++++...>+++++.......
.............................+++++
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
..++++++++++++++++++++..+++++.+++++.++++++++++.+++++.++++++++++++++++++++++++++++++
.++++++++++++++++++++.++++++++++.+++++++++++++++++++++++++++++++++++++++++++++>++++
+......................>+++++..<+++++..............................................
...........+++++^^^
gpg: key 9C156761 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 2u
pub 1024D/9C156761 2006-01-05
Key fingerprint = 3683 1E3B F97E CFB4 CFE7 71BD 4E85 148A 9C15 6761
uid Yoshiki SATO <yoshiki@example.com>
sub 2048g/C07F39C3 2006-01-05


鍵の一覧を表示

% gpg --list-keys
/home/yoshiki/.gnupg/pubring.gpg

----------------------------
pub 1024D/3CE5C693 2006-01-05
uid Yoshiki SATO <yoshiki@exmaple.com>
sub 2048g/2A6E3C6C 2006-01-05


自分の公開鍵を公開

% gpg -a --export

-BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (GNU/Linux)

mQGiBEO8ikYRBADUOTickRiPcYQlJhtidXYaWO4K5xWIv8ltafzWYD6Y+FPBSRl3
vYRJvfz7Rf1B2+PaMX8jb/XhxLB68UU6whwtwuwkmIKpMo7xaBXU8AtnwLJAYDbm
BCRUN0My+OebJ1ZmV/V+g0TuPR+aWMfYgCl+Kwnne6nlR9SpPguv8a+cvwCgl7g1
g/brar8MK9vWJehRVjLRlrEEAI0hLF0H2o32edf5G6MAdazh4pmIKTiGcl65ayZX
WSpFrVOps4gYkLGa9xgKJOuu3XZrSFQIIoyrSWe4q6sVz5kNz0+5rVUifgqWVeKe
gv3TEt1pNlyzAbkNtEsYPoZ6cyfjy124p+CTQOQgB3Jne6zS004OZVqCCFuqtHx/
NzqbBAC/ekqwN/47J0OoMjMFdXpkC9Lh7V9Z2n62/hFoWokS7yyKzjwUVZflZnYw
wAofAyV1AFX8xJZR4RzKBHuiD620ZArP7+IfuVtMsbsHsSyFruuPUfIrvN9vDyVX
eKNPGTTJCS5Gr9I3eZ61QUhluJEVJIVTVTqALxD7Vr/NTli++bQgWW9zaGlraSBT
YXRvIDx5b3NoaWtpQHhpZ2h0Lm9yZz6IXgQTEQIAHgUCQ7yKRgIbAwYLCQgHAwID
FQIDAxYCAQIeAQIXgAAKCRBlyvLVPOXGkyZwAKCUlmkGBJ55EX0+ctFPKbRcf8Q0
aQCdF7YLdsX5I80zyDEeli3cnrV+eNq5Ag0EQ7yKVBAIAKUxEg+147hMmChAX1A7
kGEaSWsZ9yOf8jCcURZ/gsmxicsX2mx8CtxwlVCiQFag0xxQ3oXIN/X60AQOVty9
g2CiSfosuMHzmWZhWK9i97iJ+QBo05DTb+Py1vHwAvRkLpWidQzO71xxufm19w+Q
4hVzsFXCK40nFdtxBnMw3m+/tPIrsvIYUMR6m+YFaTm92lPNMHx4H9HrUp27fynA
2mxojHm1HYDkb6WRimzuBbyBN4s5IMRjrlg7tDH6BW/+b1u34UEmRAARM1SP0PsD
hfBHXeo7fWL2g6hZUGH7XgMC4FHoW6A2l7Iyk511pmDmLypEXwXKngrXtw7L5C8X
7E8AAwUH/j8fvigOJ5GcM/fFm+acAKmklEJD93AnKkRehcxsYZGJnlI+j9617/3Y
EZr8axDI3t9cRKEapa3CySOyE3pc/PEorMDMXYcTfiDgJZ2te13/usbOaprzkGWj
aFKA6LHuXmm1WccvmK9ILLEWiK/lXFiJ6179byltkM0dgzGAIDr5RdSnpEojzVUM
K3gn1lBLLY5zj3c2tyjuES4c1BmT+tlmECdmcinM5sS3eOLGRHGEh6iHnbwCMc1G
AYHeuuLg0TwVuBHs5c+CeHFMV1zg2BlcrTSYHPeNDjK4l4SAk+KYXG8mE+mIpwpO
H5fyEJApVH2s1+K6E9d59yT4j/7FZq2ISQQYEQIACQUCQ7yKVAIbDAAKCRBlyvLV
POXGk7S8AKCLyaK3SiOmIzbSItYEhTZ+sr2emACgl59eyf/0HqkGUJHFF/DIDZjo
Zk8=
=BexV

-END PGP PUBLIC KEY BLOCK-----


他の人の公開鍵を登録

例: The Linux Kernel Archives OpenPGP Signature

1. 公開鍵の保存
http://www.kernel.org/signature.html

-BEGIN PGP PUBLIC KEY BLOCK----- から

-END PGP PUBLIC KEY BLOCK----- までをコピーして
linux-kernel.pub というファイル名で保存する.

$ gpg --import linux-kernel.pub
gpg: key 517D0F0E: public key "Linux Kernel Archives Verification Key <ftpadmin@kernel.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u


2. フィンガープリントの確認

$ gpg --fingerprint 517D0F0E
pub 1024D/517D0F0E 2000-10-10
      Key fingerprint = C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E
      uid Linux Kernel Archives Verification Key <ftpadmin@kernel.org>
      sub 4096g/E50A8F2A 2000-10-10


Reference

GnuPG:使い方
http://szk-st.net/~takashi/linux/tips/gnupg--usage.html
GnuPG - Linux Wiki
http://oku.edu.mie-u.ac.jp/~okumura/linux/?GnuPG

メールアドレスが正しいかを判定するモジュール

Email::Valid

#!/usr/bin/perl
use Email::Valid;
print (Email::Valid->address('user@example.com') ? 'yes' : 'no');


Mail::CheckUser

#!/usr/bin/perl
use Mail::CheckUser qw(check_email last_check);

my $email = 'user@example.com';

if(check_email($email)) {
	print "E-mail address <$email> is OK\n";
} else {
	print "E-mail address <$email> isn't valid: ", last_check()->{reason}, "\n";
}


Data::Validate::Email

use Data::Validate::Email qw(is_email is_email_rfc822);

if(is_email($suspect)){
	print "Looks like an email address\n";
} elsif(is_email_rfc822($suspect)){
	print "Doesn't much look like an email address, but passes rfc822\n";
} else {
	print "Not an email address\n";
}


Reference

Email::Valid
Debian パッケージディレクトリ検索 (バイナリ) - libemail-valid-perl

Mail::CheckUser

Data::Validate::Email

Nagios

Summary

指定された監視タイミングでステータスを収集する
フリーの高機能ネットワーク・サーバ監視ツール.

Reference

Nagios
http://www.nagios.org/
FrontPage - Nagios Infomation Ja
http://nagios.x-trans.jp/naija/
@IT - Webサーバ周辺、これだけおさえれば、落ちても大丈夫?
http://www.atmarkit.co.jp/fnetwork/tokusyuu/22tool/01.html
@IT - NagiosでWebサーバを頑丈にする方法
http://www.atmarkit.co.jp/fnetwork/tokusyuu/22tool/02.html
cubic9.com - Nagios
http://cubic9.com/Nagios/

Subversionへの移行

Install

# aptitude install subversion subversion-tools


Reference

Debian -- Debian-Installer subversion リポジトリ
http://www.debian.org/devel/debian-installer/svn.ja.html

subversion への移行
http://ukai.jp/debuan/2002w/subversion.txt

ま!(2005-07-17)
http://popo.dyndns.info/~manhole/diary/20050717.html

nDiki: cvs2svn - cvs2svn (2004-02-24)
http://www.naney.org/diki/dk/cvs2svn.html

Debian パッケージディレクトリ検索 (バイナリ) - subversion
Debian パッケージディレクトリ検索 (バイナリ) - subversion-tools

XML::Simple + JSON で Ajax

1. [Perl] XML over HTTP な API を叩く
2. [Perl] XML::Simple で parse
3. [Perl] そのまま objToJson でJSONに変換
4. [JavaScript] XMLHttpRequest で結果取得
5. [JavaScript] JSON を eval
6. [JavaScript] 復元したデータで DHTML

JKL.ParseXML[2005-10-21-1]でクライアント側でXMLをparseしてもOK.

Reference

JSON
XML::Simple

via

はてな技術勉強会 - 2005年08月26日
http://www.hatena.ne.jp/info/tech#tech050826

私がグーグルのアドワード広告を止めた理由

Reference

PDF 千夜一夜: 2005年12月28日 - 私がグーグルのアドワード広告を止めた理由(1)
http://blog.antenna.co.jp/PDFTool/archives/2005/12/28/
PDF 千夜一夜: 2005年12月29日 - 私がグーグルのアドワード広告を止めた理由(2)
http://blog.antenna.co.jp/PDFTool/archives/2005/12/29/
PDF 千夜一夜: 2005年12月29日 - 私がグーグルのアドワード広告を止めた理由(3)
http://blog.antenna.co.jp/PDFTool/archives/2005/12/30/
PDF 千夜一夜: 2005年12月29日 - 私がグーグルのアドワード広告を止めた理由(4)
http://blog.antenna.co.jp/PDFTool/archives/2005/12/31/
PDF 千夜一夜: 2006年01月01日 - 私がグーグルのアドワード広告を止めた理由(まとめ)
http://blog.antenna.co.jp/PDFTool/archives/2006/01/01/

via

スラッシュドット ジャパン - Google AdSenseを偽広告に置き換えるトロイの木馬
http://slashdot.jp/security/article.pl?sid=06/01/03/037234

JavaScriptのデバッグ方法

Venkman JavaScript Debugger

FirefoxのExtention.
クリックして拡大

JSUnit

メソッド 内容
assert([コメント], booleanValue) assertTrueと同じ
assertTrue([コメント], booleanValue) booleanValueがtrueか
assertFalse([コメント], booleanValue) booleanValueがfalseか
assertEquals([コメント], value1, value2) value1 == value2か
assertNotEquals([コメント], value1, value2) value1 != value2か
assertNull([コメント], value) value == nullか
assertNotNull([コメント], value) value != nullか
assertUndefined([コメント], value) value == undefinedか
assertNotUndefined([コメント], value) value != undefinedか
assertNaN([コメント], value) value == NaNか
assertNotNaN([コメント], value) value != NaNか
fail(コメント) 必ずエラーにする

特殊なメソッド
setUp() 各テストケースメソッドが実行される前に呼び出される.各テストケースで毎回実行する初期化処理等を記述する.
tearDown() 各テストケースメソッドが実行された後に呼び出される.各テストケースで毎回実行する終了処理等を記述する.

JavaScript Shell と Web Development Bookmarklets

FirefoxならBookmarkletから起動可能!
ものすごい大量にあるので一部紹介.
CSSを動的に切り替えるBookmarkletもある.

  Built-in function (抜粋)
print(str) strを表示
clear() 画面を消去

  - JavaScript Shell (Bookmarklet)
クリックして拡大

  - JavaScript Development Environment (Bookmarklet)
クリックして拡大

JavaScript Code Improver

コード整形ツール.
クリックして拡大
  - 使用前
var i=0,s="",k=0;function foo(){for(j=0;j<10;j++){for(i=0;i<10;i++){s="string1";
k=Math.floor(Math.random()*10);}for(i=20;i>9;i--){s="string2";k=i;}}}


  - 使用後
var i=0,s="",k=0;
function foo()
{
	for(j=0;j<10;j++)
	{
		for(i=0;i<10;i++)
		{
			s="string1";
			k=Math.floor(Math.random()*10);
		}
		for(i=20;i>9;i--)
		{
			s="string2";
			k=i;
		}
	}
}


JavaScriptUnit

functionテストに.
ファイル名 説明
common.js Cookie,XMLHttpRequest,ブラウザ判定関連
commontest.html テスト用HTML
JavaScriptUnit.js JavaScriptUnitの本体

メソッド名 説明
initTest() テスト開始
showResult() テスト終了,結果表示
assertEquals(テスト名,値1,値2) 等しいかどうかのテスト
assertTrue(テスト名,値) Trueを返すかどうかのテスト
assertFalse(テスト名,値) Falseを返すかどうかのテスト
fail(テスト名) テスト失敗する
debug(メッセージ) デバッグメッセージを記録(テスト失敗時のみ赤字で表示される)

Web Developer

実行環境のコントロールに.

objectdump

オブジェクトを見やすい形に表示する.
<div id="dumparea"></div>
<script src="objectdump.js"></script>
<script>
objectdump( window, document.getElementById( 'dumparea' ) );
</script>


FireBug

Firefox で JavaScript を Debug するためのエクステンション

DebugWindow


print_r(obj)

ウノウラボより.
function print_r(obj) {
    var count_obj = 0;
    function _output(str) {
        document.writeln(str + "<br/>");
    }
    
    function _print_r(obj, name, level) {
        var s = "";
        if (obj == undefined || level > 4) return;
        for (var i = 0; i < level; i++) { s += " | "; }
        s += " - " + name + ":" + typeof(obj) + "=" + obj;
        _output(s);
        if (name == "document" || typeof(obj) != "object") return;
        for ( key in obj ) {
           if (count_obj++ > 150) return;
           _print_r(obj[key], key, level + 1);
        }
    }
    _print_r(obj, "*", 0);
}


Reference

Venkman JavaScript Debugger - Development Page
http://www.hacksrus.com/~ginda/venkman/
Getahead - Venkman for Firefox 1.5
http://getahead.ltd.uk/ajax/venkman

JsUnit
http://www.edwardh.com/jsunit/introduction.html
SourceForge - JsUnit
http://sourceforge.net/projects/jsunit/

JavaScript Shell
http://www.squarefree.com/shell/

Web Development Bookmarklets
http://www.squarefree.com/bookmarklets/webdevel.html

JavaScript Code Improver
http://www.jcay.com/javascript-code-improver.html

侍ズム: JavaScript のテストのコツ
http://yusuke.homeip.net/diary/archives/000175.html

Firefox Extensions - Web Developer
https://addons.mozilla.org/extensions/moreinfo.php?id=60

nazoking - nazono.objectdump
http://nazo.yi.org/nazonojs/?name=objectdump
nazoking - nazono.objectdump - Overview
http://nazo.yi.org/nazonojs/js_docs_out/overview-summary-objectdump.js

JoeHewitt.com - FireBug
http://www.joehewitt.com/software/firebug/
Mozilla Update :: Extensions -- More Info:FireBug - All Releases
https://addons.mozilla.org/extensions/moreinfo.php?id=1843&application=firefox

eto.com/d - 0503 - DebugWindow
http://eto.com/d/0503.html#DebugWindow

Reference 追記[2006-11-24]

ウノウラボ Unoh Labs: JavaScriptのバグを退治する3つの手法
http://labs.unoh.net/2006/11/javascript.html

via

はてな - JavaScriptプログラマの方にお聞きします…
http://www.hatena.ne.jp/1123227040

nothing but trouble - JavaScript開発のお供に。
http://d.hatena.ne.jp/send/20060120/p2

via 追記 [2006-08-24]

phpspot開発日誌 - 2006-08-24 - JavaScriptデバッグツール集
http://phpspot.org/blog/archives/2006/08/javascript_24.html

Term::ANSIColor

Summary

コンソール上で色付けした文字を扱うためのPerlモジュール.
これは便利!

Sample

#!/usr/bin/perl
use strict;
use warnings;
use Term::ANSIColor qw(:constants);

$Term::ANSIColor::AUTORESET = 1;

print BOLD RED   "RED\n";
print BOLD GREEN "GREEN\n";
print BOLD BLUE  "BLUE\n";


Reference

Term::ANSIColor

via

naoyaのはてなダイアリー - 無線LANブリッジのIPアドレスを探せ
http://d.hatena.ne.jp/naoya/20051231/1135992917

富豪刑事

Summary

Amazon - 富豪刑事 新潮文庫: 本
大富豪の息子で刑事の主人公「神戸 大介」,通称「富豪刑事」がお金で事件を解決!
登場するキャラクターがとっても個性的で愛着が持てる.
たったの4話で終わってしまうなんて悲しい!
筒井 康隆著.

どこかで見たことある題名だと思ったら,ドラマの原作でした.
Amazon - 富豪刑事 DVD-BOX: DVD

Reference

富豪刑事 新潮文庫: 本
富豪刑事 DVD-BOX: DVD

携帯サイトのつくりかた

Reference

携帯.HTML - 携帯サイトのフォームに入力項目を作る
http://www3.tokai.or.jp/janboon/hphtml/form/input.html
NTTドコモ - 作ろうiモードコンテンツ - XHTML
http://www.nttdocomo.co.jp/p_s/imode/xhtml/
NTTドコモ - 作ろうiモードコンテンツ - HTML
http://www.nttdocomo.co.jp/p_s/imode/tag/
KDDI au: EZfactory
http://www.au.kddi.com/ezfactory/
ボーダフォン - Developers Support Site
http://developers.vodafone.jp/dp/tool_dl/list/

2006年の運勢 - 最強運芸能人決定戦

あなたの組み合わせ:てんびん 座 ウマ 年 O 型
あなたと同じ組み合わせの有名人は、中山エミリ です。
あなたの順位は576位中 232 位です。
人から愛され平和に楽しく過ごせそう。しかし努力は怠らずに行動をしましょう。


その他

占い 順位 備考 ラッキーアイテム
十二支占いで見る金運 10 / 12 無理をすると出費が大きくなる 七宝焼きのアクセサリー
星座占いで見る恋愛運 1 / 12 絶好調! 好きな人に好かれる年 恋愛成就率90% 中には結婚する人も 豪華なホテル
血液型占いで見る健康運 3 / 4 おおらかすぎるO型は,自分の不注意から病気を引き寄せます. エアロビクス・ボクシング
寝冷えなどに注意!

Reference

フジテレビ - 2006最強運芸能人決定戦
http://www.fujitv.co.jp/saikyo2006/

フジテレビ - 2005最強運芸能人決定戦
http://www.fujitv.co.jp/saikyo2005/

フジテレビ - 2004最強運芸能人決定戦
http://www.fujitv.co.jp/saikyo2004/

2004年の運勢[2004-01-05-6]
2005年の運勢[2005-01-03-1]