たつをの ChangeLog : 2010-08-15

4,5年前からの知り合いのIT美女子のゆみちゃん(@yumikingdiary)が、なぜかニッセンのファッションコンテストにチャレンジ中。

- nissen, BEST STYLING CONTEST 2010
http://www.best-styling.jp/
- Sweet部門、63番 津久井 有美
http://www.best-styling.jp/vote/?category=sweet
画像

「nissen, BEST STYLING CONTEST 2010」ってのは何かというと、ウェブ投票でニッセンの新作商品のファッションショーのモデルさんになれるっていうコンテスト。

その道程は…

【1次審査】
自分のコーディネートによる自分写真を送信しての「書類審査」。

【2次審査】
東京都内の開場に集まってカメラマンがプロの撮影。「面接審査」みたいなものか。

【3次審査】
3次審査(最終審査)がウェブでの公開投票。
twitter を使っての応援もできる。今風である。

で、それを通過すると…
ニッセン2010秋の新作商品をコーディネートしていただき、8月21日(土)にスパイラルホール(東京・青山)にて香里奈と一緒にショーに出演していただきます。会場にはたくさんのマスコミの方々が取材に来ています。
あなたの写真がWEBや雑誌などのメディアに掲載されるかも!?
(http://www.best-styling.jp/flow/index.html)

ゆみちゃんは2次審査を通過して現在ウェブ公開投票にノミネートされています。
さすがIT女子だ!
と思ったけど、2次審査まではITはまったく関係ないや。

しかし、3次審査のウェブ投票ならまさに得意分野?
IT女子だからこれって超余裕!

…というわけでもなく、コツコツとがんばっている模様。

ええと、そんなわけで、みなさんもぜひ応援してあげてください!

朝一で渋谷のビックカメラへ行き、iPad 用の保護フィルムを買いました。

レイアウト iPad(2010年1月発表モデル)用ギラツキ防止AG保護フィルム RT-PA1FS1/AG


シャワーを浴びたあとの湿気が多くてホコリが舞ってない浴室で慎重に貼りました。
一度「ペコッ」と折れ目がついてしまった箇所に小さな気泡ができてしまったのですが、ホコリは入らずにすみました。
めでたし、めでたし!

関連記事


- [を] iPad をゲットしました!こりゃいいわ![2010-08-14-3]
- [を] iPhone用シリコンジャケットを買った![2009-08-12-2]
(保護フィルム付きだった。)
この記事に言及しているこのブログ内の記事

小さくてかわいいクマのビスケットがローソンで売っていたのでついつい買ってしまいました。これはかわいい!

ミニくまビス ミニくまビス

味は想像通りのはちみつクッキー。
一瞬で食べきってしまいました…。

商品名の「ミニくまビス」もかわいい感じ。
最初はビス(ねじ)かと思っちゃったけど。
パッケージの写真を遠くから見るとビスっぽいものが入っていそうだし(ないない)。

photos by :

Canon デジタル一眼レフカメラ EOS Kiss X2


Canon EFレンズ 35mm F2


この土日の主なできごとのメモ。

8/13(金)


午前半休。

朝、妻の定期検診のために病院へ。
切迫早産でそのまま入院となる[2010-08-13-1]
当座の荷物を取りに帰って、病室に届けて、そのまま仕事へ。

仕事が終わって、会社から病院へ。
病院で妻の面会。

8/14(土)


昼頃起きる。

キャベ玉チキンラーメンで朝昼兼用ブランチ。
キャベ玉チキンラーメン。朝が遅めだったので昼は軽く。

洗濯と布団干しなどの家事いろいろ。

iPad が届く[2010-08-14-3]

病院で妻の面会。
荷物の不足分をこまごまと持って行ったり。

帰宅して iPad の設定など。

病院で妻の面会、その2。

8/15(日)


iPad用保護フィルムを買いに自転車で渋谷ビックカメラへ。
開店までの間、隣接するマクドナルドにて朝食。
ビックカメラ開店と同時にフィルムを買って帰る[2010-08-15-2]
朝帰りの人にまじって渋谷で朝マック

風呂場(浴室)で散髪する(前回の散髪は5月[2010-05-16-2])。
鏡を2枚使って自分で髪を切る。
結構大変で、しかも後ろはきれいに揃えられなかった。

そのままシャワーを浴びたのち、先ほど買ってきたiPadフィルムをiPadに貼る作業。
湿気が多い場所でやるのがホコリの入り込みを防ぐこつ。

お昼は明星中華三昧の冷やし中華。
ざっくりと大雑把に作った。
大雑把な冷やし中華(明星中華三昧)完成!頂きます!

15時ごろ持って病院へ行く。
iPad を使って、マタニティ、ベビー用品を通販サイトで発注するなど。
入院しつつiPadを使う妻

20時過ぎに帰宅。

桃が好きです。
桃のジュースも好きです。
不二家ネクターも好きです。
最近、不二家ネクターのサワーが出ました。

不二家ネクター NECTARサワー スパークリングピーチ

- ネクターサワースパークリングピーチ | サッポロビール
http://www.sapporobeer.jp/nectar/

シュワッとしてて酔っ払うネクターです。
妊娠中の妻は飲めないので私だけが楽しみました!
(妻は普通の不二家ネクターを飲んでおります……。)

このブログの記事専用のURL短縮の仕掛けを作りました。
tinyurl.com や bit.ly などのURL短縮サービスの「たつをの ChangeLog」専用ロジックです。
特徴はデータベースを使っていないこと。
ロジックのみで圧縮、展開ができるのでメンテフリーで超軽量です。

ロジックの解説


このブログは chalow というブログツールを使っているのですが、各記事の URL の最後は日付+その日の通し番号となっています。

例えば
「http://chalow.net/2009-01-02-3.html」

「2009年1月2日の3つ目の記事」
を表しています。

このブログでは1日あたり24記事も書くことはないので、何個目の記事を表す通し番号は「時」とみなすことにします。
つまり
「2009年1月2日3時」
となります。

で、「2009年1月2日3時」を10進数の数値にします。
と、その前に chalow でのブログは2000年からなので、年は2009から2000を引いて9にしておきます。
あと計算のため月、日、時はそれぞれ1マイナスしています。
「9年0月1日2時」になります。

さて10進数にしてみます。

((9 x 12 + 0) x 31 + 1) x 24) + 2 = 80378

