- 2008 : 01 02 03 04 05 06 07 08 09 10 11 12
- 2007 : 01 02 03 04 05 06 07 08 09 10 11 12
- 2006 : 01 02 03 04 05 06 07 08 09 10 11 12
- 2005 : 01 02 03 04 05 06 07 08 09 10 11 12
- 2004 : 01 02 03 04 05 06 07 08 09 10 11 12
- 2003 : 01 02 03 04 05 06 07 08 09 10 11 12
- 2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2006-06-19 Mon
mew で No first boundary for Multipart/Mixed エラー
- Summary
Multipart のメールを開くときにエラーが発生.
Tマークが付いているメールは,"I"で本文全体を取り込めば良い.
- Reference
[mew-dist 26489] MIME decoding error
http://www.mew.org/pipermail/mew-dist/2005-July/026177.html
[mew-dist 26490] Re: MIME decoding error
http://www.mew.org/pipermail/mew-dist/2005-July/026178.html
Clean CSS - CSSの最適化,ファイルサイズ削減ツール
- Summary
テキストフィールドにCSSを入力するか,CSSが置いてあるURLを指定して,"Process CSS" をクリック.

- 使用前 (196byte)
#example { color: rgb(0,0,0); background-color: #ffffff; font-weight: bold; margin-top: 5px; margin-bottom: 5px; margin-left: 5px; margin-right: 5px; padding: 10px 5px 10px 5px; }
- 使用後 (Compression: Low)
#example { color:#000; background-color:#fff; font-weight:700; margin:5px; padding:10px 5px; }
| 入力 | 196 byte |
| 出力 | 99 byte |
| 圧縮率 | 49.5 % |
| 差 | - 97 byte |
- 使用後 (Compression: Standard)
#example { color:#000; background-color:#fff; font-weight:700; margin:5px; padding:10px 5px; }
| 入力 | 196 byte |
| 出力 | 94 byte |
| 圧縮率 | 52.0 % |
| 差 | -102 byte |
- 使用後 (Compression: High)
#example{color:#000;background-color:#fff;font-weight:700;margin:5px;padding:10px 5px;}
| 入力 | 196 byte |
| 出力 | 87 byte |
| 圧縮率 | 55.6 % |
| 差 | -109 byte |
- Reference
Clean CSS - A Resource for Web Designers - Optmize and Format your CSS
http://www.cleancss.com/
きれいな独自フォームの生成方法
- Summary
Niceform[2006-04-18-3]のような独自フォームを生成する方法.
- Reference
maratz.com - 2006-06-11 - Fancy checkboxes and radio buttons
http://www.maratz.com/blog/archives/2006/06/11/fancy-checkboxes-and-radio-buttons/
- via
phpspot開発日誌 - 2006-06-19 - デフォルトのフォームをクールにカスタマイズする方法
http://phpspot.org/blog/archives/2006/06/post_85.html
gt5 - 豪華版 du
- Summary
ディスク容量を表示するソフトウェア du の豪華版.
du の出力結果を色付けし,パーセント表示が行える.
- Reference
MOONGIFT - gt5
http://oss.moongift.jp/intro/i-1922.html
MOONGIFT - gt5 レビュー
http://oss.moongift.jp/review/i-1923.html
オープンソースのSNS
- open-gorotto
総務省で導入実績があるオープンソースのSNS.
- OpenPNE
So-net で導入実績があるオープンソースのSNS.
60サイト以上で運用されている.
ライセンスはGPLと商用ライセンスのデュアルライセンス方式.
PHP + MySQL + (Postfix or sendmail or qmail) で動作.
- Affelio
ライセンスはオープンソースライセンス(GPL)とコマーシャルライセンスのデュアルライセンス方式.
Perl + (MySQL or SQLite) で動作.
Affelioアプリと呼ばれるプラグインを追加することで,機能拡張が可能.
SourceForge.jpにプロジェクトが存在.
必要なモジュールは
・DBI
・URI
・LWP
・Image::Magick
・DBD::mysql or DBD::SQLite
- Slashster
http://slashster.com/
- Reference
open-gorotto.jp
http://open-gorotto.jp/
OpenPNE
http://docs.openpne.jp/
So-net SNS
http://www.so-net.ne.jp/sns/
Affelio
http://affelio.jp/
Affelio - The Open Social Network
http://open.affelio.jp/
SourceForge.jp: Project Info - Affelio
http://sourceforge.jp/projects/affelio/
Slashster
http://slashster.com/
- via
ITpro - 2005-12-16 - 総務省の地域SNSがスタート,オープンソースSNSをベースに
http://itpro.nikkeibp.co.jp/article/NEWS/20051216/226386/
MYCOMジャーナル - Yet Another 仕事のツール 第93回 オープンソースのSNS - OpenPNEを試してみる
http://journal.mycom.co.jp/column/yetanother/093/
UTF-8で変換できない機種依存文字を置換する
- Summary
UTF-8 のページから (株) や ローマ数字の I などの文字をメールで送信すると,文字化けする.
文字化けしそうな文字を,ad hoc に機種依存しない文字に変換する.
ローマ数字もカッコで括るか,スペースを挿入したほうが良いかも.
- Source
function replaceText($str){ $arr = array( /* --- 0x2100 - 0x2138 (文字種記号) --- */ // 0x2100 - 0x210F '\xE2\x84\x80' => 'a/c', '\xE2\x84\x81' => 'a/s', '\xE2\x84\x82' => 'C', '\xE2\x84\x83' => '?', '\xE2\x84\x84' => '?', '\xE2\x84\x85' => 'c/o', '\xE2\x84\x86' => 'c/u', '\xE2\x84\x87' => '?', '\xE2\x84\x88' => '?', '\xE2\x84\x89' => 'F', '\xE2\x84\x8A' => 'g', '\xE2\x84\x8B' => '?', '\xE2\x84\x8C' => '?', '\xE2\x84\x8D' => '?', '\xE2\x84\x8E' => '?', '\xE2\x84\x8F' => '?', // 0x2110 - 0x211F '\xE2\x84\x90' => '?', '\xE2\x84\x91' => '?', '\xE2\x84\x92' => '?', '\xE2\x84\x93' => '?', '\xE2\x84\x94' => '?', '\xE2\x84\x95' => '?', '\xE2\x84\x96' => 'No.', '\xE2\x84\x97' => '?', '\xE2\x84\x98' => '?', '\xE2\x84\x99' => '?', '\xE2\x84\x9A' => '?', '\xE2\x84\x9B' => '?', '\xE2\x84\x9C' => '?', '\xE2\x84\x9D' => '?', '\xE2\x84\x9E' => '?', '\xE2\x84\x9F' => '?', // 0x2120 - 0x212F '\xE2\x84\xA0' => 'SM', '\xE2\x84\xA1' => 'TEL', '\xE2\x84\xA2' => 'TM', '\xE2\x84\xA3' => '?', '\xE2\x84\xA4' => '?', '\xE2\x84\xA5' => '?', '\xE2\x84\xA6' => '?', '\xE2\x84\xA7' => '?', '\xE2\x84\xA8' => '?', '\xE2\x84\xA9' => '?', '\xE2\x84\xAA' => '?', '\xE2\x84\xAB' => '?', '\xE2\x84\xAC' => '?', '\xE2\x84\xAD' => '?', '\xE2\x84\xAE' => '?', '\xE2\x84\xAF' => '?', // 0x2130 - 0x2138 '\xE2\x84\xB0' => 'e', '\xE2\x84\xB1' => '?', '\xE2\x84\xB2' => '?', '\xE2\x84\xB3' => 'M', '\xE2\x84\xB4' => 'o', '\xE2\x84\xB5' => '?', '\xE2\x84\xB6' => '?', '\xE2\x84\xB7' => '?', '\xE2\x84\xB8' => '?', /* ref * 機種依存文字とUnicode - WebStudio * http://www.d-toybox.com/studio/lib/romanNumerals.html */ /* --- 0x2150 - 0x2183 (数字の形) --- */ // 0x2153 - 0x215F (分数) '\xE2\x85\x93' => '1/3', '\xE2\x85\x94' => '2/3', '\xE2\x85\x95' => '1/5', '\xE2\x85\x96' => '2/5', '\xE2\x85\x97' => '3/5', '\xE2\x85\x98' => '4/5', '\xE2\x85\x99' => '1/6', '\xE2\x85\x9A' => '5/6', '\xE2\x85\x9B' => '1/8', '\xE2\x85\x9C' => '3/8', '\xE2\x85\x9D' => '5/8', '\xE2\x85\x9E' => '7/8', '\xE2\x85\x9F' => '1/ ', // 0x2160 - 0x216F (ローマ数字 : 大文字) '\xE2\x85\xA0' => 'I', '\xE2\x85\xA1' => 'II', '\xE2\x85\xA2' => 'III', '\xE2\x85\xA3' => 'IV', '\xE2\x85\xA4' => 'V', '\xE2\x85\xA5' => 'VI', '\xE2\x85\xA6' => 'VII', '\xE2\x85\xA7' => 'VIII', '\xE2\x85\xA8' => 'IX', '\xE2\x85\xA9' => 'X', '\xE2\x85\xAA' => 'XI', '\xE2\x85\xAB' => 'XII', '\xE2\x85\xAC' => 'L', '\xE2\x85\xAD' => 'C', '\xE2\x85\xAE' => 'D', '\xE2\x85\xAF' => 'M', // 0x2170 - 0x217F (ローマ数字 : 小文字) '\xE2\x85\xB0' => 'i', '\xE2\x85\xB1' => 'ii', '\xE2\x85\xB2' => 'iii', '\xE2\x85\xB3' => 'iv', '\xE2\x85\xB4' => 'v', '\xE2\x85\xB5' => 'vi', '\xE2\x85\xB6' => 'vii', '\xE2\x85\xB7' => 'viii', '\xE2\x85\xB8' => 'ix', '\xE2\x85\xB9' => 'x', '\xE2\x85\xBA' => 'xi', '\xE2\x85\xBB' => 'xii', '\xE2\x85\xBC' => 'l', '\xE2\x85\xBD' => 'c', '\xE2\x85\xBE' => 'd', '\xE2\x85\xBF' => 'm', // 0x2180 - 0x2182 (ローマ数字: 別表記) '\xE2\x86\x80' => 'M', '\xE2\x86\x81' => '(5000)', '\xE2\x86\x82' => '(10000)', /* --- 0x2190 - 0x219F (矢印) --- */ // 0x2190 - 0x219F '\xE2\x86\x90' => '->', '\xE2\x86\x91' => '(上矢印)', '\xE2\x86\x92' => '<-', '\xE2\x86\x93' => '(下矢印)', '\xE2\x86\x94' => '<->', '\xE2\x86\x95' => '(上下矢印)', '\xE2\x86\x96' => '(左上矢印)', '\xE2\x86\x97' => '(右上矢印)', '\xE2\x86\x98' => '(右下矢印)', '\xE2\x86\x99' => '(左下矢印)', '\xE2\x86\x9A' => '<-/-', '\xE2\x86\x9B' => '-/->', '\xE2\x86\x9C' => '<~', '\xE2\x86\x9D' => '~>', '\xE2\x86\x9E' => '<<--', '\xE2\x86\x9F' => '-->>', /* --- 0x2460 - 0x24EF (囲み英数字) --- */ // 0x2460 - 0x246F '\xE2\x91\xA0' => '(1)', '\xE2\x91\xA1' => '(2)', '\xE2\x91\xA2' => '(3)', '\xE2\x91\xA3' => '(4)', '\xE2\x91\xA4' => '(5)', '\xE2\x91\xA5' => '(6)', '\xE2\x91\xA6' => '(7)', '\xE2\x91\xA7' => '(8)', '\xE2\x91\xA8' => '(9)', '\xE2\x91\xA9' => '(10)', '\xE2\x91\xAA' => '(11)', '\xE2\x91\xAB' => '(12)', '\xE2\x91\xAC' => '(13)', '\xE2\x91\xAD' => '(14)', '\xE2\x91\xAE' => '(15)', '\xE2\x91\xAF' => '(16)', // 0x2470 - 0x247F '\xE2\x91\xB0' => '(17)', '\xE2\x91\xB1' => '(18)', '\xE2\x91\xB2' => '(19)', '\xE2\x91\xB3' => '(20)', '\xE2\x91\xB4' => '(1)', '\xE2\x91\xB5' => '(2)', '\xE2\x91\xB6' => '(3)', '\xE2\x91\xB7' => '(4)', '\xE2\x91\xB8' => '(5)', '\xE2\x91\xB9' => '(6)', '\xE2\x91\xBA' => '(7)', '\xE2\x91\xBB' => '(8)', '\xE2\x91\xBC' => '(9)', '\xE2\x91\xBD' => '(10)', '\xE2\x91\xBE' => '(11)', '\xE2\x91\xBF' => '(12)', // 0x2480 - 0x248F '\xE2\x92\x80' => '(13)', '\xE2\x92\x81' => '(14)', '\xE2\x92\x82' => '(15)', '\xE2\x92\x83' => '(16)', '\xE2\x92\x84' => '(17)', '\xE2\x92\x85' => '(18)', '\xE2\x92\x86' => '(19)', '\xE2\x92\x87' => '(20)', '\xE2\x92\x88' => '1.', '\xE2\x92\x89' => '2.', '\xE2\x92\x8A' => '3.', '\xE2\x92\x8B' => '4.', '\xE2\x92\x8C' => '5.', '\xE2\x92\x8D' => '6.', '\xE2\x92\x8E' => '7.', '\xE2\x92\x8F' => '8.', // 0x2490 - 0x249F '\xE2\x92\x90' => '9.', '\xE2\x92\x91' => '10.', '\xE2\x92\x92' => '11.', '\xE2\x92\x93' => '12.', '\xE2\x92\x94' => '13.', '\xE2\x92\x95' => '14.', '\xE2\x92\x96' => '15.', '\xE2\x92\x97' => '16.', '\xE2\x92\x98' => '17.', '\xE2\x92\x99' => '18.', '\xE2\x92\x9A' => '19.', '\xE2\x92\x9B' => '20.', '\xE2\x92\x9C' => '(a)', '\xE2\x92\x9D' => '(b)', '\xE2\x92\x9E' => '(c)', '\xE2\x92\x9F' => '(d)', // 0x24A0 - 0x24AF '\xE2\x92\xA0' => '(e)', '\xE2\x92\xA1' => '(f)', '\xE2\x92\xA2' => '(g)', '\xE2\x92\xA3' => '(h)', '\xE2\x92\xA4' => '(i)', '\xE2\x92\xA5' => '(j)', '\xE2\x92\xA6' => '(k)', '\xE2\x92\xA7' => '(l)', '\xE2\x92\xA8' => '(m)', '\xE2\x92\xA9' => '(n)', '\xE2\x92\xAA' => '(o)', '\xE2\x92\xAB' => '(p)', '\xE2\x92\xAC' => '(q)', '\xE2\x92\xAD' => '(r)', '\xE2\x92\xAE' => '(s)', '\xE2\x92\xAF' => '(t)', // 0x24B0 - 0x24BF '\xE2\x92\xB0' => '(u)', '\xE2\x92\xB1' => '(v)', '\xE2\x92\xB2' => '(w)', '\xE2\x92\xB3' => '(x)', '\xE2\x92\xB4' => '(y)', '\xE2\x92\xB5' => '(z)', '\xE2\x92\xB6' => '(A)', '\xE2\x92\xB7' => '(B)', '\xE2\x92\xB8' => '(C)', '\xE2\x92\xB9' => '(D)', '\xE2\x92\xBA' => '(E)', '\xE2\x92\xBB' => '(F)', '\xE2\x92\xBC' => '(G)', '\xE2\x92\xBD' => '(H)', '\xE2\x92\xBE' => '(I)', '\xE2\x92\xBF' => '(J)', // 0x24C0 - 0x24CF '\xE2\x93\x80' => '(K)', '\xE2\x93\x81' => '(L)', '\xE2\x93\x82' => '(M)', '\xE2\x93\x83' => '(N)', '\xE2\x93\x84' => '(O)', '\xE2\x93\x85' => '(P)', '\xE2\x93\x86' => '(Q)', '\xE2\x93\x87' => '(R)', '\xE2\x93\x88' => '(S)', '\xE2\x93\x89' => '(T)', '\xE2\x93\x8A' => '(U)', '\xE2\x93\x8B' => '(V)', '\xE2\x93\x8C' => '(W)', '\xE2\x93\x8D' => '(X)', '\xE2\x93\x8E' => '(Y)', '\xE2\x93\x8F' => '(Z)', // 0x24D0 - 0x24DF '\xE2\x93\x90' => '(a)', '\xE2\x93\x91' => '(b)', '\xE2\x93\x92' => '(c)', '\xE2\x93\x93' => '(d)', '\xE2\x93\x94' => '(e)', '\xE2\x93\x95' => '(f)', '\xE2\x93\x96' => '(g)', '\xE2\x93\x97' => '(h)', '\xE2\x93\x98' => '(i)', '\xE2\x93\x99' => '(j)', '\xE2\x93\x9A' => '(k)', '\xE2\x93\x9B' => '(l)', '\xE2\x93\x9C' => '(m)', '\xE2\x93\x9D' => '(n)', '\xE2\x93\x9E' => '(o)', '\xE2\x93\x9F' => '(p)', // 0x24E0 - 0x24EF '\xE2\x93\xA0' => '(q)', '\xE2\x93\xA1' => '(r)', '\xE2\x93\xA2' => '(s)', '\xE2\x93\xA3' => '(t)', '\xE2\x93\xA4' => '(u)', '\xE2\x93\xA5' => '(v)', '\xE2\x93\xA6' => '(w)', '\xE2\x93\xA7' => '(x)', '\xE2\x93\xA8' => '(y)', '\xE2\x93\xA9' => '(z)', '\xE2\x93\xAA' => '(0)', '\xE2\x93\xAB' => '(11)', '\xE2\x93\xAC' => '(12)', '\xE2\x93\xAD' => '(13)', '\xE2\x93\xAE' => '(14)', '\xE2\x93\xAF' => '(15)', /* --- 0x2600 - 0x266F (その他の記号) --- */ // 0x2600 - 0x260F '\xE2\x98\x80' => '(晴)', '\xE2\x98\x81' => '(曇)', '\xE2\x98\x82' => '(雨)', '\xE2\x98\x83' => '(雪)', '\xE2\x98\x84' => '?', '\xE2\x98\x85' => '(黒星)', '\xE2\x98\x86' => '(白星)', '\xE2\x98\x87' => '?', '\xE2\x98\x88' => '?', '\xE2\x98\x89' => '?', '\xE2\x98\x8A' => '?', '\xE2\x98\x8B' => '?', '\xE2\x98\x8C' => '?', '\xE2\x98\x8D' => '?', '\xE2\x98\x8E' => '(黒電話)', '\xE2\x98\x8F' => '(白電話)', // 0x2610 - 0x2613 '\xE2\x98\x90' => '(チェックボックス 空欄)', '\xE2\x98\x91' => '(チェックボックス チェック)', '\xE2\x98\x92' => '(チェックボックス チェック)', '\xE2\x98\x93' => '(チェック)', // 0x261A - 0x261F '\xE2\x98\x9A' => '(左)', '\xE2\x98\x9B' => '(右)', '\xE2\x98\x9C' => '(左)', '\xE2\x98\x9D' => '(上)', '\xE2\x98\x9E' => '(右)', '\xE2\x98\x9F' => '(下)', // 0x2620 - 0x262F '\xE2\x98\xA0' => '(ドクロ)', '\xE2\x98\xA1' => '?', '\xE2\x98\xA2' => '(核)', '\xE2\x98\xA3' => '?', '\xE2\x98\xA4' => '?', '\xE2\x98\xA5' => '?', '\xE2\x98\xA6' => '?', '\xE2\x98\xA7' => '?', '\xE2\x98\xA8' => '?', '\xE2\x98\xA9' => '?', '\xE2\x98\xAA' => '?', '\xE2\x98\xAB' => '?', '\xE2\x98\xAC' => '?', '\xE2\x98\xAD' => '?', '\xE2\x98\xAE' => '?', '\xE2\x98\xAF' => '?', // 0x2630 - 0x263F '\xE2\x98\xB0' => '?', '\xE2\x98\xB1' => '?', '\xE2\x98\xB2' => '?', '\xE2\x98\xB3' => '?', '\xE2\x98\xB4' => '?', '\xE2\x98\xB5' => '?', '\xE2\x98\xB6' => '?', '\xE2\x98\xB7' => '?', '\xE2\x98\xB8' => '?', '\xE2\x98\xB9' => '?', '\xE2\x98\xBA' => '?', '\xE2\x98\xBB' => '?', '\xE2\x98\xBC' => '?', '\xE2\x98\xBD' => '?', '\xE2\x98\xBE' => '?', '\xE2\x98\xBF' => '?', // 0x2640 - 0x264F '\xE2\x99\x80' => '?', '\xE2\x99\x81' => '?', '\xE2\x99\x82' => '?', '\xE2\x99\x83' => '?', '\xE2\x99\x84' => '?', '\xE2\x99\x85' => '?', '\xE2\x99\x86' => '?', '\xE2\x99\x87' => '?', '\xE2\x99\x88' => '(おひつじ座)', '\xE2\x99\x89' => '(おうし座)', '\xE2\x99\x8A' => '(ふたご座)', '\xE2\x99\x8B' => '(かに座)', '\xE2\x99\x8C' => '(しし座)', '\xE2\x99\x8D' => '(おとめ座)', '\xE2\x99\x8E' => '(てんびん座)', '\xE2\x99\x8F' => '(さそり座)', // 0x2650 - 0x265F '\xE2\x99\x90' => '(いて座)', '\xE2\x99\x91' => '(やぎ座)', '\xE2\x99\x92' => '(みずがめ座)', '\xE2\x99\x93' => '(うお座)', '\xE2\x99\x94' => '(キング 白)', '\xE2\x99\x95' => '(クイーン 白)', '\xE2\x99\x96' => '(ルーク 白)', '\xE2\x99\x97' => '(ビショップ 白)', '\xE2\x99\x98' => '(ナイト 白)', '\xE2\x99\x99' => '(ポーン 白)', '\xE2\x99\x9A' => '(キング 黒)', '\xE2\x99\x9B' => '(クイーン 黒)', '\xE2\x99\x9C' => '(ルーク 黒)', '\xE2\x99\x9D' => '(ビショップ 黒)', '\xE2\x99\x9E' => '(ナイト 黒)', '\xE2\x99\x9F' => '(ポーン 黒)', // 0x2660 - 0x266F '\xE2\x99\xA0' => '(スペード)', '\xE2\x99\xA1' => '(ハード)', '\xE2\x99\xA2' => '(ダイヤ)', '\xE2\x99\xA3' => '(クラブ)', '\xE2\x99\xA4' => '(スペード)', '\xE2\x99\xA5' => '(ハード)', '\xE2\x99\xA6' => '(ダイヤ)', '\xE2\x99\xA7' => '(クラブ)', '\xE2\x99\xA8' => '(温泉)', '\xE2\x99\xA9' => '(4分音符)', '\xE2\x99\xAA' => '(8分音符)', '\xE2\x99\xAB' => '(2つの8分音符)', '\xE2\x99\xAC' => '(2つの16分音符)', '\xE2\x99\xAD' => '(フラット)', '\xE2\x99\xAE' => '(ナチュラル)', '\x