Jul - 30th

自分で出来る年金額簡易試算

Posted at 12:11 pm | Filed Under life

社会保険庁のサイトに「自分で出来る年金額簡易試算」というページがある。これまでに支払った年金の種類や期間を入力して、これから予想される年金の支払いプランを足せば、65歳から年間いくら支給され、80歳までに累計でいくらもらえるのかを出してくれる。

もうね、絶望的ですよ。これから超インフレになったり通貨切り下げになったりする可能性については考慮されていないので、なんか革命でも起きないか願うしかないです。

家のローンを計算すると、60歳前には返済完了する予定ではあるので、まあ雨風しのげる状態ではあるのだけれども、それ以降は慎ましい生活しか送れないなあ。ちょっとライフプランを考えてくる。

Read More>

Jul - 28th

子供の写真は何歳まで公開していいものか

Posted at 5:56 pm | Filed Under Family

最近、下の子の写真をよくここに公開しているのだが、子供の安全を考えるとどうかというのも考慮しておく必要はある。そういうテーマの有名なエントリもあった。

下の子の場合、

  • 赤ん坊なので容貌は今後大きく変化する
  • 出先で赤ん坊の顔を正確に見定めることは困難

なので、いくら顔写真を公開してもそれが即リスクにつながるとは考えにくい。また、赤ん坊の写真でオナニーする変態にデータを提供することになるといわれても、まあそれはいくら頑張っても防ぎきれないことではあるので、直接的な危害はないということで気にしない。

上の子の場合、もう小学校に通っているため、ここで公開した写真を見た人に個人を特定されるおそれが十分にある。そのためにこうむる不利益もあるだろう。例えば、ここで父親が好き勝手なことを書いているせいでいじめられるとか。

そのため、上の子の写真は公開しないことにしている。逆にいうと、親というのは基本的に親ばかなので、リスクがまだないのをいいことに、迷惑をかえりみることもなく赤ん坊の写真はがんがん載せまくっている。見ている方はどうか知らないが、載せている方はもうめろめろに悶え狂っている。将来、子供が見て嫌な気分になるかもしれないという話もあるが、だったら今だって毎日毎日チューされまくっているわけで、大きくなったらその不気味さに悶絶せんばかりになることだろうから、まあ諦めろとしかいいようがない。

Read More>

Jul - 28th

明日も遊ぶら

Posted at 5:29 pm | Filed Under Death, Family

かみさんの実家のドアにセミの幼虫がよじ登っているのを見つけた。ピンボケだが、セミは暗いところでしか羽化しないので仕方がない。

Wikipediaによればこうして羽化したセミたちが地上で飛び回るのは、野生のセミだとだいたい一ヶ月くらいといわれている。数日から一週間というのは、成虫の飼育が困難なためにうまれた俗説らしい。もっとも、詳細についてわかっているわけではないのだが、夏の終わりと共に姿を消すことから、だいたいそれくらいというのも外れてはいないはずだ。ちょうど子供たちの夏休みの期間、セミは成虫の姿となる。

数年間、土の中で孤独に暮らしてきたセミたちが、この夏の間だけ、自由に空を飛びまわって、別の固体と出会い、交尾して、産卵する。夏といえば人間もそんな感じで休暇になり、遊びに出かけ、出会いがあったり、別れがあったり、それぞれの人間ドラマを演じたりする。子供たちなら、永遠に続くかのような夏休みの日々を、朝から遊びに出かけて、喧嘩したり、仲直りしたりしながら、日が暮れる頃には元気に「また明日も遊ぼうな」と叫びあいながら、家に帰る毎日があるわけだ。

そして、セミの世界では、また明日と別れても、明日になったらみんながみんな死んでいたりするのである。

そんなセミの夏を、子供らの夏休みとうまくからめた佳作「約束の夏 おじゃるとせみら」は8月17日に教育テレビで放映される。かみさんは毎年これを観ておいおい泣いている。

とりあえず、明日になったらみんな死んでたというホラーな状況について書きたかっただけなのに暗くなってしまったので、関係ないがまめぞうでも載せておこう。

だいぶ首がすわってきた。

まつ毛がのびてきた。

「チューするんじゃねえよおっさん」と言いたげなまめぞう。

Read More>

Jul - 26th

長男、重症か