まあ、ユリウス通日みたいにどこかを基準にした経過日数に変換しても良いのですが、面倒だし本質ではないので上記の式でざっくりと。

これを64進数に変換します。
使う字は下記の64文字。小さい順に並べてあります。
Base64っぽい感じです。

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789-_

「2009年1月2日3時」→「80378」の64進数変換結果は下記となります。

Tn6

つまり、 「http://1.jp/」がURL短縮サイトとすると、
「http://chalow.net/2009-01-02-3.html」

「http://1.jp/Tn6」
に圧縮されます。

戻すときは今の手順を逆に進めばOKです。
データベースは不要ながら、なかなかの圧縮率です。

コードと実行例


サンプルコードと実行例です。

■コード(tinytcl.pl):
#!/usr/bin/perl
use strict;
use warnings;

my ($y, $m0, $d0, $h) = (2009,1,2,3);
print "ID(DATE): $y, $m0, $d0, $h\n";

my $ec = clid_encode($y, $m0, $d0, $h);
print "Short CODE: $ec\n";

($y, $m0, $d0, $h) = clid_decode($ec);
print "ID(DATE): $y, $m0, $d0, $h\n";

sub clid_encode {
    my ($y, $m, $d, $h) = @_;
    $m--; $d--; $h--;
    $y -= 2000 if $y >= 2000;
    my $ec = (($y * 12 + $m) * 31 + $d) * 24 + $h;
    my $str = "";
    while ($ec > 0) {
	my $v = $ec %64;
	my $c = substr("ABCDEFGHIJKLMNOPQRSTUVWXYZ"
		       ."abcdefghijklmnopqrstuvwxyz"
		       ."0123456789-_", $v, 1);
	$str = $c.$str;
	$ec = int($ec / 64);
    }
    return $str;
}

sub clid_decode {
    my ($str) = @_;
    my $ec = 0;
    foreach my $c (split(//, $str)) {
	my $v = index("ABCDEFGHIJKLMNOPQRSTUVWXYZ"
		      ."abcdefghijklmnopqrstuvwxyz"
		      ."0123456789-_", $c);
	$ec = $ec * 64 + $v;
    }
    my $h = $ec % 24;
    $ec = int($ec / 24);
    my $d = $ec % 31;
    $ec = int($ec / 31);
    my $m = $ec % 12;
    $ec = int($ec / 12);
    $m++; $d++; $h++;
    $ec += 2000 if $ec < 100;
    return ($ec, $m, $d, $h);
}

■実行例:
% ./tinytcl.pl
ID(DATE): 2009, 1, 2, 3
Short CODE: Tn6
ID(DATE): 2009, 1, 2, 3

たつをの ChangeLog
Powered by chalow