The power of desire

先日岡崎の図書館の事件があった。どうにも警察のひどさが前面に押し出されている事件ではある。 私も他人事ではない。というのも10年ほど前同じようなソフトウェアを作ったからだ。
 なんかいい感じのアダルトサイトがあって、それの画像がマウスクリックでしか前に進まないようになっていた。これって世の中の人間の半数にはわかると思うが、いろいろ不便なわけですよ。そこで、自動的にサイトをクロールして画像をすべて取ってくるJavaのアプリをつくりました。普通ならwgetか何かを使えばよいのだが、なんか不都合があって自分で作る羽目に。
 使えるアプリとするための様々な要件を解決しようといろいろな技術を学ぶことに。たとえば

  • たしか当時はApache SOAPとかもなく、httpの電文を簡単に作り出せるようなクラスがなかったかなんらか不都合があったため、streamレベルのクラスを使いhttp電文を作ったり解析したりをできるようにした。ネットワークとかストリーム関係を勉強
  • 認証のための理由は忘れたけどbase64をなぜか自作。バイナリデータの操作をjavaでやるのを勉強した
  • 様々サイトで使えるように、http requestの電文のテンプレートをファイルとして置いておき、与えた変数を置換して送るような形にしていたのでテンプレートの解析のようなクラスを作る。今やっているプログラム解析のためのパーサつくりに役に立った。
  • ついでにいうと、テンプレートには、たとえば、{$#org.hogehoge.Base64.encode("{$name}:{$password})"}とかstaticメソッドを動的に実行できるようにした。で、リフレクションを勉強
  • 一スレッドだとどうかということでスレッド数を自由に増やせるworkerスタイルに。スレッドを勉強。← 岡崎のやつより極悪
  • 簡単なswingのUI

とかとか。
さらに、自分で作りたいソフトを自分で作っているのだからagileだし、そもそも気合いが違う。当然Validationも完ぺき。圧倒的な高品質、安価、短工期で使えるソフトができましたとさ。
やっぱ、欲望の力はすごいですね。