Posted at 1:31 pm | Filed Under Family

長男がおかしい。病院に連れて行くべきだろうか。

しかし、眼科なのか脳外科なのか神経内科なのか精神科なのか、どこに診せればいいのかわからない。どうしよう。心配だ。とにかく、重症なのは間違いない。

なぜなら、息子が下の二人が似ているといっているのだ。

綾瀬はるか 水田さわび

目が悪いのか、それとも「似ている」という概念が理解できないのか。そういえばあいつが学校で描いている絵はいつも超現実的な写実性のアバンギャルドな作風だ。ひょっとしたら、何か関係があるのかもしれない。

Read More>

Jul - 26th

live365のプレイリストが50曲になった

Posted at 10:12 am | Filed Under Music

手元にあるDRMのかかっていないMP3ファイルを適当に集めてLive365で流してみた。ステーションはこちら

今のところプレイリストはこんな感じ。

update: 以下も追加したよ
Marc Ribot & The Rootless Cosmopolitans
“Yo, I killed your God”
“Disposable Head”

Beat Happening
“Our Secret”

1.Ali Farka Toure - La Drogue
2.Alternative TV - Splitting In Two
3.Beat Happening - Bad Seeds
4.Blonde Redhead - 23
5.Blonde Redhead - Kazuality
6.Blonde Redhead - In Particular
7.Bob Dylan - It’s All Over Now Baby Blue
8.Can - Mother Sky
9.The Chameleons - Second Skin
10.The Chameleons - Perfume Garden
11.The Chameleons - Don’t Fall
12.The Chameleons - Second Skin
13.Dizzy Gillespie & Stan Getz - Bebop
14.DNA - New New
15.Einstuerzende Neubauten - Prolog
16.Eric Idle - Always Look On the Bright Side of Life
17.The Feelies - On the Roof
18.Folk Implosion - Natural One
19.Galaxie 500 - Ceremony
20.Gary Peacock - Vignette
21.Guster - The Sun Shines Down on Me
22.Half Japanese - Red Sun
23.Half Japanese - U.S. Teens Are Spoiled Bums
24.Jaco Pastorius - Chromatic Fantasy
25.Jimi Hendrix - Stone Free
26.La! Neu? - Intro
27.Leonard Cohen - So Long, Marianne
28.Leonard Cohen - Suzanne
29.Luna - Moon Palace
30.Luna - Indian Summer
31.Luna - Ride Into The Sun
32.Meat Puppets - Plateau
33.Neu! - Isi
34.Pale Saints - Sight of You
35.Pavement - Starlings Of The Slipstream
36.Pavement - The Killing Moon
37.Pere Ubu - The Modern Dance
38.Pink Floyd - Lucifer Sam
39.The Pop Group - She Is Beyond Good And Evil
40.Primus - Pudding Time
41.Primus - Jerry Was a Race Car Driver
42.The Residents - Constantinople
43.Snuff - Do Nothing
44.Snuff - I Think We’re Alone Now
45.Sonic Youth - Schizophrenia
46.Television - Marquee Moon
47.The Velvet Underground - Candy Says
48.The Waterboys - Old England
49.Wayne County & The Electric Chairs - Stuck On You
50.Wire - Outdoor Miner

何も考えないで集めた、ただの懐メロ。

Read More>

Jul - 23rd

A’s近況

Posted at 11:50 am | Filed Under Baseball

昨シーズンオフにダン・ヘイレンが放出されたのに続き、やっと怪我から復帰して今年は活躍していたリッチ・ハーデンが放出され、ついでにハーデンの怪我の際には先発に回っていたゴーダンまで一緒にトレード、そしてついに開幕投手のジョー・ブラントンまでトレードされていた。公式サイトでは「次は誰だ?」と題してクローザーのストリートの写真が掲げられていた。おそろしい。ビリー・ビーンNetSuite社の社外取締役としての紹介文)が燃えている。

一連のトレードで獲得したのは、ほとんどがメジャー・リーグでの実績のない選手ばかり。今日はメジャー2年目にフル出場に近い数字を出したことがあるが他はほとんど控えだった4年目のマット・マートンという選手がなんと4番バッターとして出場していたが、初打席は三振で5打数0安打。おまけに先発したのはほとんどが中継ぎで登板していたダラス・ブレイデン

