どかないよ

ウチの猫はどかない。そのくせ人がよく歩くところに寝そべる。たまにジュータンに同化していて踏んづけることもある。踏んだ瞬間グニッとして「フギャッ!」って言うので体重をかける前に離すけど。コタツの布団も要注意だ。布団の下に尻尾が隠れていることがままある。コタツの奥から「シャーッ!」と言うが、それでも出てくることはない。全くどこうという気配がない。

歌舞伎役者のように摺り足で歩けば踏んづけず、チリトリのようにすくい上げることができるかもしれない。いや面倒だ。足元確認しながら歩くのすらめどいのに。足蹴にすればどうせ猫は成田屋のようにニラミを効かせるだけだ。避けた所で感謝すらされない。というか人間様が何故猫に媚びねばならぬのだ。ええい、お前らがどけっ。

なのであまりに邪魔なところでリラックスしてたら背中を蹴る。動物虐待じゃないぞ、これは文学だ。

パックリ割れ

注文した炭がなかなか届かなくて昨年買った火鉢にずっと火が入らない。で、火鉢を移動しようとしてフチを引っ張ったらポロッと。あるぇー?

ぶつけてもいないのに何かヒビが入っていたみたい。中古の火鉢だしなぁ。ただ火鉢にしてはちょっと器が薄いとは思ってたんだ。もしかして火鉢じゃなくて花瓶だったのかも。

まー炭も切らしてるから届いたら考えよう、と思ったら炭がさっき届いた…

隠れブックマーク

全くウケの悪いプログラミングの話。というかプログラムってほどでもない自己満足なHTML。

勤務中、待機時間は職場のPCを使ってネットでヒマつぶしをしているのだが、使っているブラウザは Internet Explorer 6。Flash Player なんか9のままだ。YoutubeやらYahooやらバージョンアップしろとうるさいが、管理者権限でないと WindowsUpdate すらかけられない。もちろん他のブラウザを入れることすらできない。

IEが古くても別段サイトを見たりブログをアップするのに問題ないからいい。面倒なのは「お気に入り(ブックマーク)」の管理。会社の共用PCなのでさすがに友人や自分のサイトをブックマークするのは周囲に見られてよろしくない。とはいえ毎回検索かけたり手入力も面倒。個人フォルダにショートカットを保存してもいいが、誰でも開けるので誰かがクリックしたらバレる。そんなわけで開いてもわからないように以前からこんな偽装ページのHTMLファイルをローカルに置いている。

って、どこが偽装? と思われるだろうが、実はIEデフォルトの404ページ「ページが見つかりません」のフリをして下にリンクがうっすらと隠してある。背景に同化して見えるか見えないかの■に、マウスポインタを合わせるとこの通りポップアップが。職場でコツコツと改良を重ね、他人にバレないように作った自分専用のブックマークページ。わざわざマウスポインタも手の形にならないようにする念の入れよう。

Ctrl+Aを押すと文字列がこの通り。WebメールのURLとか、同人用の非公開チャットやBasic認証をかけたサイトもここにリンクしてある。

ただしバレたときのことを考えてパスワードは置いていない。それにIEの「パスワード保存」にもチェックは入れないようにしている。でもBasic認証のページは毎回ユーザー/パスワード入力がめどいので何とかならないものかとヒマつぶしに改良してみた。JavaScript を仕込んでなかなかいい感じに。

だがやはりローカルファイル内にパスワードを保存しておくのは良くない。元に戻すことにしよう。消す前にもったいないのでソースを公開してみる。隠しページとか、隠しパスワードをゲットとか、そういうダンジョン的なお遊びに応用してみると面白いかもしれない。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>HTTP 404 未検出</title>
<script type="text/javascript">
  function clipB(txt) {
    window.clipboardData.setData("Text",txt);
  }
</script>

