2012.01.27
後先考えずに購入したPS Vitaの3Gバージョンで100h/180日無料のdocomo契約が付いてくるやつなんですけれども、ちょうど1ヶ月たったので、あとどれぐらい時間が残っているかなーとか思ったら、81時間38分残っていると出る。

▲結構使ったね
みんなといっしょしかやってねえぞ。100h/6ヶ月って結構使い切れてしまうものなのではないか。
180日後または100時間使いきったあたりで延長すると、4980円かかるんですよね。180日前に使いきってしまうなら、イオンSIMとかも検討したほうがいいのかもしれません。
2012.01.27
午後 11:29
[ゲーム]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.26
昨日書いた、
HTML::AccountAutoDiscoveryがはてなブログbetaに対応していない件
で、HTML::AccountAutoDiscoveryを使わなければよくね? 的なアプローチではてなブックマークWebHook用投げ銭スクリプトがこちらとなります。
Filename: throw.cgi
#!/usr/bin/perl
# throw.cgi ブックマークしたら投げ銭します。
# 説明:http://blog.dtpwiki.jp/dtp/2009/06/web-hook-645b.html
# 2009-06-07 ver 0.0.1 ファーストポスト
# 2009-10-03 ver 0.0.2 最新のMechでも動くように
# 2012-01-26 ver 0.0.3 はてなブログ対応
use strict;
use warnings;
use CGI;
use Config::Pit;
use Encode;
use HTML::AccountAutoDiscovery;
use utf8;
use WWW::Mechanize;
# 初期設定
my $url_sendpoint = 'https://www.hatena.ne.jp/sendpoint';
my $send_point = 10; # 送信するポイント(はてな手数料別)
my $login;
my $config = pit_get('hatena.ne.jp');
die "not preset account data in Pit." if !%$config;
my $my_id = $config->{id } or die 'id not found.';
my $password = $config->{password} or die 'password not found.';
my $auth_key = $config->{auth_key} or die 'auth_key not found.';
my $q = CGI->new;
my $mech = WWW::Mechanize->new;
$mech->agent_alias('Windows IE 6');
{ # メインルーチン
# 認証
if ( $q->param('key') ne $auth_key ) {
die "Authentication failed";
}
# メソッド確認
if ( $q->param('status') eq 'add' ) {
# エントリーの情報
my $req = $q->Vars();
nagesen( $req );
}
# はてなブックマークWeb Hook用リザルト
print $q->header('text/plain');
print 'ok';
}
exit;
sub nagesen {
my $req = shift;
my $url = $req->{url};
my @account = HTML::AccountAutoDiscovery->find( $url );
unless( @account ) { @account = find_hatenablog( $url ); }
sub find_hatenablog {
my $url = shift;
use LWP::Simple;
my @r;
my $c = get( $url );
$c =~ s/.+(<html.+?>).+/$1/so;
if ( $c =~ m{data-admin-domain="http://blog.hatena.ne.jp"} ) {
if ( $c =~ m{data-author="(.+)"} ) {
push @r,{account => $1, service => 'http://blog.hatena.ne.jp' };
}
}
return @r;
}
foreach my $item ( @account ) {
my $send_id = $item->{account}; # account name
send_hatenapoint( $req, $send_id );
last; # HTMLに複数のIDを埋め込んでいた場合最初の人の分
# だけ対応(同じ人がID埋め込みまくるとポイント
# 送信しまくるのを防ぐ)
}
return;
}
sub login_hatenapoint {
# はてなにログインします
$mech->get( $url_sendpoint );
# ログインを促す画面に遷移済
$mech->follow_link( text => mech_encode('ログイン') );
# ログイン画面に遷移済
$mech->set_visible( $my_id, $password );
$mech->submit();
# ログイン済み画面に遷移済
$mech->follow_link( text => mech_encode('こちら') );
# 投げ銭画面に遷移済
$login = 1;
return;
}
sub send_hatenapoint {
# はてなポイント送信をします
my $req = shift;
my $send_id = shift;
unless ( $login ) {
login_hatenapoint();
}
# ログイン済みの状態
$mech->get( $url_sendpoint );
# はてなポイント送信のページに遷移済
# ポイント送信メッセージ組み立て
my $send_message = decode('utf8', $req->{title})
."($req->{url}) をブックマークしました。投げ銭いたします。"
.'投げ銭スクリプト:http://svn.coderepos.org/share/lang/'
.'perl/misc/hatenabookmark_webhook_nagesen/';
# ポイント送信用パラメータ入力
$mech->set_visible(
$password, $send_id, $send_point,
undef, # 匿名にしたい場合は1
mech_encode( $send_message )
);
$mech->submit();
# confirm画面に遷移済
return unless $mech->title() eq mech_encode(
'はてな ポイント付きメッセージ送信確認'); # 送信確認ページ?
$mech->click_button( value => mech_encode('送信する') );
#open my $fh, '>', 'log.html';
#print $fh $mech->content();
#close $fh;
return;
}
sub mech_encode {
# WWW::Mechanize 1.21_01以降の挙動に対応
my $str = shift;
if ( ( $WWW::Mechanize::VERSION ) < 1.21 ) {
$str = encode( 'utf8', $str );
}
return $str;
}
__END__
2009年10月に一度改定していて、WWW::Mechanizeのバージョンによる差異を吸収していたんだけれども、
M.C.P.C.: はてな自動投げ銭スクリプトを最新WWW::Mechanizeに対応させたが、Mechの動作が変わる境目のバージョンがわからない
その分はCodeReposにコミットするの忘れていたので今回はちゃんとコミットしたよ。
http://svn.coderepos.org/share/lang/perl/misc/hatenabookmark_webhook_nagesen/
2012.01.26
午後 11:28
[Perl]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.25
僕がはてなブックマークでブックマークをすると、はてなブックマークのAPIから僕のサーバ上のCGIにコールバックして、そのページがはてなアカウント所持者であった場合、はてなポイントをプレゼントしているのです。
ブックマーク対象ページがはてなアカウント所持者であるかどうか、というのを判別するために
HTML::AccountAutoDiscovery [search.cpan.org]
というモジュールを使っていまして、一定の書式でHTMLにアカウント名を埋め込んでおけば、このモジュールでアカウントを取得でき、無事にポイントをプレゼントできるという仕組みです。
しかし、この前から運用が始まったはてなブログbetaでは、このHTML::AccountAutoDiscoveryモジュールではてなのアカウント名が取得できません。
まあ、2005年の仕様を2012年のシステムに組み込まなかったということだと思うし、モジュール作った人ははてなを離れてGREEにいるわけだし、そういう意味でこのモジュールを使うのも時代遅れ、ということなのかもしれません。
ともあれ、はてなブログbetaであれば、ルート要素であるhtml要素にdata-author属性として記述されているので、パーザを動かすまでもなく正規表現でぶっこ抜けばいいですよね。
2012.01.25
午後 10:42
[Web]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.24
僕はこれでも一応エンジニアのはしくれだと思っているのですけれども、エンジニアにとって、自分の作ったシステムと同じものは残っても、それを構成するアーキテクチャが断絶すると悲しくなりませんか?
今日、ちょうど僕の周りの話で、過去に僕が作ったシステムのリストラクチャ(スクラップ&ビルド)がされるという話をされまして、確かに最近エンジニアリングとは縁遠いところにいるのですけれども、来るべき時が来たという感じがしました。
もうちょっとコンセプトを伝えることに力を注ぐべきでした。ひとまず、無念、とつぶやくほかない。
2012.01.24
午後 11:28
[日記・コラム・つぶやき]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.23
あるのが当たり前だと思っていたものが急に無くなると困ることってありますよね。
昨日、会社できている仕事着も含めた洗濯物をコインランドリーで乾燥機かけて、今朝仕事着を会社できてみたらファスナーの引っ張る金具(スライダーというそうです)がなくなっていた。やばい!
とりあえず、手でファスナーをぱちぱち留めて、上部はクリップで固定してごまかしましたが、そのうち社長にばれるなー
というわけで、さっきコインランドリーにもう一度行ってみたのですが当然あるわけないわな。掃除のおじさん捨てたよな。
おそらく1ヶ月くらいしたらファスナーを手で締めるのもうまくなっていると思います。役に立たない技術ばかり身に付くな……
2012.01.23
午後 11:12
[日記・コラム・つぶやき]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.22
戦姫絶唱シンフォギア面白いね! そのうちチバソングとかいう単位が出てこないか不安です。
でも、MS Pゴシック使っているので話題ですね。