お前ら本当に勝つ気はあるのか?そう思った向きも少なくないかもしれない。

だが、結果は8対1で東地区首位のタンパベイに圧勝。なんとかプレーオフ圏内の地区2位に留まっている。まったく理解できない。公式サイトのアンケートでも7割近い人がこの成績を期待以上だと感じている。オールスターを挟んで6連敗したことを意図的に無視すれば、まだちょっとくらいは期待できる。

Read More>

Jul - 22nd

仕様書について振り返る

Posted at 10:14 pm | Filed Under Work

以前、仕様書についてこんなことを書いていたのだが、結局プロジェクトが終わってみて、当時とはまた別の考え方をするに至ったので書き残しておく。

あのとき、仕様書についてこんな三カ条を掲げていた:

(1)実装の詳細は書かない
(2)全ての機能と機能のフローを記載する
(3)レビューの目的と期日、目的を明確にして通知する

一見、何の問題もないように思われるが、今では少し修正した方がいい気がしている。

まず(1)だが、当時は機能仕様書に実装の詳細は書くべきではないと思っていた。まあ、今でもそれはそうなのだが、しかし大事なことを付け加えるとしたら、結局それは書くことになる。なぜなら、納品されたドキュメントをチェックするだけの担当者がいれば、ツッコミを入れるとすればまずそこだからだ。やつらはとにかく足りないと言い立てるのが仕事なのだ。

(2)については、フローなんか頑張って書いても結局誰もがもっと詳細な情報を出せと言い出すに決まっているので、クラス図だのリレーション図だのああだこうだと作る羽目になり、フロー図なんてドキュメントの表紙の次にちょこっと載ってるだけの誰も見ない片隅の飾りにしかならなくなる。

(3)については、どんなに説明しようと、後になって「このプログラムの仕様はここが悪い」「あそこの作りこみが甘い」などなど、言いたい放題の後だしじゃんけんをされるに決まっているので、「だってあの時はみんなこれでいこうってOK出したよな?」と思っても、まあいい人ならそうだよねと認めてくれるかもしれないが、そうでなければ仕様の欠陥を見つけては鬼の首でも取ったように自分の手柄にしてしまうやつらの餌食にされる。

最初の打ち合わせの時に、期日までにレビューを完了してリクエストを返さない限り、希望する機能が他にあったとしても、そしてそれが自分の業務に欠かすことの出来ないものであっても、絶対に組み込まれない旨を想定読者全員に通知する。もちろん、本当にそうするつもりだ。何か機能を組み込み忘れたせいで製品が売れなかったら、それはリクエストしなかった人の責任になる。

実際にこのように通達していても、一ヶ月もしない内に手のひらを返したように、自分ならもっとうまくやれたと騒ぎ立てる輩が必ず現れる。もちろん、全て自分も承認し、何もリクエストしなかったことなどきれいさっぱり忘れている。

うちの会社にはそんな意地悪な馬鹿野郎はいないよ、という方は、それでいい。自分の職場に誇りをもつべきだし、明日からは周囲の人たちにもっと親切にした方がいい。

というわけで、上記の三カ条を修正するなら、

(1)奴らにフォーマットを作らせろ

まず、フォーマットにケチをつける奴がいるので、そいつを封じ込めないと後で余計な作業が増える。雛形がないと作業できない、と本気で訴えるべきだ。もちろん、雛形を作る担当は、ケチをつけてくる奴を指名する。もし雛形を作ってもらえないなら、フォーマットについては絶対に意見を受け付けられないと明言するか、先にフォーマットだけ作ってこれで作成すると承認を取っておく。

(2)後だしジャンケンには絶対に喰らいつけ

