Home

日記
心ある中傷 (13:51)Edit

「人質の家族に心ない中傷」系ニュース見出しを見ていて、ふと「心ある中傷」もあるんだろうかなどと思いついてしまい、いろいろなシチュエーションプレイ(←嘘)に精を出すのは、週明けから寝不足気味だからだろう。ちなみに「心ない」という言葉から真っ先に思いつくのは「高田純次」だったりするのは秘密だ。

Published At2004-04-19 00:00Updated At2004-04-19 00:00

日記
blogmapでURLクリッピング+へぇふぅんボタン (6) (13:51)Edit

いしださんの記事(http://isnot.jp/n3/200404.html#20040420_1082400638)を参考に、埋め込みJavaScriptのサンプルに「type="text/javascript" charset="euc-jp"」を追加してみた。

あとRSSのtrackback:pingの表現についても修正してみました。

Published At2004-04-20 00:00Updated At2004-04-20 00:00

日記
付箋紙表現を使った究極のWiki (3) (13:51)Edit

やっぱり付箋紙が動かないのはつまらないんで、

を使って付箋紙を動くようにしてみた。

Published At2004-04-21 00:00Updated At2004-04-21 00:00

日記
構造的弱者の構造的強さ (13:51)Edit

を読んだら、昔自分で書いた文章のことを思い出したのでそれを転載しておこう。

 構造的弱者というものが,逆に構造的な強さを持ってしまうことがある。構造的弱者を保護するための仕組みが,必要以上に行使されてしまう場合だ。

 構造的弱者というものを定義する際には,その定義における弱い立場の人間を標準とする。

 そうすると,その定義には当てはまるものの,本来メインターゲットとしていない人間までもが,構造的弱者を保護するための力を行使することができうる。

 構造的弱者であることを盾にとった強さの行使は,その力を成立させる源となる社会的心情を,逆なですることになるのではないか。

 そうなってくると,もはやその構造的弱者を守るための仕組みそのものの存在意義が疑われ始める。もしもその仕組みがなくなってしまうと,真の構造的弱者が困るのに。

 そのような事態を避けるためには,構造的弱者の定義を変更して本当に保護が必要な人間のみが対象になるようにするか,あるいは構造的弱者の範疇にはいりうるがその保護力は必要ない人間はその力を行使できないようにした方がいいだろう。

Published At2004-04-21 00:00Updated At2004-04-21 00:00

日記
AirH" 128kオプションに申し込んだ (13:51)Edit

ゴールデンウィーク対策として、AirH"の128kオプションに申し込んでおいた。一昨日の昼にPicnic(https://picnic.ddipocket.co.jp/telmecall/servlet/main)とかいうDDI Pocketユーザー向けWebサイトで申し込み、本日開通。

32k契約中(128kオプション無効)のときには、128k接続用電話番号にはダイアルアップできないのね。128kがだめだったら、自動的に32kで接続してくれたりするかと思っていのに。そうなると、切り替えの前後でダイアルアップ先を意識して切り替える必要があるのか。面倒だな。

ただ、まだほとんど使っていないんだけど、128k接続って32kと比べるとずいぶん不安定っぽいな。粘り腰に欠けるというか、単純に言うと、回線状態が悪くなったらすぐに切断されてしまうっぽい。その印象が本当ならば、普段は32k中心で使って、電波状態がいいときだけ128kを使う、なんて使い分けが必要なのかな?

Published At2004-04-21 00:00Updated At2004-04-21 00:00

日記
宣伝REFERER付きブラウザ? (13:51)Edit

もしかして、宣伝用のREFERERをブラウザというかProxomitronあたりでセットして、あちこち回っている人とかいるんですか? なんかスクリプトを使った絨毯爆撃系ではない雰囲気を感じるREFERERの足跡を最近見かけるのですが。いわゆる絨毯爆撃系REFERER SPAMみたいには迷惑ではないし、場合によってはそういう宣伝方法もありかなと思ったりしつつも、本来期待される値とは異なる値を偽造して通知してくるという手法はやっぱりだめな気がする。

Published At2004-04-21 00:00Updated At2004-04-21 00:00

日記
PHPでコードビハインド(@ASP.NET)風に記述してみるテスト (13:51)Edit

ひとまずこのレベルならばふつうに動く。ごついクラスを作ってかぶせれば、もっとASP.NETっぽいこともいろいろできるだろう(簡略化のために以下のサンプルではshort_open_tagをonにしているけれども、個人的にはshort_open_tagをoffにしつつ、phpx側の処理にもう一段ラッピングするアプローチの方がいいと思う。イベントハンドラもどきみたいなこともできるだろうし)。

ただ問題は、コードビハインド風の記述方法がさしてすばらしいとは思えないところにある。コンパイル言語ならば、ロジックをコードビハインドに分離しておいてそっちはコンパイルしつつ、テンプレート的な部分は自由に変更できる、というアプローチもそれなりに有効だろうが。

でもまあ、一般的なテンプレートエンジンを使った記述方法よりも、テンプレートとファイル(URL)とロジックの関係が明確になるという利点は結構捨てがたいかも。一般的なテンプレートエンジンを使うと、パーツのテンプレートファイルと本体のテンプレートファイルの管理がいまいちきれいにできないんだよな。でもその利点のためだけにこれだけのオーバーヘッドを許容できるかなー。

.htaccess

AddType application/x-httpd-php    .phpx
php_value short_open_tag        on
php_value auto_prepend_file     code_behind_engine.php

code_behind_engine.php

<?php
_CBE_EXECUTE();
function _CBE_EXECUTE() {
$__currentFile = $_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_NAME'];
$__scriptFile = $__currentFile.'.php';
if (file_exists($__scriptFile)) {
include $__scriptFile;
}
include $__currentFile;
exit;
}
function h($str) {return htmlspecialchars($str);}
?>

test.phpx

<html>
<head>
<title><?=h($title) ?></title>
</head>
<body>
<h1><?=h($title) ?></h1>
<ul>
<?php foreach ($hash as $key => $value): ?>
<li><?=h($key) ?> is <?=h($value) ?></li>
<?php endforeach; ?>
</ul>
</body>
</html>

test.phpx.php

<?php
$title = 'テスト';
$hash = array(
'123' => 'abc',
'あいう' => 'XYZ',
'http://ishinao.net/' => 'ishinao@ishinao.net',
'<b>aaa</b>' => 'bold'
);
?>

実行例

Published At2004-04-21 00:00Updated At2004-04-21 00:00

日記
肉 退職 菱木マッチョリーナ (13:51)Edit

さっき飯を食いに行ったら、歩道に青いビニールカバーが掛けられた箱の載った台車が置いてあって、そのビニールカバーに「肉」「退職」「菱木マッチョリーナ」と書かれていたんだけど、あれはいったい何なんだろう? 「菱木マッチョリーナ」ってどこか「グレコローマンかたぎ」に通ずるものがあるな。あるいは坂本ジュリエッタの友達?

Published At2004-04-23 00:00Updated At2004-04-23 00:00

日記
Smarty modifier.mbtruncate.php (13:51)Edit

Smartyのtruncateをマルチバイト文字列に対応させたもの。pluginsディレクトリにつっこんでおく。Smartyテンプレート内で{$string|mbtruncate:30}なんて感じで使う。

modifier.mbtruncate.php

function smarty_modifier_mbtruncate($string, $length = 80, $etc = '...') {
if ($length == 0) {return '';}
if (strlen($string) > $length) {
$length -= strlen($etc);
return mb_strcut($string, 0, $length).$etc;
} else {
return $string;
}
}

ああ、日本語ではbreakwordなんか考えたらおかしくなるな。削っておこう。

Published At2004-04-23 00:00Updated At2004-04-23 00:00

日記
Smarty modifier.mbconvert.php (13:51)Edit

Smartyのテンプレート上でマルチバイト文字コード変換を行う。あんまり使い道はなさそうな気もするけど、あってもいいだろう。pluginsディレクトリにつっこんでおく。Smartyテンプレート内で{$string|mbconvert:"urf-8":"euc-jp"}なんて感じで使う。

modifier.mbconvert.php

function smarty_modifier_mbconvert($string, $charset, $source_charset = 'auto') {
return mb_convert_encoding($string, $charset, $source_charset);
}

Published At2004-04-23 00:00Updated At2004-04-23 00:00