初の確定申告に行って来ました。

3月17日、申告のデッドライン。場は完全に煮詰まっていた。飛び交う怒号、弾ける血しぶき。いつ何が起こってもおかしくない。殺るか、殺られるか。青か白か。手書きかe-Taxか。室内は沸点に達しようとしていた。渋谷区税務署、ここはまさに日本のサバンナである。

…という事前のイメージと違って、署員の人は何でも教えてくれるし、パソコンでの作成は簡単だし、署員の人も最終日の混雑をお祭り的にテンション上げて楽しんでるかのようでした。ビビッて大金下ろしていったのに、全然稼いで無いから前年の給料の年末調整でむしろ返ってきました。

やっとおわってスッキリしたー!

「自分のページがある検索ワードで何位か」を調べるのを書いてみた。(ページランクはもう意味無いからほっとく)

% irb --simple-prompt -r search.rb
>> Search::Google.rank("http://blog.nikkeibp.co.jp/arena/ipod/", "ipod")
=> 9

こんな感じのやつ。でもブラウザで見た順番とどうしても違う。なんでだー!とか思ってたらパーソナライズのせいだった。ログアウトしたらぴったり一致。

気付かないうちにマニアックな検索結果になってたら便利だけど何か嫌だな!

BIOMEGA 4 (4) (ヤングジャンプコミックス)

「人類総改換化計画」を掲げるDRF(技術文化遺産復興財団)が火星よりもたらしたウィルス(N5SV)によって地球はゾンビだらけになってしまう。「東亜重工製合成人間」庚造一(カノエゾウイチ)とAIフユはウィルス適合者イオングリーンを救出することに成功。

一方、DRF総主ニアルディと下部組織、公衆衛生局の将軍ナイレンが衝突。火星でレーフ博士が発見して隠していた相写像重合体を地表に散布。ドローンを媒介として地球全体をどろどろしたものに変えていく。やがて胚珠と受精しえて宿主の望むものになるという。

どう考えても人には見えないニアルディとナイレンも昔は普通の人間っぽかった。結局はイオングリーンの花粉が受精して地球上の全てをコード化した物質がすごい勢いで飛び去ってしまう。それに巻き込まれた造一とフユはどこの星系かも分からない場所にとばされてしまう。そこであったDRFの生き残りや人間は人体改造といったレベルを超えた別の生命体だった。

超展開だがいつもの作品より説明が多いので理解できる。おまえのバイクはどんだけ硬いねん。といういつもの超アクションが展開されます。Blame!はその名の通り強力な銃、アバラもその名の通り強力な外骨格アクションがすばらしい。BAIOMEGAやっぱりバイクアクションが魅力。Blame!で都市の材料は「どこからともなく運ばれてくる重金属のペースト」とありましたが、その辺につながりそうで期待。

BLAME 1 (1) (アフタヌーンKC)
スパイスビーム
  • スパイスビーム
  • 日本文芸社(2008-02-18)
  • 日本文芸社
  • (著)深谷 陽
  • 定価:¥ 950
  • 新品価格:¥ 950
  • 中古価格:¥ 650
  • ASIN:4537107448

失業+失恋したばかりの青年「コージ」は偶然入ったタイ料理屋「チャーン」の料理に感動し、その場で調理師見習いとして働くことに。「5人は殺してそう」ないかついオーナーシェフにやたらと露出度が高いウェイトレス。そんな店にやってくる怪しい人々との日常と旨そうな料理の数々。

主人公は違えど、スパイシーカフェガールのほぼ続編。店がぶっ壊れるたびに名前が変わるんですな。基本的に絵が上手いんだけど、飯とか食ってる人の顔とかがホント旨そう。確実にタイ料理が食いたくなる。(パクチー食えないけど・・・)

一話完結型なのでもっと続けられたはずだけど掲載誌が休刊ということで一巻分でちょうど終了。くそっ、第三弾読みてぇ。

スパイシー・カフェガール

関連:P.I.P.

PHPマニュアルや以前書いたエントリーへのコメントで教えて頂いたcreate_functionトリビアのまとめ。(下記全部PHP4です)

1. create_functionで作った関数は無名じゃないし、どっからでも呼べる。

% cat lambda_1.php
<?php
create_function('', 'echo "foo\n";');
call_user_func(chr(0)."lambda_1");
% php lambda_1.php
foo

2. しかし、定義済み関数には出てこない。

% cat lambda_2.php
<?php
create_function('', 'echo "foo\n";');
print_r(get_defined_functions());
% php lambda_2.php | grep lambda
%

3. でもやっぱり存在するらしい。