物事は最初にゼロから作る方が絶対に大変なのであって、後からそれを元にああだこうだと意見するのは馬鹿でもできる。それなのに後だしジャンケンしてるやつらの方が優位に立つなんて状態を作らせてはいけない。「だったらあなたが自分でこの仕様を承認する前にそういえばよかったじゃないですか」と遠慮なく言うべきだ。プログラムが完成しテストが進む頃に「改善要望一覧」をちゃちゃっとまとめておくのも効果的だ。どうせみんな真剣に仕様を検討するのはプログラムが出来上がってきて実際に動くものを見てからなので、そのときにあがってくる意見を適当な一覧表にみんなまとめておけば、嫌な意見もみんな「改善要望に追加しておきます」で一発回答できるし、後からゆっくり優先順位を決めるミーティングでも開催してスケジュールも余裕をもって調整できる。それに、もっと大事なことに、もし現状の仕様でリリースできないという事態になれば、必ず裏から上司に手を回して、自分はこんな問題を見つけた、あいつが担当ではこのプロジェクトはうまくいかないとこそこそ報告しまくる奴が暗躍するので、そんなのは改善要望で吸収していくと明言して、問題点の報告を自分に向けて一本化することでそういうチャンネルを潰すことができる。上司だってそんな面倒くさい奴なんか相手したくはないはずだ。そこで、自分に向かってきた非難については、遠慮なくさっきのせりふ「だったらあなたが自分でこの仕様を承認する前にそういえばよかったじゃないですか」を面と向かって向かって言ってやろう。これは決して自分だけの責任ではないし、自分が一番大きな責任を負っているわけではないと自分を納得させることが大事だ。

というような、政治的に大人な対応が必要になるケースもあると学んだので追記しておく。

Read More>

Jul - 17th

Postgres-R

Posted at 8:15 pm | Filed Under PostgreSQL

Twitter経由で知ったのだが、Postgres-Rというレプリケーション用の拡張がある。面白そうなので概要を読んだ。以下のように説明されている。

Postgres-R概要

Postgres-Rクラスタの構造

Postgres-Rは高速に相互接続された「何も共有しない」クラスタ群として設計されています。そのためギガビットイーサネットで接続されたAMD Opteronマシンのようなありふれたハードウェアで構築することができるクラスタになっています。Postgres-Rノード間の通信は全てレプリケーショングループを提供するグループコミュニケーションシステム(GCS)を介して行われます。ひとつのデータベースが各グループにレプリケーションされることになります。

グループに追加された最初のノードはまずレプリケーションを開始し、最初のデータを提供します。その後で他のノードがグループからのレプリケーションを受け付けることができるようになります。各ノードは稼動状態になる前にリカバリシステムにより初期化されます。リカバリ中にのみリカバリ提供側とリカバリを受ける側のノードとの違いを認識することができますが、通常は全てのノードは同じ内容です。

Postgres-Rノードのコンポーネント

Postgres-Rの主なコンポーネントはレプリケーションマネージャです。これはPostgres本体とは別に追加されたプロセスで、主にメッセージの調整を行い、グループコミュニケーションシステムやトランザクションを実行するバックエンドとの接続を調整します。

Postgresにはトランザクションを扱うバックエンドのプロセスがあります。それぞれのバックエンドは一度にひとつのトランザクションしか扱うことができません。リモートのノードからのトランザクションをリプレーするために、レプリケーションマネージャはレプリケーションマネージャの管理下にありクライアントとの接続はない「リモートバックエンド」というものを開始します。それに対して、ローカルのトランザクションを扱っているバックエンドのプロセスたちは「ローカルバックエンド」と呼ばれ、クライアントと直に接続されています。

レプリケーションされたトランザクションのライフサイクル

Read-onlyのトランザクションはローカルで扱われ、通常のPostgresの単一ノードの操作と何ら変わらないものとみなされます。トランザクションがデータを書き込むと(UPDATE、INSERTまたはDELETEなどのSQLコマンド)、新しいデータがすぐに書き込みセットとして集められます。ローカルバックエンドはトランザクションを処理し続け、クライアントからコミットリクエストを受け取るまで書き込みセットに変更を集め続けます。

クライアントにコミットを返す前に、ローカルバックエンドは書き込みセットをレプリケーションマネージャに送ります。レプリケーションマネージャは順に並べられたグループコミュニケーションシステムのチャンネルを使ってそれを順々に全ての他のノードに送信します。トランザクションを開始したローカルバックエンドは、書き込みセットが戻されたところでコミットできるようになります。自分でもリプレイするように書き込みセットを受け取った他のノードでは、レプリケーションマネージャがリモートバックエンドのプロセスを開始して書き込みセットをそれに引き渡します。するとリモートバックエンドは書き込みセットにあるデータからトランザクションを自分でもリプレイします。

衝突の扱い

