高橋名人の速度を再現してみる。

高橋名人の速度を視覚的に再現してみました。
https://cloned.jp/tmejin16/
速度は16連射に合わせてコーディングしたつもりですが、JavaScriptのタイマーなどで使うsetTimeoutが小数点を受け付けるか知りませんので、速度の正確性は定かではありません。
GeoCities広告なしのオリジナルソースGeoCitiesは閉鎖することになったので移動しました) を一応貼っておきますので、何かに利用できそうならご自由にどうぞ。(利用の仕方は思いつきませんが)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<style type="text/css">
<!--
* {
font-family:"Georgia","MS Pゴシック",serif;
}
body {
background-color:white;
}
div#counter {
width:50px;
height:25px;
text-align:right;
border-style:solid;
border-width:1px;
color:orange;
background-color:black;
}
td#bar {
width:50px;
border-top-style:solid;
border-top-width:15px;
border-top-color:#A72D21;
}
.side {
width:15px;
}
td#center {
width:20px;
height:26px;
border-bottom-style:solid;
border-bottom-width:5px;
border-bottom-color:black;
text-align:center;
vertical-align:top;
}
input#exec {
border-style:solid;
border-width:1px;
color:white;
background-color:#444;
border-color:black;
}
-->
</style>
<script type="text/javascript">
<!--
var appName = window.navigator.appName.charAt(0);
var meijin = null;
onload = function () {
    meijin = new TakahashiMeijin();
}
function TakahashiMeijin() {
    this.active = false;
    this.finger = false;
    this.icon = "▽";
    this.pushCount = 0;
    this.pushSpeed = 1000 / 2 / 16;
    this.push = function () {
        if (this.active) {
            if (this.finger) {
                this.finger = false;
                this.pushCount++;
            } else {
                this.finger = true;
            }
            return true;
        }
        return false;
    }
}
function main() {
    if (!meijin.push()) {
        return;
    }
    write();
    setTimeout("main()", meijin.pushSpeed);
}
function write() {
    document.getElementById("counter").innerHTML = meijin.pushCount;
    if (meijin.finger) {
        document.getElementById("center").style.verticalAlign = "top";
        document.getElementById("center").style.borderWidth = "5px";
        if (appName == "M") {
            document.getElementById("center").style.height = "26px";
        }
    } else {
        document.getElementById("center").style.verticalAlign = "bottom";
        document.getElementById("center").style.borderWidth = "2px";
        if (appName == "M") {
            document.getElementById("center").style.height = "29px";
        }
    }
}
function run() {
    meijin.active = true;
    document.getElementById("center").innerHTML = meijin.icon;
    document.forms[0].elements[0].value = "Stop";
    document.forms[0].elements[0].onclick = stop;
    main();
}
function stop() {
    meijin.active = false;
    document.getElementById("center").innerHTML = "&nbsp;";
    document.forms[0].elements[0].value = "Start";
    document.forms[0].elements[0].onclick = run;
}
//-->
</script>
<title>高橋名人の速度を再現してみる。</title>
</head>
<body>
<h1>高橋名人の速度を再現してみる。</h1>
<form action="./">
<div id="counter">0</div>
<table cellspacing="0" cellpadding="0" style="margin-top:14px;">
<tr>
<td class="side">&nbsp;</td>
<td id="center">&nbsp;</td>
<td class="side">&nbsp;</td>
</tr>
<tr>
<td id="bar" colspan="3">&nbsp;</td>
</tr>
</table>
<div>
<input id="exec" type="button" value="Start" onclick="run();" style="width:50px;">
</div>
<div style="margin-top:20px">
<a href="https://blog.cloned.jp/">作者</a>
</div>
</form>
</body>
</html>

ストリームからファイルへ