% cat lambda_3.php
<?php
create_function('', 'echo "foo\n";');
var_dump(function_exists(chr(0)."lambda_1"));
% php lambda_3.php
bool(true)

4. create_functionで作った関数は参照が返せない。こんなのを作っておくと便利かも。

% cat lambda_4.php
<?php
function create_ref_function($args, $code) {
  static $n = 0;
  $name = "ref_lambda_".++$n;
  eval("function &".$name."(".$args.")"."{".$code."}");
  return $name;
}
$func = create_ref_function('', 'echo "foo\n";');
call_user_func($func);
% php lambda_4.php
foo

5. create_function内での関数名は一律__lambda_func。

% cat lambda_5.php
<?php
create_function('', 'echo __FUNCTION__;');
call_user_func(chr(0)."lambda_1");
% php lambda_5.php
__lambda_func

Have a good create_function life!

参考:1byte 参考:PHP: create_function – Manual

(Life Hack系みたいにキャッチーなタイトルを付けたかっただけなんです。知っても何の生産性も上がりません。すみません・・・。)

分かち書きとマルコフ連鎖使ったワードサラダクラス。Ruby版が見当たらないので書いてみました。

% irb --simple-prompt -r word_salad.rb
>> WordSalad.new("ホスティング先のWiseknotが無くなっちゃうのでMojaviJapanのページをドリホに移しました。ディレクトリコピーしてmysqldump流し込むだけであっさり移行完了。面倒だったらぺらいちぐらいのサイトにしようかと思ってたんですが移行できてよかったです。").cook
=> "ページをドリホに移しました。面倒だったらぺらいちぐらいのサイトに移しましたです。ディレクトリコピーしてよかったんです。面倒だったらぺらいちぐらいのサイトにしようかと思ってたです。面倒だったらぺらいちぐらいのサイトにしようかと思ってたんですが移行できてよかったんです。ディレクトリコピーしてたんですが無くなっちゃうのでMojaviJapanのページをドリホに移しましたです。"

悪用の可能性があるのでソース無しで。

圧縮新聞みたいな面白サイトを作れる一方でスパムサイトにも利用できる。技術は使う人次第ですなあ。

はてなのid:komagataをゲットしたことで他のサービスのid:komagataも欲しくなってきた。

livedoorとかね、komagata1111とかでかなりサムい。でもログイン何回失敗してもCAPTCHAとか出てこないんだよね。

idに使えるのって/[a-z0-9\_-]/の36文字かな?4~8文字のidだとして、1秒に1個試したら、

% irb --simple-prompt
>> ((36 ** 8) - (36 ** 4)) / (60 * 60 * 24 * 365)
=> 89456

89456年かー。

1秒に10リクエスト飛ばしたとしても約9000年かー。でも日本語の良い辞書があればいけそうだよねえ。 場末の漫喫から忘れ去られた匿名プロクシいっぱい通して・・・ってやらないけど!

ネットの犯罪って普通の万引きの方が割り良いのが大半かもなあ。

ブログファンってページさっき知りました。

ブログサービスのアクティブユーザーランキングがあるのがちょっと面白い。

require 'rubygems'
require 'open-uri'
require 'hpricot'

module BlogFun
  def self.active_user_ranking
    doc = Hpricot(open("http://www.blogfan.org/"))
    doc.search("div.hlf dl.service dd ol li").map do |li|
      li.inner_html.gsub(/<.*?>(.+)<\/a>(.+) 人$/, '\1\2').split(" "*2)
    end
  end
end

assocで引っ張ってくるのを書いてみました。使い所はほとんど無いんだぜ? (こっちに詳細あるけどめんどいので勘弁な!)

% irb --simple-prompt -r blog_fun
>> BlogFun.active_user_ranking
=> [["FC2ブログ", "106610"], ["アメーバブログ", "69881"], ["livedoor Blog", "61815"], ["Yahoo!ブログ", "52234"], ["ヤプログ!", "39962"], ["楽天ブログ", "34586"], ["Seesaaブログ", "31854"]]

アメーバブログが躍進してますな。

規約に「二次利用するときは引用元を明記してください」とあるので何かに使う時は注意してください。

いやぁっほう~~~!

id:komagataゲットしました。

だからって書くことないんだけども。

ホスティング先のWiseknotが無くなっちゃうのでMojaviJapanのページをドリホに移しました。ディレクトリコピーしてmysqldump流し込むだけであっさり移行完了。面倒だったらぺらいちぐらいのサイトにしようかと思ってたんですが移行できてよかったです。

旧システムの改修時とかにMojavi2で出来てて、リニューアルしようにも情報が皆無!とかいうことにならないために置いときます。