Postgres-Rでは書き込みトランザクションはシリアライズされて元と同じ順序でレプリケーションクラスタを共有する各ノードに配信されます。これによりノード間の同期と一貫性が保証されます。トランザクションがあるノードに正常にコミットされたならば、他の全てのノードにも同じくコミットされます。そのため、他のノードの処理を待つことなくそれぞれのノードがフルスピードで稼動することが可能になります。ネットワークのトラヒックを可能な限り抑えるためにトランザクションの変更だけが転送されます。

この手法はシリアライズ可能なPostgresのトランザクションレベルで最大の効果を発揮します。READ COMMITTEDモードでは通常の単一ノードの運用時と同じトランザクションセマンティクスを提供するためにロックもレプリケーションされます。そのためレプリケーションするデータベースシステムのほとんどでボトルネックとなるであろうネットワークトラヒックの増大を引き起こします。

というわけで、実際の動作をさせてみないとなんともいえないが、面白そうな存在なのでちょくちょくチェックする。

Read More>

Jul - 17th

PHPのセキュリティ修正

Posted at 4:59 pm | Filed Under PHP, Security

今朝デスクトップのCentOSでPHPのパッケージがPHP-5.1.6-20.el5_2.1に更新されていたので調べたら、RedHatからセキュリティ関連の更新がかかっていた。

解消されたのは以下の問題:

escapeshellcmdとhtmlspecialchars、htmlentities関数がマルチバイト文字列を正しく扱うことができず、クォート処理を回避されてしまう問題

add_rewrite_var()やsession.use_trans_sidを利用してリンク文字列やフォームに自動的にセッションIDを付与している場合、「ACTION」を含むフォームで外部のウェブサイトを飛び先に指定しているのにセッションIDを付与してしまう問題

fnmatch関数(聞いたことがなかった)で引数の文字数制限がないためオーバーフローを引き起こされる問題

randやmt_rand関数で生成される乱数が予測可能になっていた問題

とのこと。

しかし、BugtraqをみるとPHP-5.3.2以前のバージョンにある不具合だったりするのに、RHEL4のパッチが出ていないのがよくわからない。4.3.9系のパッケージが入っていたような気がするのだが。

Read More>

Jul - 16th

iPhoneのSIMカードはSoftBank 3G端末では認識しない、けど…

Posted at 9:58 pm | Filed Under Apple, Fun, mobile

SoftBankのサポートページのPDFファイルにはこんな記述がある。

・専用USIMカードはSoftBank3Gに挿しても使用することはできません。
・SoftBank3Gへ戻す場合には、USIMカード交換(有償)が必要となります。

確かに実機で検証するとこんなエラー画面になる。

ここまではSoftBankの説明どおりである。

実にけしからん。iPhoneなんかやめた、と思い切って他の端末を友達から安く買ったという人はいったいどうすればいいのか。消費者の見地からこれは実に見過ごせない由々しき問題である。

ところで、SoftBankといえばその前身はVodafoneである。

SoftBank3Gではだめだというなら、ではVodafoneならどうなのだろう。誰もがそんなことを思うことには疑いの余地はない。

というわけでさっそく実験。iPhone 3GのUSIMカードを取り出して適当なVodafone 3Gの端末に入れて起動してみる。

起動した。となりの黒い箱は犠牲となったiPhone。

起動しただけかもしれないのでさっそく電話する。

通話できた。

ちなみにSIMロックが解除されたヤクザな携帯端末もちゃんと起動する。

もちろん、iPhone 3GのSIMロックを解除したわけではないので、念のため。第一、iPhone 3G専用をうたっているあのSIMカードは、そもそもiPhone 3Gを買った人じゃないと手に入らないので、何かの犯罪を教唆しているわけでもない。

あ、パケット通信はできないよ。

あと、番外編としての豆知識。

1 iPhone3Gは電源が入ったままSIMカードを抜いても大丈夫だった。
2 SIMカードをドックの口に挿す人間は必ずいる。
3 iPhone 3GとかSIMロック解除とかいうキーワードはすさまじくSEO効果が高い。

何かを勘違いしてアクセスしてきた人たちにはサービス画像。

Imaginary iPhone

Imaginary iPhone

iPhone実機が買えなかったので想像して描いたiPhone。

Read More>

keep looking »