podcastingという手法から逆に思いましたが、今までのラジオやテレビの放送は全てストリーム配信です。podcastingは擬似的に放送のような提供を行いますが、モノ自体はmp3などのファイルなのでストリーミングの必要は必ずしもありません。今まではストリーミングしか選択肢がなかった訳ですが、podcastingの形式に利点を感じる人は多いのではないでしょうか。
例えば観たいテレビ番組を録画するという行為はストリーミング配信をわざわざファイルに変換する作業です。当然画質も劣化しますしそのままファイルで送ってもらった方が余程良いです。ラジオにしても放送時間によって聴ける聴けないの差が大きい人も多いと思います。全ての放送がpodcastingの形式を採る方が妥当ではないでしょうか。
知人にこの案を話すと、ラジオやテレビは決まった時間に一方的に配信されるから観るのであって自分からわざわざは観ないだろう、というような反論を貰いました。そういう人も多いかなとは思います。ですが、私はテレビの録画の必要がなくなるだけでも有意義に感じます。
podcasting取得の専門家電製品が出てくれば、恐らくそれにはLANケーブルと電源しか線がないのでしょう。そこにアンテナなどの受信機は必要ありません。いや、無線LANとなるならLANケーブルの指し口すらないかもしれません。
podcastingの登場によって今後の放送形態は大きく変化するように思います。

受信も送信も迷惑メール

先日、携帯電話のメールアドレスを変更したときに@の前が6文字と短いものにしました。恐らく迷惑メールが来るだろうとは予想していましたが、昔と違ってどういうメール(内容ではなくメールヘッダ的に)が来るのか興味があったので、迷惑メールフィルタをかけずにおきました。
最初はなりすましメールとそうでないメールが半々くらいの割合で3日に一度程度来ました。なりすましメールは流石に手法が知れているので迷惑メールフィルタを設定することで着拒しました。
迷惑メールの受信数は日に日に増え、今では日に4通ほど届くまでになりました。今まで来た迷惑メールの内容を整理すると以下のような特徴があります。

  • 内容が出会い系である
  • リンクURLがある
  • 配信停止用のメールアドレスがある

リンクURLは、サブドメイン(恐らく無料サービスの)のURLで1つから2つあります。配信停止用のメールアドレスは@yahoo.co.jpのものばかりです。To:は自分のアドレスだけになっていることがほとんどですが、たまにCc:で知らないアドレスと並べて送られてくる場合もあります。
リンクURLからはワンクリック詐欺のような振り込め文章に結びつけるのでしょうか?停止用アドレスに返信した場合は、配信停止するということは配信手続きをしたという根拠でこれも請求に結びつけるのでしょうか?
いずれにしても、内容はいかにも迷惑メールなので、ワンクリック詐欺のように自分からお金を振り込む人を待っているような印象を受けます。
対策ですが、通常のメールアドレスとしてメールが来る以上はフィルタの仕様がないので、ドメイン指定などで拒否するしかなさそうです。私の場合は携帯からのみ受信という訳にはいかないので、少々面倒です。まず、携帯各社のアドレスを許可するとして、国内の有名ドメインを登録すればよいかというと、迷惑メールが@{色々なサブドメイン}.biglobe.ne.jpなどから来るのでなかなか難しいです。
迷惑メールとして着信するもの以外には、自分自身が送信者となってしまっているものもあります。qmailサーバーからくるリレーエラーのデーモンで、ヘッダに

From: “Solt F. Howells” <{私のアドレス}@ezweb.ne.jp>

とか記述があります。「Solt F. Howells」はどなたでしょうか?送っている内容はバイアグラなどページへのリンクのあるHTMLメールです。
受信も送信も選り取り見取りな迷惑振りですが、今は実害があまりないので勉強がてら放置しています。

Solarisのデフォルトパーティション

年末よりもバタバタとやることがあって、更新ペースも減少気味です。家のSolarisでなんとなくdfを打ってみると/usr/local/のマウント領域が86%も使ってしまっていることに気付きました。
インストール時に面倒だったのでパーティション領域をデフォルト設定にしたのですが、80GBのハードディスクで約65GBほどが/export/home/に割り当てられているので、自分しかユーザーのいない自宅サーバーにしては間違った配分となっています。
そもそも/usr/local/というディレクトリ自体を自分で作った気がしますので、Solaris的な標準構成としては別の形があるのでしょうか。
ノートPCのcoLinuxには3GBの容量をマウントしているのですが、こちらも残り1GBを切っていて心細いです。そもそも個人用なのでデータ容量とかはほとんどない筈なのですが、アプリの実験やバックアップやらで何かと消費している模様です。
今度、Solarisパーティションから何から考え直して再インストールしたほうが良さそうなので、それまでは色々と実験台にすることにします。

初ティーダ