▲コメントと同じ書体にすんな
Windows 95時代のMS Pゴシックは、大文字のI(アイ)にはセリフが付いていなかったのですが、今のMS Pゴシックは、セリフつきです。これって、大文字のI(アイ)と小文字のl(エル)が区別付かなかったから改良したんですよね。でも、サンセリフ書体なのにデザイン的にはおかしい。

▲Windows 98以降のMS Pゴシックはセリフが付いていてうざい
こうするべき。

▲セリフをとった
そもそも面倒だからMS Pゴシック使わなければいいのにね。
2012.01.22
午後 11:19
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.21
よく週末に寿司屋に行くのですがそこの寿司屋さん値段高いので一人で行く時には寿司を頼まないわけですけれども(おめえ何しに行くんだよ)、そこのマスターがゴルフゲームが好きだというので、iPadにLet's GOLF 3を入れて持って行っているわけでございます。
ところで、幼少期の記憶というのはのちの性格に強く影響するもので、父が週末に釣りをやったりゴルフをやったり麻雀をやったりというのを見ていたもので僕は逆に釣りもゴルフも麻雀も嫌いになったのですけれども、今になってみてみるとこれ全部接待のために覚えたやつなんですね。そういう父は今はリタイアしてトマト作ったり鶏の卵売ったりして暮らしています。きいたれば、若いころは鳩レースが趣味だったとか。今の暮らしで長生きしてもらいたいものです。
そんで、ゴルフ嫌いな僕がゴルフゲームを接待用に入れているわけなのですが、このLet's GOLF 3は、どうやらゲーム内通貨を稼がないと先のホールまでプレイできないらしく、寿司屋のマスターはいつも途中でゲーム内通過がなくなってしまいプレイが終わってしまう。稼ぐ方法ねえかなーと思って検索したら、
「Let's GOLF3」を完全無料で遊ぶ方法 - だいたい日刊ぱぱ~ん [papaaaan.posterous.com]
ああ有料前提なのね、とか思いつつ、書かれている内容を実行するのはとても面倒であることがわかりました、第一ゴルフ嫌いなんで。
あしたから、一日一回ゲーム起動してポイントためることにします。
2012.01.21
午後 06:11
[ゲーム]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.20
強力なプラスチック用接着剤が必要になって、ホームセンターのコメリに行ったのですけれども、ワゴンにとても安価なDVDが入っていたわけで、「どうせ版権切れものだろー」とか思ったら普通にレンタル上がりのもので、よく見たらアニメ全巻パックとかもあったので、見て見たれば、ToHeart2があったので、買ってきた。1話当り152円。ニコニコ動画の価格帯に近いかかな、とか思ったけどもふつーにマンガ倉庫や万代書店に行けば腐るほどありそうで値段的に果たして安かったかどうかわかりません。
ToHeart2における僕の推しメンは
∧_∧ ┌────────────
◯( ´∀` )◯ < 僕は、笹森花梨ちゃん!
\ / └────────────
_/ __ \_
(_/ \_)
なのですが、その話をすると皆一様に目をそらし後から「黄色削除パッチ」なるURLのつぶてが投げつけられてくるので、みんな塩素系と酸の洗剤を混ぜて塩化水素でひどい目に合った壮絶な経験の持ち主なんだと思います。同じオカルト系なのに芹香先輩となんでこんなに差がついた!
2012.01.20
午後 11:39
[アニメ]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.19
本物そっくり! ウェブブラウザで動くPhotoshopシミュレータ : ギズモード・ジャパン [www.gizmodo.jp]
を見てですね、昔、「DTPソフトのメニュー画面だけ動くシミュレータ」をつくろと思ったことがあることを思い出しました。
その昔、個人持ちのCreative Suiteを会社のPCに入れてはならないというお達しが出て(まあ当然だわな)、PCからCS3を抜かれたのに、顧客サポート業務に任命されて、「Photoshopの操作ができないのにPhotoshopのことを聞かれる」というおにすけな環境に置かれたことがあります。
「Photoshopがなければ、Photoshopもどきを作ればいいじゃない。」とか言って、メニューのキャプチャをとりまくっていたのですが、その後Creative Suiteが用意されたとともに顧客サポートの任も解かれたので、もー頭にきてキャプチャーを捨てた。
というわけで、リンク先のような機能の再現までは要りませんが、Adobeソフト群のメニューとダイアログの表示までできるウェブサイトがあるとすこぶるありがたいと思いますので、Adobeさんにはぜひ用意していただきたいものです。
2012.01.19
午後 11:16
[DTP]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
2012.01.18
今日はServersMan@VPSの仮想サーバがすこぶる重かった。LoadAverageを見たら15とか出よる。15CPUとかじゃないので当然異常なわけですけれども、同じ物理サーバに収容されていると思われる別の仮想サーバでも、LoadAverageが平均2~3。こっちは閑古鳥サーバなので、httpもそんな忙しいわけではなかったのにもうCPUを使いきっているっていうのはおかしいのです。
LoadAverage15を叩きだしたサーバはDTPWiki.jpやら、HWNDBasedPanelView.comとかを担当しているサーバなのですけれども、httpがまともに動かないので、httpdを停止させてみたら、LoadAverageが3~5に収まっている。そして、大量にディスクに書き込む系スクリプトがいつまでたってもメモリに残っている。これは、異常だ!
更に、コマンドラインでTABキーを押してコマンドの入力保管をすると、だんまりになる。どうやら、ストレージとのI/Oが入ると途端に時間がかかるような状態になっている模様。そういう意味では、httpdなんか、コンテンツをサーブするためにストレージから読み込むと同時に、ログを書き込むためストレージに書き込むわけで、結構アクセスが多いものですから、こんなに負荷が上がっていたのも納得です。
「原因は我にはなく、仮想サーバのストレージI/Oがおかしくなっているからである。」
原因がわかってしまっても、これは手が出ません。ServersMan@VPSのほうで何とかする問題である。ということで、こんなこともあろうかと用意していたAmazon EC2のTokyoリージョンのAmazon Linux AMIサーバに接続します。
続きを読む... "EC2に多段でリモートログインするようにしていたが1段目のServersManがこけたら困るじゃないか"
2012.01.18
午後 11:23
[Linux]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)