<style type="text/css">
  body {color:#f4f4f4; font-size:14px;}
  a {color:#fbfbfb; text-decoration:none;}
  a:hover {color:#cccccc; text-decoration:none;}
  .popup01 a {position:relative; cursor:default;}
  .popup01 a span {
    position:absolute;
    top:15px;
    left:22px;
    padding:3px;
    visibility:hidden;
    background:#ffffcc;
    border:1px solid #cccccc;
    color:#000000; font-size:12px;
  }
  .popup01 a:hover,.popup01 a:hover span {visibility:visible;}
</style>

</head>
<body>
<table cellpadding="0" cellspacing="0" border="0" height="100%">
 <tr>
  <td valign="top">
  <!-- dummy display -->
   <table width="400" cellpadding="3" cellspacing="5">
    <tr>
     <td valign="top" align="left">
      <img src="res://C:\WINDOWS\system32\shdoclc.dll/pagerror.gif" width="25" height="33" alt="error" />
     </td>
     <td width="360">
      <h1 style="color:black; font:13pt/15pt MS Pゴシック">ページが見つかりません</h1>
     </td>
    </tr>
    <tr>
     <td width="400" colspan="2">
      <span style="color: black; font: 9pt/12pt MS Pゴシック">検索中のページは、削除された、名前が変更された、または現在利用できない可能性があります。</span>
     </td>
    </tr>
    <tr>
     <td width="400" colspan="2">
      <div style="color: black; font: 9pt/11pt MS Pゴシック"><hr style="color:#c0c0c0" noshade="noshade" />
      <p>次のことを試してください:</p>
      <ul>
      <li>アドレス バーにページ アドレスを入力した場合は、ページ アドレスを正しく入力したかどうかを確認してください。</li>
      <li><a href="http://www.google.co.jp/" style="color:#4e4e4e; text-decoration:underline; font-weight:normal">www.google.co.jp</a> ホーム ページを開いてから、表示する情報へのリンクを探してください。</li>
      <li>別のリンク先を表示するには、<a href="http://www.google.co.jp/" style="color:red; text-decoration:underline; font-weight:normal"><img src="res://C:\WINDOWS\system32\shdoclc.dll/back.gif" border="0" alt="back" />[戻る]</a> ボタンをクリックしてください。</li>
      <li><a href="http://www.google.co.jp/" style="color:red; text-decoration:underline; font-weight:normal"><img src="res://C:\WINDOWS\system32\shdoclc.dll/search.gif" width="16" height="16" border="0" align="middle" alt="search" /> [検索]</a> ボタンをクリックして、インターネット上の情報を検索してください。</li>
      </ul>
      <p><br /></p>
      <h2 style="font:9pt/11pt MS Pゴシック; color:black">HTTP 404 - ファイル未検出<br />Internet Explorer</h2>
      </div>
     </td>
    </tr>
   </table>

  </td>
 </tr>
 <tr>
  <td valign="bottom">
  <!-- personal bookmark -->
   <table cellspacing="10" cellpadding="4" border="0">
    <tr>
     <td class="popup01">
      mezzo.jp<br />
      <a href="http://www.mezzo.jp/" target="_blank"
      onclick="clipB('password')">■<span
      style="width:50px">mezzo.jp</span></a>
     </td>
    </tr>
   </table>
  </td>
 </tr>
</table>
</body>
</html>

3行目の赤字 <!– saved from url=(0014)about:internet –> はIEでローカル上のファイルのJavaScriptを走らせるためのおまじない。ただし末尾の改行コードはCRLFでないとダメなそうな。ローカルファイル上でIEのエラー表示を回避するだけなので、ネット上にアップするなら必要ない。

青字部分は隠しリンクのポップアップ用CSS。灰色部分は擬装用IE404ページデザイン部分。

最後のclipB( ) 関数はリンクをクリックしたら「password」の文字列をクリップボードに転送する機能。昔はURLに http://user:password@www.mezzo.jp などのようにBasic認証をURLに仕込めたが、ブラウザのセキュリティ強化で今はできない。なので仕方なくクリップボードを使って入力の手間を省くだけ。認証時にフォームにペーストする必要はある。またクリップボード転送はIEのみ有効なので他のブラウザでは使えない。それにクリップボードを2つ保有することはできないのでユーザー名は別に入力する必要がある。でも長くて複雑なパスワードをコピペできるのはラクだ。

とはいえソースで見える場所にパスワードを置いておくのは極めて危険なので推奨できない。セキュリティの必要なページにそのまま使って、パスワードを盗まれるなどの被害に遭っても責任は持てないのであしからず。

おっさん

会社のカーテンの模様がおっさんの顔に見えて仕方ない。まるでオカマっぽいおっさんがヒゲもじゃの口をおちょぼにして残念そうな表情をしているみたいだ。

宿直室のカーテンはこのパターンの繰り返しなので、大勢のおっさんに流し目されているようで怖い。