初ティーダ
元旦に携帯電話から撮ったものです。最近は携帯電話とは思えない画素でかなり綺麗に撮れます。
それにしてもiPodの容量も30GBとなるとかなり魅力的です。

●iPod classic 第5世代 30GB ホワイト●MA002J/A

●iPod classic 第5世代 30GB ホワイト●MA002J/A

mp3プレイヤーは聴きたい曲を事前に用意するのが面倒だと思っていましたが、これくらいの容量になると自分のよく聴くリストは全て入ってしまうので、ほとんど曲の入れ替えが発生しなくなると思います。「初ティーダ」はiPod ® nanoですが、とにかくiPodを触ってみたいと思っていますので、当たれば嬉しいのですが。

今年最初のお勉強本

XML Hacks ―エキスパートのためのデータ処理テクニック

XML Hacks ―エキスパートのためのデータ処理テクニック

今年最初の勉強用(というよりも電車用)の本を購入しました。Javaで開発していると設定ファイルなどで嫌でもXMLを編集する機会がありますが、きちんと勉強した試しもなく少々苦手意識があります。
Microsoft Officeなど、今後もXMLを意識したアプリケーションは出てきそうなので、この辺で基本を抑えておこうという趣向です。まだ10ページも読めていませんので、今後機会があれば本の内容や感想について書こうと思います。

来年はJava以外のことも

自分でもやってみるかと思い始めてから、今日を含むと26日分の日記となりました。11月22日からなので1ヶ月半にしては良く書いたかなと思います。最初は本職のJavaのことをと思っていましたが、実際には関係ない雑記も増えてきました。来年はJava以外に音楽のことなども書いていこうかと思います。
それではみなさま、よいお年をお迎え下さい。

フリーソフト開発者に感謝

いろいろなブログやニュースサイトで取り上げられていますが、今年はAjaxインパクトが大きかったです。また、Ajaxと同時にJavaScriptも大いに見直された年でした。prototype.jsを筆頭にJavaScriptoopというのも多くの現場で馴染みの薄かった部分だと思います。
サーバーでの一元管理が向くものはWeb、クライアントでの管理が向くものはローカルでという切り分けができるようになってきたことは大きなメリットでしょう。Windows95を触っていた頃はファミコンと同じでソフトを買ってこなければ使い物にならなかったように思います。
ソフトといえば、私のノートパソコンにあるソフトで電気屋さんで購入したものはほとんどありません。OfficeとAntiVirusくらいなものです。あとは、多くのオープンソースフリーソフトですが、それでも十二分に役に立っています。
多くのフリーソフト開発者に感謝するとともに、来年は自分も何か世に貢献できるものを作りたいなと考えています。自分にとって有用なものは人にとっても有用である可能性があるし、それを使ってもらっても何も減るものはありません。
自分自身が多くのオープンコミュニティーにお世話になったこともあり、自分の発見したことや成果物はできるだけオープンでありたいと強く思うようになった年でした。

ノートパソコンを選定

知り合いがノートパソコンを購入するので、その選定をしています。パソコンを選ぶときはいつでもですが、値段と性能のバランスが難しいものです。
インターネットを駆使して仕事とプライベートで活躍するノートパソコンを目指すので、モバイル性を重視してモニターサイズは12.1インチ。生活に馴染むためには操作性が大切なので、キーボードタッチの良さでメーカーは東芝IBMLenovo)。東芝IBMLenovo)はハードとしても信用しているのですが、はてなおやさんMatzさんのブログを見てるとThinkpadも怪しいなと思うようになりましたが。スペックは一般用途なので特にこだわらないですが、メモリは最低512MBは欲しいです。
予算としてはOfficeを付けて20万を切りたいということで、そんなモデルがあるかを探すのですが、東芝の12インチのノートは高いので早くも却下しました。次に最近少し怪しいThinkpadですが、「2371-M7J ThinkPad X40」というのがOfficeも入っていて当たりかなと思いました。
問題はハードディスクの容量が少ないのと光学ドライブがない点です。ウルトラベースを付けるとかなり高くなるので、光学ドライブは外付けでハードディスクは妥協という方針で勧めようと思います。
一昔に比べると、ノートパソコンもかなり高スペックになったと思います。もう業務用途でなければデスクトップはいらないんじゃないかと思うくらいです。