トップ 最新 追記

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|

2008-03-01 :-)

_ 朝ったー

0700 起床。チャリったー。多摩川河川敷にて河津桜が咲いてました。

_ [桜庭一樹] 2/24 放送の桜庭一樹な情熱大陸を見た

( via 桜庭一樹オフィシャルサイト Scheherzade - Diary )

桜庭一樹さんの作品は GOSICK、「砂糖菓子の弾丸は撃ち抜けない」[ 20041113#p07 ]、「推定少女」[ 20041102#p07 ]を読んだくらいしか知らないのだけど( 全部ライトノベルですね )名前だけは知ってるので録画して見ました。ハサミの形をしたヘアピンがツンを表していました。読書は 1 年で 400 冊、1 日 1 冊。読むの速いです。

「書いたら出ていってしまうのでたくさん読むんです」

_ おひる

アンチョビー風味スパゲティ( ref. 365日やっぱりスパゲティ p.8 )

_ [おやつ][みそ饅頭]おやつ

みそ饅頭。能登紀行のお土産。

_ [おやつ][柿の種カフェオレ味]おやつ

柿の種カフェオレ味。能登紀行のときの途中の SA でも見かけました。

_ [おやつ]おやつ

繭のお菓子。中国土産らしいです。

_ [自分の仕事をつくる]自分の仕事をつくる

仕事とはそもそもなんだ? と考える本です。

5 年前に読んでたら感動したかもしれません。

もしくは NHK プロフェッショナル仕事の流儀 を見るのもいいです。

4794965850


2008-03-02 :-)

_ 買い物

@秋葉原

SATA ケーブルを買ったり。

_ [神田ベローチェ]ちょっと休憩

@神田ベローチェ

08030201.jpg

_ [][]飯

蔵で飯。

miwarin、Moto、Namiki。

ジンベエザメと握手しよう打ち合わせ。

さくさく

_ [ロマサガ]燃えよロマサガ2:アルファルファモザイク

( via しばたさんのブックマーク )

秋葉でロマサガ2を買って来て、今やってるんだが
前の持ち主のセーブデータが残ってたんでラストダンジョンに出陣したら…メンバー全員男なのに※テンプテーション覚えてないんだ
これ…クリア出来たんかな?
無理だよな?

ロマサガをプレイしたおかげで常にセーブデータを二重化する習慣がつきました。こんな使い方。

  • ダンジョンに入る前のセーブデータ
  • ダンジョン中のセーブデータ

ダンジョンをクリアしたら 2 つとも同じにします。ロマサガ脳。あとテンプテーションを見切ってなくてもクイックタイムがあれば勝てます。


2008-03-03 :-)

_ 朝ったー

0540 起床。ねむ

_ [おおたか静流][植松伸夫][ファイナルファンタジーIII 悠久の風伝説]通勤ったー

ファイナルファンタジーIII 悠久の風伝説

FF3 アレンジです。原曲をキーボードで演奏しなおしたくらいの軽いアレンジです。各トラックの最初にナレーションが入ります。FF3 の物語を沿うように展開していきます。おおたか静流さん「Roaming Sheep」もあります。「Roaming Sheep」は FF6 TVCM で使われました。懐かしい。

B00005FO1M

_ 仕事

0830 出勤。

_ 「第一回チキチキ 日本ペアプログラミングの会java-ja支部会」

( via 航海日誌 )

kakutani ”大きくなった油田の火事は、ニトロで派手に吹き消すそうじゃないか…”

AKIRA で見た気がするんだが

だれのセリフだっけ

金田?

_ 無気力だったころにヲレがやったこと

  • 本を捨てた
  • CD を捨てた
  • 植松伸夫の音楽だけを聴いた
  • 料理を作り始めた
  • 写真( IXY DIGITAL を買った )を撮り始めた
  • とりあえず行動した

あとさき考えずにとりあえず行動してました。体を動かしておいて、感情はあとからついてきます。病院で診察してもらってないので うつ病だったかどうかは知りません。病院へ行く気力が無かったんですけどね。

_ [ChangeLog][コードリーディング][がらくた][高林哲]がらくたを読む - changelog-checker

http://0xcc.net/attic/changelog-checker

ChangeLog のヘッダごとの変更回数を調べるプログラムです。

このプログラムは GNU コーディング規約に従った ChangeLog 形式を想定してます。たぶん。

以下に簡単な変更履歴の例をいくつか示します. まず,ヘッダ行で誰がいつ変更を行なったかを述べます. 次に,個々の変更の説明を書きます. (以下の例は,Emacs と GCC から取ったものです.)

ChangeLog の例があります。

1998-08-17  Richard Stallman  <rms@gnu.org>

* register.el (insert-register): Return nil.
(jump-to-register): Likewise.

* sort.el (sort-subr): Return nil.

* tex-mode.el (tex-bibtex-file, tex-file, tex-region):
Restart the tex shell if process is gone or stopped.
(tex-shell-running): New function.

* expr.c (store_one_arg): Round size up for move_block_to_reg.
(expand_call): Round up when emitting USE insns.
* stmt.c (assign_parms): Round size up for move_block_from_reg.

「日付 名前 <メールアドレス>」がヘッダです。「*」から始まる段落?が変更の説明です。

これを踏まえてコードを読みます。短いです。

use strict;

my $date_and_name = undef;
my $cnt = 0;

while (<>) {
    next if /^\s*$/;                                 # 空行は無視
    chomp;

    if (/^\d/) {                                     # 日付にヒット
        if (defined $date_and_name) {                # ヘッダを通過してたら
            printf "%8d  $date_and_name\n", $cnt;    # ヘッダと変更回数を印字
        }
        $date_and_name = $_;                         # ヘッダを設定
        $cnt = 0;                                    # 変更回数をクリア
    } elsif (/^\s+\*/) {                             # 変更の説明「*」にヒット
        $cnt++;
    }
}
printf "%8d  $date_and_name\n", $cnt;                # ヘッダと変更回数を印字

解析するために状態変数を使う方法を思いつきましたが、デザインパターン脳のひとは State パターンを使ったりするんでしょうか。

コード冒頭のコメントに Copyright があります。

# Copyright (C) 1999 Satoru Takabayashi <satoru-t@is.aist-nara.ac.jp>

NAIST( 奈良先端科学技術大学院大学 )に居たころに書いたようです。ちなみに cdbiff は以下のようになっていました。

# Copyright (C) 2001 Satoru Takabayashi <satoru@namazu.org>

メールアドレスを読むとコードの歴史が分かって面白いです。

_ [おやつ][厚焼きクッキー]おやつ

厚焼きクッキー( ref. ちゃんと作れるスイーツ pp.74-75 )

お菓子作りは面倒だし、うまくできないという人も、材料を次々混ぜていくだけのこのクッキーなら大丈夫。

ダメでした。なんという甘食。

  • 材料はレシピどおり
  • 手順はレシピどおり
  • 焼くときに型に入れなかった

影響があるなら最後の手順だよなあ。型より以前の問題な気がするのだけど。

本日のツッコミ(全4件) [ツッコミを入れる]

_ あらかー。 [生地のふくらみを考慮しなかったって感じかな? うちが焼くときは、生地と生地の間に生地の大きさの1.5倍程度の空間を設..]

_ さいき [クッキーと言うよりなんかパイに見えるw (特に上の写真)]

_ 坊T@daresore [なんかバター多いとか? あとオーブン温度も少しあってないのかもとか 思ってみたり。 (クッキー作ったこと無いので勘で..]

_ みわ [あらかーさん: これだけ膨らむのは正しいのかどうなのか全然自信ないのでレシピどおりに正攻法で焼いてみました。膨らむの..]


2008-03-04 :-)

_ 朝ったー

0540 起床。ねむ

_ [植松伸夫][ファイナルファンタジーIV ケルティックムーン]通勤ったー

ファイナルファンタジーIV ケルティックムーン

FF4 アレンジです。アイリッシュ音楽でアレンジされてます。電子音ではなくて生の音ですってよ。民族楽器の暖かさというか、柔らかい音が心地よいです。FF 音楽を楽器でアレンジしたのはこれが初めてです。たぶん。長すぎずキレイにまとまっているので聴きやすいです。

B000058AB1

_ 仕事

0830 出勤。

_ ヴァルキリープロファイル レナス

  • プレイ時間 2:30
  • 最初のダンジョンをクリア
  • どうやってダンジョンから出るんだ

_ [ポラロイド]ポラロイド終了のお知らせ

ポラロイドのカメラを買ったばかりだという同僚が嘆いてました。

_ [mixi][Plagger]mixi => Plagger => Publish::feed ってやってませんが

Publish する先によってはマイミクシィ限定公開してるひとの mixi 日記を web に置けるのかしら。やらないけど。

ref. 「ハンドル名 site:mixi.jp」でGoogle検索すると引っかかるのは、masuiさんのmixi日記のコピー「http://pitecan.com/Mixi/diary/」をbotがクロールしているから - otsune's SnakeOil - subtech

_ 絡まれ力

先日 IRC で友人が「絡まれた」と言ってて、そういえば私はその友人と対して変わらない行動してるはずなのに絡まれたことが無いことに気づいた。いままで絡まれなかったからといって今後も絡まれないとは言えないし、いまどきならば電車に乗ってるときに「ハロー、ジェントルメン。おまえの命を貰いにきた」とピエロの格好したひとに唐突に刺されることだってあるのだけど。とりあえず戦闘力は低いので逃げることだけ考えよう。そのためにも足腰は鍛えておくと嬉しい。

ref. ペースメーカーと携帯電話(3) - WeBLoG

_ [コードリーディング][がらくた][高林哲]がらくたを読む - changelog2graph

http://0xcc.net/attic/changelog2graph

ChangeLog のヘッダごとの変更回数をグラフにします。

冒頭から読みます。

use strict;
use Chart::PNGgraph::lines;
use Time::Local;

使用するモジュールです。

Chart::PNGgraph はこちら。

詳しいことは GD::Graph を読めと書いてあります。GD::Graph はこちら。

ここを読むとプログラムで使っているメソッドなどの意味が分かります。Chart::PNGgraph は main で使っています。$my_graph->set では OPTIONS にあるオプションを設定してます。

main();
sub main {
    my %freqs = analyze_changelog();             # ChangeLog を何か解析した結果のハッシュ
    my $first_time = get_first_time(\%freqs);    # ChangeLog 内の最初の日付?
    my $last_time  = get_last_time(\%freqs);     # ChangeLog 内の最後の日付?
    my @data = generate_data(\%freqs, $first_time, $last_time);    # グラフ用のデータ作成?

    my $my_graph = new Chart::PNGgraph::lines(600,400);    # グラフインスタンス作成
    $my_graph->set(                                        # オプション設定
                    transparent   => 0,
                    two_axes      => 1,
                    line_width    => 2,
                    x_label       => 'Date',
                    y_label       => 'Changes',
                    title         => 'ChangeLog Graph',
                    x_label_skip  => int(@{$data[0]} / 8) + 1,
                    y_label_skip  => 2,
                    r_margin      => 20,
                    textclr       => "black",
                    dclrs         => [ qw(red blue green pink cyan) ],
                    );

    print $my_graph->plot(\@data);    # グラフ書きませう
}

main から呼び出しているメソッドはまだ読んでませんが変数名などからするとコメントに書いたような処理だと思います。

analyze_changelog を読みます。ChangeLog を解析してヘッダごとの変更回数を数えて ヘッダ=> 変更回数のハッシュにしています( ref. GNU コーディング規約 - 変更履歴の形式 )。

sub analyze_changelog () {
    my %freqs = ();
    my $date  = undef;
    my $freq  = 0;
    while (<>) {
        next if /^\s*$/;
        chomp;

        if (/^(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s+
            (\w+)\s+(\d+)\s+(?:[\d:]+)\s+(\d+)(.*)/x)
        {
            # Old type format:
            # Wed Jun  2 17:55:44 1999  Foo Bar <foo@bar.jp>
            my $mon  = $month_names{$1} + 1;
            my $mday = $2;
            my $year = $3;
            my $rest = $4;

            # Convert it to ISO 8601 type.
            $_ = sprintf "%4d-%02d-%02d%s", $year, $mon, $mday, $rest;
        }

        if (/^(\d{4}-\d{2}-\d{2})\s/) {
            # ISO 8601 format:
            # 1999-06-02  Foo Bar <foo@bar.jp>
            if (defined $date) {
                $freqs{$date} = $freq;
            }
            $date = $1;
            $freq = 0;
        } elsif (/^\s+\*/) {
            $freq++;
        }
    }
    $freqs{$date} = $freq;

    return %freqs;
}

コメントにもありますが「Old type format」と「ISO 8601 format」の 2 種類の日付の形式を処理しています。「Old type format」ならば「ISO 8601 format」に変換しておき( これを「正規化する」といいます )「ISO 8601 format」として処理できるようになります。

日付を探している部分が

if (/^(\d{4}-\d{2}-\d{2})\s/)

となっていて $date の部分が

$date = $1;

になっています。結局 $date にはヘッダのうち日付の部分が格納されます。

これで %freqs に「日付 => 変更回数」のハッシュを作り、返します。

ところで「ISO 8601」ってなに?

YYYY-MM-DD や hh:mm:ss などの形式のことらしいです。

get_first_time を読みます。

sub get_first_time ($) {
    my ($freqs_ref) = @_;

    my $first_date = (sort keys %{$freqs_ref})[0];
    return date_to_time($first_date);
}

freqs_ref は analyze_changelog で作ったハッシュです。(sort keys %{$freqs_ref})[0]; を分解します。

sort keys %{$freqs_ref}

%{$freqs_ref} を key でソートします。key は日付です。

()[0]

ソートした結果の最初の要素です。

date_to_time を呼んでるので date_to_time を読みます。

sub date_to_time ($) {
    my ($date) = @_;

    if ($date =~ /^(\d+)-(\d+)-(\d+)/) {
        my $year = $1;
        my $mon  = $2 - 1;
        my $mday = $3;
        return timelocal(0, 0, 0, $mday, $mon, $year);
    } else {
        die "$date: invalid date format";
    }
}

timelocal ってなに?

ということで日付からシステム起動時からの秒数へ変換します。bulkplot でも秒数に変換して処理してました。日付はシステム起動時からの秒数にして処理すると、ライブラリなどのインターフェース部分に渡すときに日付の形式を処理する手間が省ける( ISO 8601 なのかそれ以外なのか、異常な形式なのかとか ) という意図でしょうか。「日付クラス」というのが存在するならばそのインスタンスを受け渡しすると良さそうですがどうなんでしょう。

get_last_time を読みます。

sub get_last_time ($) {
    my ($freqs_ref) = @_;

    my $last_date = (reverse sort keys %{$freqs_ref})[0];
    return date_to_time($last_date);
}

get_first_time に似てますが reverse してるところが違います。処理は以下の手順です。

  1. 「日付 => 変更回数」のハッシュを日付でソート
  2. 逆順にする
  3. 最初の要素( 日付 )を取得
  4. 日付をシステム起動時からの秒数に変換

generate_data を読みます。

sub generate_data ($$$) {
    my ($freqs_ref, $first_time, $last_time) = @_;

    my @dates = ();
    my @indps = (); # independent
    my @cumls = (); # cumulative
    my $sum = 0;
    for (my $time = $first_time; $time <= $last_time; $time += 60 * 60 * 24) {
        my ($sec, $min, $hour, $mday, $mon, $year,
            $wday, $yday, $isdst) = localtime($time);
        $year += 1900;
        $mon++;
        my $date = sprintf "%4d-%02d-%02d", $year, $mon, $mday;

        push @dates, $date;
        if (defined $freqs_ref->{$date}) {
            push @indps, $freqs_ref->{$date};
            $sum += $freqs_ref->{$date}
        } else {
            push @indps, 0;
        }
        push @cumls, $sum;
    }

    return ([ @dates ], [ @indps ], [ @cumls ]);
}

グラフに使うデータを作ってます。作っているデータは以下の 3 つです。

  • 日付( @dates )
  • 日付ごとの変更回数( @indps )
  • 累積変更回数( @cumls )

作ったデータを sub main で $my_graph->plot(\@data); してグラフを作成します。

for にある time を増加させる式に注目。

    for (my $time = $first_time; $time <= $last_time; $time += 60 * 60 * 24) {

60 * 60 * 24 は 86400 です。ここに 86400 と書かずに 60 * 60 * 24 と書いてます。この数値の並びを見ると時間を扱ってるということが分かります。60 が秒数、60 が分、24 は 1 日の時間だと理解できます。結局 86400 は 1 日の秒数だということが分かります。慣れてるひとは 86400 という数値を見ただけで 1 日の秒数を表してるのだと分かるかもしれません。

_ [厚焼きクッキー][おやつ]おやつ

厚焼きクッキーの残りを焼きました。昨日の教訓を踏まえてちゃんと型を使いました。レシピにあった型とは全然違うのだけど、形を固定できる何かなのでなんでもいいかなと。こんなもんなのかなあ。


2008-03-05 :-)

_ 朝ったー

0540 起床。ねむ。

_ [植松伸夫][ファイナルファンタジーV ディア・フレンズ]通勤ったー

ファイナルファンタジーV ディア・フレンズ

FF5 アレンジです。オリジナルに近いアレンジです。1 曲目「AHEAD ON OUR WAY」( ファイナルファンタジーVメインテーマ )はフルートかしら?オリジナルの柔らかい曲の雰囲気を再現しています。全体的にゆるい曲をアレンジしてるのでアルバム全体の雰囲気もゆるくなっています。

スタッフとして「おれたちゃ海賊」に植松伸夫さんや岡宮道生さんなどスクウェアのスタッフが参加してたり、「栄養ドリンク提供: 植松玲子、伊藤裕之」などと書いてあったりお茶目です。

B00005FNVP

_ 仕事

0830 出勤。

_ [RSS]RSS を作る手段

_ プロジェクトの最初にやること

  1. trac月 - コマンドプロンプト - create-project.bat MyProject
  2. mkdir -p G:\MyProject\branches
  3. mkdir -p G:\MyProject\tags
  4. mkdir -p G:\MyProject\trunk
  5. G:\MyProject をリポジトリ へインポート
  6. G:\MyProject を削除
  7. G:\MyProject へ をチェックアウト

_ お世話になっているプログラムの求めしところ

オペレーティングシステムの求めしところ に便乗します。

NetBSD is a free, secure, and highly portable Unix-like Open Source operating system available for many platforms, from large-scale server systems to powerful desktop systems to handheld and embedded devices. Its clean design and advanced features make it excellent in both production and research environments, and the source code is freely available under a business-friendly license.

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows NT. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

qmail is a secure, reliable, efficient, simple message transfer agent. It is designed for typical Internet-connected UNIX hosts. As of October 2001, qmail is the second most common SMTP server on the Internet, and has by far the fastest growth of any SMTP server.

It works for Lycos. It works for citysearch.com. It works for pobox.com. It works for 1.85 million more .com's. It works for several of the Internet's largest domain-hosting companies: directNIC, MyDomain/NamesDirect, Interland, Dotster, Easyspace, Namezero, Netfirms, and Rackspace Managed Hosting. It'll work for you too.

求めしところ? qmail.jp はこんな。

djbdns は安全、確実、高速、簡潔、設定も簡単なDNS サーバとツール群です。

Postfix attempts to be fast, easy to administer, and secure. The outside has a definite Sendmail-ish flavor, but the inside is completely different.

Zsh is a shell designed for interactive use, although it is also a powerful scripting language. Many of the useful features of bash, ksh, and tcsh were incorporated into zsh; many original features were added. The introductory document details some of the unique features of zsh. It assumes basic knowledge of the standard UNIX shells; the intent is to show a reader already familiar with one of the other major shells what makes zsh more useful or more powerful.

Vim

Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.

Vim is often called a "programmer's editor," and so useful for programming that many consider it an entire IDE. It's not just for programmers, though. Vim is perfect for all kinds of text editing, from composing email to editing configuration files.

Despite what the above comic suggests, Vim can be configured to work in a very simple (Notepad-like) way, called evim or Easy Vim.

Emacs is the extensible, customizable, self-documenting real-time display editor.

quickmlサーバは超お手軽なメーリングリストシステムです。 quickmlサーバを利用すれば、超お手軽なメーリングリストサービスを提供できます。

_ [Perl][Schwartzian Transform][ChangeLog][シュウォーツ][コードリーディング][がらくた][高林哲]がらくたを読む - clgrep

http://0xcc.net/attic/clgrep

ChangeLog を grep します。

ruby で書き直したものが 横着プログラミング 第1回: Unixのメモ技術 にありますが、せっかくだからがらくたのほうを読みます。Unixのメモ技術のほうがコードが短くなっていますが、これはがらくたにあるコードから機能を削除したためです。

Perl プログラムです。

#! /usr/bin/perl -w
#
# clgrep - ChangeLog grep

Copyright が続きます。ちなみに Unixのメモ技術は「(公開日: 2002-03-18)」となっています。

#
# Copyright (C) 2000 Satoru Takabayashi <satoru-t@is.aist-nara.ac.jp>
#     All rights reserved.
#     This is free software with ABSOLUTELY NO WARRANTY.
#
# You can redistribute it and/or modify it under the terms of
# the GNU General Public License version 2.
#

Getopt::Long を使ってオプションを解析します。

Getopt::Long::Configure('bundling');
GetOptions(
           'i|ignore-case'   => \$opt_icase,
           'p|sort-by-page'  => \$opt_sort,
           's|statistics'    => \$opt_stat,
           );

hio.jp のひとが和訳してくれているのでそちらを読みます。

bundling は オプションの合成 にあります。オプション -v -a -x を -vax と合成する機能です。

オプションの概要はあるのだけど具体的にどのような動作をするのかよく分からないので実際に使ってみます。quickml の ChangeLog に使ってみます。

普通に clgrep

% ./clgrep 2004 ~/usr/local/quickml-0.7/ChangeLog
2004-06-09  Satoru Takabayashi  <satoru@namazu.org>

2004-06-08  Satoru Takabayashi  <satoru@namazu.org>

2004-05-17  Satoru Takabayashi  <satoru@namazu.org>

2004-04-01  Satoru Takabayashi  <satoru@namazu.org>
 :

変更したファイル名と変更した回数を印字するようです。

% ./clgrep -s ~/usr/local/quickml-0.7/ChangeLog
      41 lib/quickml/core.rb
      28 quickml
      22 lib/quickml/mail.rb
      19 lib/quickml/server.rb
      19 lib/quickml/config.rb
      14 quickml.in
      12 Makefile
      10 lib/quickml/utils.rb
       6 quickmlrc.sample.in
       5 lib/quickml/gettext.rb
 :

大文字小文字を区別しない。

 % ./clgrep -i SATORU ~/usr/local/quickml-0.7/ChangeLog
2004-06-09  Satoru Takabayashi  <satoru@namazu.org>

2004-06-08  Satoru Takabayashi  <satoru@namazu.org>

2004-05-17  Satoru Takabayashi  <satoru@namazu.org>

2004-04-01  Satoru Takabayashi  <satoru@namazu.org>

2004-03-28  Satoru Takabayashi  <satoru@namazu.org>

オプション -p が何をやってるのか分からないのでコードを見てみます。sort_by_page です。

sub sort_by_page {
    my @logs = @_;

    return map {
        $_->[0];
    } sort {
        $a->[1] <=> $b->[1];
    } map {
        if (/^    \* .*?\(pp?\.(\d+)/) {
            [ $_, $1 ];
        } else {
            [ $_, 0 ];
        }
    } @logs;
}

map と sort を駆使した処理を「 Schwartzian Transform 」と言うのだそうです。

行データを、指定したフィールドでソートするようなときには、ずばり「シュウォーツ変換 (Schwartzian Transform)」!!! 比較の度にいちいち split する手間がはぶけて効率的!

「Effective Perl」に詳細が書いてあるそうです。持ってません。誰かください。

if (/^ \* .*?\(pp?\.(\d+)/) はページ番号(「p.」または「pp.」)にヒットします。たとえば ruby の ChangeLog にそのような箇所があります。

Wed Aug 22 05:51:23 2007  Yukihiro Matsumoto  <matz@ruby-lang.org>

  * util.c (ruby_strtod): replaced by the implementation by David
    M. Gay inspired by William D. Clinger's paper "How to Read Floating
    Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].
    a patch from Satoshi Nakagawa <snakagawa AT infoteria.co.jp>.
    [ruby-dev:31582]

論文を引用するなどした場合に ChangeLog に書くんですね。

4756130577

_ [百度][baidu]百度(baidu)がツンツンすぎる

% grep "Wed Mar 05" /var/log/httpd/error_log | grep -E '122\.152\.(140|128)' | awk '{ print $8}' | tr -d ] | sort | uniq -c | sort -nr
2217 122.152.140.170
2204 122.152.128.11
2193 122.152.128.6
 156 122.152.140.5
 101 122.152.140.7
  18 122.152.128.78
   5 122.152.140.139
   3 122.152.128.49
   2 122.152.128.46
   2 122.152.128.47
   1 122.152.140.140
   1 122.152.140.16
   1 122.152.140.40
% grep "Wed Mar 05" /var/log/httpd/error_log | grep -E '122\.152\.(140|128)' | awk '{ print $8}' | tr -d ] | wc -l
    6907

_ [NetBSD][current]NetBSD current を追いかけるなどした

$ uname -a
NetBSD yukina.area51.gr.jp 4.99.55 NetBSD 4.99.55 (GENERIC) #0: Wed Mar  5 20:27:44 JST 2008  rin@yukina.area51.gr.jp:/usr/obj/sys/arch/i386/compile/GENERIC i386

_ [おやつ][ピーナツ最中]おやつ

ピーナツ最中(もなか)

img_5475.jpg

img_5476.jpg


2008-03-06 :-)

_ 朝ったー

0440 起床。チャリったー

_ [植松伸夫][ファイナルファンタジーVI グランドフィナーレ]通勤ったー

ファイナルファンタジーVI グランドフィナーレ

FF6 のオーケストラアレンジです。30 年くらい前の映画音楽のような印象です。ようするにイマイチです。FF6 グランドフィナーレは植松伸夫さんによるオーケストラアレンジは初めての作品かな。植松さん本人もかなりショックだったようです。ライナーノーツに以下のように書いてます。

個人的には今回のアレンジアルバムの出来には満足していない。

僕の中でそれぞれの曲に対するイメージとはあまりにもかけはなれた作品になってしまった。これは決してアレンジャーの責任ではない。これだけは死守したいというイメージを明確にアレンジャーの人に伝えきれなかった自分の怠慢であり、「これがどんな出来になろうともアレンジしたのは僕じゃない。」という逃げ道を用意していた自分自身の責任である。

B000058A85

_ 仕事

0830 出勤。

最初から作り直したい症候群。

_ [ミルフィール]ミルフィール -

( via twitter の誰か )

登録してみた。

本日のツッコミ(全4件) [ツッコミを入れる]

_ 矢道 [どんなに汚くても動いてる物こそが至上 綺麗に作り直した結果動かないのが現実]

_ みわ [矢道さん: リファクタリングする体制があれば良いんですけどね。もちろん無いので、既存のコードはそっとしておきました。..]

_ 矢道 [仕変で汚くなるのはしょうがないので、最近は仕変数回毎にコード整理の時間を付加して見積もったりしてます。]

_ みわ [矢道さん: 「仕変」は仕様変更のことでしょうか。なるほどなあ。そーいう区切りのときに書き直す手があるか。]


2008-03-07 :-)

_ 朝ったー

0540 起床。ねむ

_ [植松伸夫][ファイナルファンタジーVII リユニオントラックス]通勤ったー

ファイナルファンタジーVII リユニオントラックス

FF7 アレンジも含まれています。人気があった曲を収録したそうです。以下 3 曲はオーケストラアレンジされています。それ以外すべてオリジナルです。オリジナルサウンドトラックを持ってるひとはこの 3 曲のために買うわけです。

  • F.F.VIIメインテーマ
  • 片翼の天使
  • エアリスのテーマ

3 曲ともオリジナルに忠実にアレンジされています。よく言えば期待どおりだし、悪く言えばひねりが無いです。

B000793EK2

_ 仕事

0830 出勤。

_ [技能][技術]技能と技術

  • 技術
    • 知識のうちの1つ
    • 自分を否定できること
    • 技能の変化に対応できること
  • 技能
    • 道具の使い方に長けたひと
    • COBOLマスターとか
    • 技能者
      • 道具が変わると仕事できない

ref. Embedded Technology 2007[ 20071116#p06 ]

_ [木下史彦][角谷信太郎][XPJUG20th][XPJUG][アジャイルプラクティス]第20回 XPユーザー会

20回目となるXPユーザー会は『「アジャイルプラクティス」を携えて』と題して、2007年12月刊行の書籍「アジャイルプラクティス」をテーマに開催致します。

アジャイルプラクティス[ 20080225#p05 ]について監訳者 角谷信太郎さん木下史彦さん によるお話です。XP 祭りは参加したことがあるのだけど XPJUG は参加したことが無かったので行ってみました。懇親会は申し込んだのだけど体力の限界が近かったのでキャンセルしました。ドタキャンで申し訳ないです。

最初に見たそのときから「気持ち悪い」「おぞましい」という感想を持っていた表紙なんですが角谷さんが解説してくれました( ref. [mixi] アジャイルプラクティス読み始め )。

今日の目標:プラクティス番号で会話できるようになる

角谷信太郎さん

  • アサマシしようぜ
  • 翻訳作業
    • 目標は読みやすくすること
    • アジャイル監訳
    • でも最後は炎上した
  • 本のタイトル
    • これは、ある開発者の習慣である → それがたまたまアジャイルだった
    • 達人プログラマに学ぶ
  • 装丁

木下史彦さん

  • 天使とガネーシャ( 夢をかなえるゾウ )
    • 言ってることは共通してる
  • アジャイル開発者とは、アジャイル開発をしているひとのことである
    • 「プログラムを書いていればプログラマーである」みたいな
  • XPことはじめ
    • サインアップするタスクをダーツで決めた
  • 応募する
    • XP 祭り 2006 に初めて応募した
    • XPJUG は被り物するグループではない
    • 当時 木下さんの話聴いてたよ![ 20060902#p02 ]
  • 監訳作業
    • 最後のほうはペア翻訳
    • 数分おきにコミット
    • それ以外は夜にお仕事
    • 章ごとではなく好き勝手に翻訳しまくり

質疑応答

  • リズムを作る
  • スタンドアップミーティングから始めると良い。手軽だ
  • 振り返りは毎週
  • 習慣にするまで躾け役のひとを置くといいかもしれない
  • 懸田剛さん
  • アジャイルプラクティスで社内読書会した
  • 「アジャイル」という言葉に過剰反応するひとがいた
  • 「アジャイル」じゃなくて「天使と悪魔の言葉」など別のことをアピールして釣るといい

お二人からサインを頂きました。あざーす。

img_5482.jpg

イベントの感想などをブクマするときの公式タグは「XPJUG20th」にしたいと思います。ご協力お願いします。

ということでタグは XPJUG20th です。

4274066940

4870318059

_ [おやつ][チョコレート][FAUCHON]おやつ

FAUCHON(フォション) のチョコレート

img_5479.jpg


2008-03-08 :-)

_ [おひる][焼きそば]おひる

焼きそば

_ [チョコレート][レミーマルタン][ロイズ][おやつ]おやつ

ロイズのチョコレート レミーマルタン。北海道紀行のお土産です。賞味期限過ぎてます。

_ [インスタントコーヒー][香味焙煎]買い物

インスタントコーヒー。カップ付きだよ!ということで釣られてみました。せっかくだから 2 つ買いました。このコーヒーを飲んだことが無かったのでちょうどよいいです。

img_5484.jpg

_ [Gauche]gauche.night

TOKYO CULTURE CULTURE:@nifty

この会場はもう行きたくないなあ。

  • 音が大きい
    • 話し声が聞こえないくらいの音量だった
    • この音量には何か意味があるのか?
  • 天井の照明の下にプロペラ( なにあれ? )がありその所為で灯りがチラつく
    • 目が痛い
    • 気持ち悪い
    • この設計には何か意味があるのか?
  • 座談会のスクリーンが無駄だった
    • 計算機からの出力をスクリーンに映してた
    • ステージの様子を映してくれ
    • ステージの後ろにあるスクリーンには映してた
    • そこに映して何か意味があるのか?

といったことを会場のアンケートに書いておきました。

第1部: 座談会「R6RSを斬る」

  • プログラミング Gauche
    • 7 章が Lisp 脳
    • 本文と本文の間のコラムは本文の一部
    • 署名入りのコラムは著者の独断と偏見
    • おくづきをミス
  • Scheme と Lisp でも飯を食える(川合)
  • Gauche ソースコード完全解説欲しい(笹田)
  • 7 つのプリミティブがあればプログラミング言語は実装できる
  • Arc はまだ発展途上
  • R6RS
    • 「Scheme を名乗るな」等かなり盛り上がってたけどアルゴリズムとかオペレーショナルとかさっぱり分かりませんでした
  • ポータブル重要
    • スクリプト系でポータブルを無視したものがある
    • そーいう奴にエンジニアリングを語って欲しくない
    • バージョンが 0.1 違うだけで全然挙動が違う言語とか( ← Ruby のこと )
    • すいません(笹田)
      • 爆笑した
  • eval は「えばーる」と読んでた

第2部: デモ大会「gauche.gong」

ライトニングトークス。

  • デモがあるなら最初に実演したほうが時間切れしなくて済む
  • LT 5 分の時間はプレゼンの時間だけを計測してた
  • 交代は時間に入らないようだ
  • 交代するときにスクリーンに映らなかったりいくつかトラブルがあった
  • リハーサルしてないのか?
  • オブラブ2006夏[ 20070620#p02 ]の LT では全くトラブルがなかったのは凄かったんだな
    • リハーサルしてたし
    • 当時のオブラブLTスタッフは m_pixy さんか。m_pixy++
  • 「Gaucheで作るPIC電子工作」がすごかった。

会場でプログラミング Gauche を先行販売してたので買いました。

08030801.jpg

あとトレーナーを貰いました。

img_5485.jpg

4873113482


2008-03-09 :-)

_ [河津桜]朝ったー

チャリったー

多摩川河川敷の等々力緑地辺りに河津桜が咲いてたので撮影しました。

_ [声優][ラブレター][伊藤静]女性声優からのラブレター

( via つっちぃのとこ )

伊藤静さんだそうです。

みわくんへ

なんでみわくんは、私の事を好きになってくれないの?
なんでみわくんは、金田朋子のギャグで笑ってるの?
もうやめて・・・。
もっと私と話をして欲しい、私の事を見てほしいの。
確かに私は自分勝手、みわくんの事をあまり考えてないわ。
でも、いつも応援してるんだよ。
みわくんの事を一番に考えてるんだよ。
みわくんに私は映ってる?
金田朋子、斎賀みつきばかり見てないでもっと私を見て欲しいの!

ねえ・・・。
ムリだったら言って欲しい。
そうしてくれたら諦めることができるから。
じゃないと、みわくんの事ばかり考えて、みわくんの事ばかり見つめちゃって・・・
もっともっと好きになっちゃうよ。
私がプールに行った時、必ず泣いてるのを知らないでしょ?
今度会う時は少しでも話がしたい。

お願い・・・
伊藤静を好きになってください

miwarin では山口眞弓さんからになりました。

_ [おやつ][まんじゅう]おやつ

まんじゅう。能登紀行のお土産。

img_5486.jpg

img_5488.jpg

img_5492.jpg

_ [ケータイ][メール][movatwitter]ケータイメールの送信履歴が movatwitter で埋まっている

リア充

img_5493.jpg

_ [えぼだいの干物][]飯

えぼだいの干物。

_ [ココロ]ブログ妖精ココロから労いの言葉を貰った

c00.png

ども

本日のツッコミ(全2件) [ツッコミを入れる]

_ さぁぶ [いや、いやいや。 「自宅警備ご苦労さま」は労い、というよりものすごく ばかにされている気がしませんか?]

_ みわ [さぁぶさん: 私が自宅警備してココロが稼ぐんです。いや、ココロはまだ学校に通ってるのか?]


2008-03-10 :-)

_ 朝ったー

0540 起床。

_ [ファイナルファンタジーVIII オーケストラ・ヴァージョン][植松伸夫]通勤ったー

ファイナルファンタジーVIII オーケストラ・ヴァージョン

FF8 オーケストラアレンジです。「Liberi Fatali」「Eyes On Me」「Ending Theme」はたぶんオリジナルのままです。アレンジは分かりやすいというか、オリジナルの印象そのままにアレンジしてあるので過剰気味です。

B00003WGBZ

_ 仕事

0830 出勤。

花粉との戦いはこれからだ!

_ [花粉]花粉対策のクスリを飲んだ

つらい

_ [NetBSD]NetBSD の build.sh release などした

疲れた。

寝る。

_ [おやつ][厚焼きクッキー]おやつ

厚焼きクッキー( ref. ちゃんと作れるスイーツ pp.74-75 )


2008-03-11 :-)

_ 朝ったー

0540 起床。ねむ

_ [植松伸夫][ファイナルファンタジーIX オリジナルサウンドトラックプラス]通勤ったー

ファイナルファンタジーIX オリジナルサウンドトラックプラス

FF9 オリジナルサウンドトラックに収録されなかったぶんのオリジナル曲です。CD 1 枚ぶんです。別の商品としてではなくてオリジナルサウンドトラックを CD 5 枚にするとか DVD にするかして欲しかったです。いろいろな事情があるんだろうけど。

収録曲はムービーの曲が多いようです。「ルーファウス歓迎式典」なども収録されてます。

B000056UV4

_ 仕事

0830 出勤。

_ 最近の悩み事

プログラムにバグがあるんです。

あと Microsoft Windows の XP と 2000 の挙動に恋してます。

_ りすりすん りすん りすん

りすりすん りすん りすん

B000NO2AQK

_ [おやつ][厚焼きクッキー]おやつ

厚焼きクッキー。昨日の残り。

img_5496.jpg

本日のツッコミ(全3件) [ツッコミを入れる]

_ さいき [どう見てもカップケーキですねw]

_ 矢道 [バグの無いプログラムなんて無いんです。減らす努力のみしましょう。 そして私も2000に恋してます。 Vista なん..]

_ みわ [さいきくん: カップケーキのケースを使ったのでこのような形になりました。 矢道さん: Windows 2000 と..]


2008-03-12 :-)

_ 朝ったー

0540 起床。ねむ

_ [植松伸夫][ピアノコレクションズ ファイナルファンタジーV]通勤ったー

ピアノコレクションズ ファイナルファンタジーV

FF5 ピアノアレンジです。「Dear Friends」はピアノの良い雰囲気を作ってるんですが、全体的にどうも気持ち悪いです。「Critter Tripper Fritter !?」は最悪です。鍵盤を叩きつけるような演奏をしてるんですが、なんでこんなアレンジにしたんだ?

B00005L8V8

_ 仕事

0830 出勤。

_ 月刊 Windows Update

20GB くらいある C ドライブが容量不足になりました。他に D、E、F ドライブが各々 30 GB から 40GB ずつあります。C ドライブに Visual Studio をインストールしたのがイケナイようです。

_ [amazon]Amazonほしい物リスト、個人情報漏れまくりで祭に発展

( via いろんなとこ )

このサービス、名前とメールアドレスのどちらかで検索することができるのだが、このメールアドレスが曲者だ。率直に言おう。メールアドレスが分かればその人の本名を知ることができる。

amazon ウィッシュリストから名前が変わってたんですね。

昨日から騒がれていた(る?)ようです。私は amazon ほしい物リストは他人に見せるためのサービスだと思って使ってるので騒ぎになってる話題は問題にならないんですが、じつは今回の騒ぎは amazon ほしい物リストを世に広めるために amazon が意図的におこなったことであり、「 amazon ほしい物リストを晒しておくと誰かが買ってくれるかもしれないよ!amazon ほしい物リストを推進しよう!」という amazon の陰謀ではないでしょうか。なお、私のほしい物リストはこちらです。買って私に送るといいです。

_ [web][アルバム][写真]web アルバムサービス

web アルバムサービス( 写真を公開などするサービスのこと。一般的な呼び方はあるのかしらん )がどれだけあるのか仕事場のひとから訊かれたので脊髄反射で答えました。思いつく限りではこのくらい。サービスの比較は自分でやろう。私は Flickr を使ってます。


2008-03-13 :-)

_ 朝ったー

0440 起床。チャリったー

_ [植松伸夫][ピアノコレクションズ ファイナルファンタジーVII]通勤ったー

ピアノコレクションズ ファイナルファンタジーVII

FF7 ピアノアレンジです。FF5 ピアノアレンジはかなりガッカリしたけど FF7 は良いです。ピアノアレンジとはこーいうものだよなあ、と思える作品です。「闘う者達」等のバトル曲もアレンジしてるのが驚きです。「闘う者達」はオリジナル曲よりもピアノアレンジのほうがスピード感があって良いです。

B00025E1VC

_ 仕事

0830 出勤。

_ FF のピアノコレクション

FF4 と FF6 は持ってないんです。

_ [光田康典][佐野電磁][KORG]KORG DS-10

光田康典さんと佐野電磁さんは KORG DS-10 の中の人だということは分かりました( ref. 多角的な情報を収集して情報をつなげるとその本筋が見えてくる[ 20080214#p01 ] )。

_ [バグレポート][bug]バグレポートに最低限書いて欲しいこと

これくらい。

  • 現象
  • 環境
  • 再現手順

あわせて読みたい。

Mew がうまく動かないときに,「〜が動きません,どうしたらいいでしょう」だけでは,誰も答えることができません.まず,Mew をどのような環境(オペレーティングシステムの種類・バージョン,Emacsの種類・バージョン,Mewのバージョン等)で利用しているのかを書きましょう.

次に症状を書きます.できるだけ具体的に,再現性があるものならその手順を簡潔に書いて下さい.

_ ココロはみわさんの笑顔が見たいです

c00.png

;-)

_ [LINEAR][ワギャン]LINEAR vol.01 のポスターのレコードにワギャンが描いてある

ここの画像

拡大

l10.png

ref. ワギャンランド - Wikipedia

_ [もやしもん]買い物

かもすぞー

転びやすいです。

B000YDWH0E

B000YDWH0O

_ [][親子丼]飯

親子丼( ref. おかずレッスン p.105 )

本日のツッコミ(全4件) [ツッコミを入れる]

_ うさ [> * 現象 > * 環境 > * 再現手順 これを示さないと調べようがないことを分かっていないSEが世の中には山の..]

_ みわ [うささ: ば、ばかなっ そんなSEが居るわけない!都市伝説だ!あと噂ではプログラムを動作確認しないプログラマが居ると..]

_ まきにゃ [う〜ん、私の場合は「たまには怒る顔が見たいです。」としか言われた事無い(笑)]

_ みわ [まきにゃさん: んま いつもニコニコ]


2008-03-14 :-)

_ 朝ったー

0540 起床。

_ [植松伸夫][ファイナル・ファンタジーVIII ピアノ・コレクションズ]通勤ったー

ファイナル・ファンタジーVIII ピアノ・コレクションズ

FF8 ピアノアレンジです。FF7 ピアノアレンジからは良いアレンジです。アレンジャーが変わったんでしょうか。「Ending Theme」のアレンジが素晴らしいです。これを聴いていたらオリジナルの「Ending Theme」も自分は気に入っていたことを思い出しました。

B000058AB3

_ 仕事

0830 出勤。

始業直後に実機を回収されてしまった。

_ 実名、匿名って 10 年くらい前も同じようなことを話題にしてた気がする

むしろ話題がループしてるのか。

でもそれって本当に実名なんですか?

_ 問題はその人物を特定できるかどうかだ

実名だろうが匿名だろうが偽名だろうが問題ではありません。疑似乱数生成機によって作った名前でもユニークならばそのひとを特定できるし、「じゅげむじゅげむごこうのすりきれかいじゃりすいぎょのすいぎょうまつうんらいまつふうらいまつくうねるところにすむところやぶらこうじのやぶこうじぱいぽぱいぽぱいぽのしゅーりんがんしゅーりんがんのぐーりんだいぐーりんだいのぽんぽこぴーのぽんぽこなーのちょうきゅうめいのちょうすけ」という名前であっても同じ名前が世界に 2 人以上居ればユニークではありません。「じゅげむじゅげむごこうのすりきれかいじゃりすいぎょのすいぎょうまつうんらいまつふうらいまつくうねるところにすむところやぶらこうじのやぶこうじぱいぽぱいぽぱいぽのしゅーりんがんしゅーりんがんのぐーりんだいぐーりんだいのぽんぽこぴーのぽんぽこなーのちょうきゅうめいのちょうすけ」はこの人である、と決められません。名前なんて重要ではありません。ミギーもそう言っている。

ref. 寄生獣 - Wikipedia

_ SHA-1 で遊ぼう

ということで今後は匿名で活動することにしました。

ハンドルは random から sha-1 した値にします。

% ruby -r 'digest/sha1' -e 'p Digest::SHA1.new( rand().to_s ).hexdigest'
"ac5acf440b209fee9d54b480d85aa435c217c22c"

bear.jpg「ac5acf440b209fee9d54b480d85aa435c217c22c さんですか。長い名前ですね」

wore.jpg「長くても簡単だよ。何度でもいえる。私の名前は ac5acf440b209fee9d54b480d85aa435c217c22c です。私の名前は ac5acf440b209fee9d54b480d85aa435c217c22c です」

bear.jpg「コピペしてるだけじゃないですか」

bear2.jpg「どもども。ac5ac...ええと、なんだって?」

wore.jpg「やだなあ、ちゃんと覚えてよ。いいかい、名乗るよ?」

% ruby -r 'digest/sha1' -e 'p Digest::SHA1.new( rand().to_s ).hexdigest'
"9cd0ab8d05020802713691c6951659dfe3f10ea3"

wore.jpg「私の名前は 9cd0ab8d05020802713691c6951659dfe3f10ea3 と申します」

bear2.jpg「9cd0ab8d05020802713691c6951659dfe3f10ea3 さんね。よろしく」

bear1.jpg「なになにー。何か面白いことやってるの? あれ?名前変わったの?」

wore.jpg「やあ、こんにちは。私の名前はry」

名乗るたびに名前は変わります。

_ [Perl][エンディアン][コードリーディング][がらくた][高林哲]がらくたを読む - endian

http://0xcc.net/attic/endian

リトルエンディアンかビッグエンディアンか。

#! /usr/bin/env perl
my $word = pack 'I', 1;
if ($word eq "\x01\x00\x00\x00") {
    print "little endian\n";
} else {
    print "big endian\n";
}

pack ってなに?

perldoc -f pack します。

pack TEMPLATE,LIST
        Takes a LIST of values and converts it into a string using the
        rules given by the TEMPLATE.  The resulting string is the con-
        catenation of the converted values.  Typically, each converted
        value looks like its machine-level representation.  For exam-
        ple, on 32-bit machines a converted integer may be represented
        by a sequence of 4 bytes.

        The TEMPLATE is a sequence of characters that give the order
        and type of values, as follows:

で、I がここ。

            I   An unsigned integer value.
                  (This 'integer' is _at_least_ 32 bits wide.  Its exact
                   size depends on what a local C compiler calls 'int',
                   and may even be larger than the 'long' described in
                   the next item.)

1 を符号なし 32 ビット整数に変換してます。

リトルエンディアンでは 01 00 00 00 と格納されます。

ビッグエンディアンでは 00 00 00 01 と格納されます。

人間が読むぶんにはビッグエンディアンのほうが直感的なので分かりやすいんですが、計算機的にはリトルエンディアンのほうがうれしいそうです。

ref.

_ [Perl][エンディアン][コードリーディング][がらくた][高林哲]がらくたを読む - endian-conv

http://0xcc.net/attic/endian-conv

エンディアンを変換します。

#! /usr/local/bin/perl

$_ = join "", <>;
s/(.)(.)(.)(.)/$4$3$2$1/sg;
print;

逆順に並べ替えてるだけです。

% cat txt
1234
% ./endian-conv txt
4321
% cat txt
12345678
% ./endian-conv txt
43218765

_ [][カレー]飯

カレー

_ [能登の華][おやつ][能登]おやつ

能登の華。能登紀行のお土産。


2008-03-15 :-)

_ [BETTA FLASH]mini ALBUM「BETTA FLASH」発売記念!ライブ&サイン会

@タワーレコード渋谷店

行ってきますった。

_ [tuvasa2001][細江慎治][quad][LINEAR]LINEAR vol.25

@Heavy Sick Zero (Nakano)

quad さんステージの途中から入りました。

細江慎治さんはエロゲの歌アレンジ? ウッウーウマウマで会場みんな踊ってて キモイ 笑った。

tuvasa2001 さんとこもウッウーウマウマ。最後は「りにあのうた2 REMIXES」 M-Projectアレンジかしら。

次回の告知してたから書いて良いんだよなあ。

  • 次回
    • 5/17 あたり。渋谷のなんとか
  • ゲスト
    • ESTi
    • 大久保博
    • 佐野電磁
    • 三宅優
    • 他たくさん

08031501.jpg

_ [おやつ][とちの実せんべい]おやつ

とちの実せんべい。

img_5497.jpg

img_5498.jpg


2008-03-16 :-)

_

0900 起床。

LINEAR で動いた所為で左脇の下が筋肉痛です。足がだるいのはいつもどおりです。

_ 買い物

@ヨドバシカメラ新宿

B0009RQKRQ

B000GJ6MJI

_ [写真]yuka さんのブログの写真のセンスが素晴らしい

だいぶ前に hiroym が言っていたのでそれを意識してしばらくウォッチしてみました。Twitter に書くような気軽さで写真を撮ってブログに書くとこんな写真を撮れるかもしれません。Twitter 使えるならブログじゃなくて Twitter に投げてしまいそうになるけど。

ref.

_ [ココロ]ブログ妖精ココロから催促された

c00.png

ヽ(`Д´)ノ こうですか!よく分かりません

_ [AsiaBSDcon2008]AsiaBSDCon 2008

明日から値段が高くなるので今日のうちに申し込みました。

3/28 の T3B: Development Technique for BSD Embedded Systems を見ます。

_ [KORG DS-10][佐野電磁][光田康典]MITSUDA'S DIARY DS-10続報

( 光田康典さんとこ )

佐野電磁氏がプレゼンするのDS-10のプレイビデオロングバージョンです。

ということで見ようとしたけど途切れてしまうので youtube を検索しました。これかしら。ちなみに私は amazon にて予約済みです。

僕も曲をこれで作って電磁氏とセッションしたいと考えております(笑)

おおいに期待します。

おおいに期待します。

おおいに期待します。

B0015PSKV0

_ [リッジレーサーズ2]リッジレーサーズ2

  • 走行距離 189km
  • Basic 05 クリア

「Rage Racer Remix」を聴きながらプレイするのが夢だったんですよ!!!

_ [BAGEL & BAGEL][ベーグル][おひる]おひる

BAGEL & BAGEL のベーグルたち。以前買ったとき[ 20050528#p02 ]は二子玉川駅のそばにあったのだけど無くなってました。渋谷東急の地下で買いました。

_ [おやつ][トップス][ケーキ]おやつ

トップスのケーキ。気持ち悪くなる原因はケーキに入ってるナッツみたいな物だと思う。

_ Listen Up! を聴きつつ「りすんりすん りすんりすん」と歌いながら飯を作ってたらメールが来た

ウィットに富んだネタを考える訓練

B000NO2AQK


2008-03-17 :-)

_ 朝ったー

0540 起床。うに

_ [植松伸夫][ピアノ・コレクションズ ファイナルファンタジーIX]通勤ったー

ピアノ・コレクションズ ファイナルファンタジーIX

FF9 ピアノアレンジです。FF8 に引き続き期待を裏切らない良い作品です。「眠らない街 トレノ」はオリジナルの雰囲気が出てて素晴らしい。

B00005HTED

_ 仕事

0830 出勤。

_ [無限のリヴァイアス]そういえばリヴァイアスでは書いたプログラムをテストせずにリヴァイア船に適用してた

未来のプログラムはテスト不要?

むしろテスト駆動開発してた?

でもデバッグしてないよね。

ref. 無限のリヴァイアス - Wikipedia

_ サイドバーにいろいろ設置しても自分以外誰も見ない

RSS フィードを読んでるひとは( ヲレ含む )日記本文以外は読まないしアンテナで巡回してるひとはサイドバーにあるものは目に映ってたとしても脳内フィルタにより脳内に入らない。たまに間違い探しが入ってるかもしれません。

_ [ピザ][]飯

ピザ( ref. きょうの料理 2004-06 pp.58-59 )。2 枚重ねてます。

_ [パン]パンが失敗する原因が分かったかもしんない

最初に成功して[ 20050419#p05 ]それ以来失敗続きだったわけですが[ 20060314#p04 ][ 20070703#p13 ][ 20071120#p05 ]どうしてパンが膨らまないのだろうと思ってたんですがその原因はドライイーストを使ってなかったんだろうということに気づきました


2008-03-18 :-)

_ 朝ったー

0540 起床。

_ [人生思うがまま][植松伸夫][服部克久][おおたか静流][ファイナルファンタジー 1987-1994]通勤ったー

ファイナルファンタジー 1987-1994

エッセイ集 人生思うがまま が入っている作品です。

参加者は以下の方々。

  • 服部克久
  • 植松伸夫
  • Maire Bhreatnach
  • おおたか静流
  • Toshiyuki Mori
  • Ken Morimura

過去に発売された FF1 から FF6 アレンジを再収録したものです。「大森林の伝説」は FF5 ディアフレンズではサーミ語だった( らしい )んですがここでは日本語になってます。

ブックレットには植松伸夫さんによる全曲解説があります。珍しいです。「SCENE VII」より引用。

[ ... ] 初めて自分で編曲した曲がオーケストラによって演奏されている間、僕はずっと唇を噛みしめていたのです。実際の演奏を聴いてみると、その編曲は自分が予想していたよりもずっとひどいものでした。コンサートの後、しょげかえる僕を「これは植松君にとってのレベル 1 なんだよ。レベル 1 を経験しないとレベル 2 に行けないだろ」と励ましてくれたのは、すぎやまこういちさんでした。

植松伸夫さんの師匠は すぎやまこういちさんです。ですか?

B00005FNVL

_ 仕事

0830 出勤。

間違い探し( ただし正解は無い )。

_ [ESTi][ゲーム]Strictly Business

( ESTi さんとこ )

以前さぁぶさんから「 ぱんやの曲書いてる ESTi がスゲーんですよ」と教えていただいて、それ以来 ESTi さんのブログ( vox というところがナイス )を読んでます。ESTi さんについて詳細は wikipedia をどうぞ。

ESTi さんは日本のゲームにもたくさんの曲を書いてます。wikipedia を読んで知ったのだけどリッジレーサー 7 に 2 曲書いてます。私が毎日のように聴いてるリッジレーサー 7 の曲を書いてたなんて!よく見たらたしかにリッジレーサーズ 7 ダイレクトオーディオのアーティストに「ESTi」の文字があるではないか!!!!!1111などと脳内で興奮した記憶があります。あのころは若かった。ちなみに次回 LINEAR に来るそうですよ[ 20080315#p03 ]。

という ESTi さんのブログに音楽を作るときの日本側と韓国側とのやりとりについての記事があります。でもこれは日本と韓国とのやりとりだけでなくて日本どうしでもありそうですねというかむしろあります。

それはそれとして日本の言葉を使いこなしてるところが笑えます。

アップデート当日00時から朝8時に終わって鯖に即うp。

「うp」って言うんですね。

B000NO2AQK

_ [ハッカー][hacker]ハッカーになるために

先日 サロンパスさん ]からハッカーズなんちゃらに招待していただいたのだけどこの日記を見ても分かるように我が輩はハックに縁はあるが自分ではさっぱりハックしないというかハックするためのスキルが無いので「もうちょっとうまくできるようになったらハックするよ」というのび太メソッド炸裂させるほどの戯けモノなので最早この日記は飯かおやつかゲーム音楽のネタしか書いていないので読者は割りとガッカリしていると思われるような現状であり サロンパスさん] から誘ってもらったときも拙者の第一声は「まんじゅうこわい」であり其れ程までの怠け者なので参加することに躊躇したのだがそれではいつまで経っても何も行動しないのでここは敢えて自分を窮地に追い込むことにより行動を促進するという暴挙に出てみた次第でありんす。むしろ「夏休みの宿題」メソッド。

ref. How To Become A Hacker

_ [THE BLACK MAGES]買い物

( via FF&KH 情報倉庫 )

@渋谷タワーレコード

イベント参加券を貰ました。amazon で予約しておいて amazon から発送通知が来てるんですけどね。

ref. ザ・ブラック・メイジーズ「THE BLACK MAGES III Darkness and Starlight」 発売記念トーク&握手会@TOWER RECORDS渋谷店

B0013FCOHS

_ [リッジレーサーズ2]リッジレーサーズ2

  • 走行距離 486km
  • Basic 12 をクリア

平均 250km/h くらいになると疾走感を味わえます。

平均 300km/h は振り回されないようにするので精一杯です。

本日のツッコミ(全2件) [ツッコミを入れる]

_ さぁぶ [パンヤだけでなく、ラグナロクオンライン(一部)やら、 TalesWeaverやら、DJMAXやら、古いけどマグナカル..]

_ みわ [さぁぶさん: 機会....割りとサントラが無さそうな気がすんです]


2008-03-19 :-)

_ 朝ったー

0540 起床。

_ [植松伸夫][大木理沙][ファイナルファンタジー ヴォーカル・コレクションズ I −祈り−]通勤ったー

ファイナルファンタジー ヴォーカル・コレクションズ I −祈り−

FF1 から FF6 の曲に歌詞をつけたアルバムです。ヴォーカルは大木理沙さん。日本語の歌詞はファンタジーの色が溢れていて聴いているとけっこう恥ずかしいです。ゲーム音楽に歌詞をつけるとこうなるんだなあ、くらいに聴いてます。

B00005FNVH

_ 仕事

0830 出勤。

そういえば昔 仕様が決まってないのに「見積もれ」という依頼が来たなあ。

_ [FreeBSD][NetBSD]いよいよ7.0-RELEASE登場! FreeBSDフルコース・2008

「NetBSD フルコース」をやってくれないかなあと思ったけど「カーネル読め」で終わりそう。

_ [まつもとゆきひろ][小飼弾]エンジニアの進化は"アウトプット"にあり! まつもとゆきひろ×小飼弾

「アウトプットの数を増やせば当然叩かれることもある。それをおそれずに、叩かれることに強くなってほしい」(小飼氏)、「アウトプットの多い人ほど、たくさん学ぶことができる。RubyはOSSとして公開し、多くの人から突っ込まれ、叩かれてきたからこそ今の姿がある」(まつもと氏)

いままでアウトプットとは「ただひたすら文章を書く」「ブログを書く」ということだと思ってたけどそうじゃない。ブロガーはそれで良いけど( ブロガーってなに ) プログラマならコードをアウトプットすることが重要なんですね。なんということだ。いまさら気づくなんてなあ。

あわせて読みたい:作品をよく見せるためのお手軽なテクニック集

_ 自動返信のためのボットなんてどうだろうか

客先のひとが外出中なのを知ってるんですがそこで敢えて客先へメールを投げたら「休暇をいただいております以下略」というメールが自動返信されてきました。わざわざ自動で返信するなんてのは、コマンドに対して ack を返すとか ping に対して pong を返すとか HELO に対して 250 を返すとか、そのくらいの意味で使っているのだろうけど E-mail の特性からしてそのような行為は無意味であり計算機とネットワークの資源の無駄使いなのでどうせ無駄にするならいっそのこと返信用メッセージを人工無能に書かせるというのは如何なものか。

_ 得意な言語はなんですか?

計算機関連の文脈で上記のような質問があるときの回答に「日本語」「英語」「クリンゴン語」など自然言語が混ざっているときがあるのだけど、質問者は「自然言語も込みで回答してね」ということを言っているのか、それとも「この文脈ではプログラミング言語を回答するだろ常識的に考えて」としか考えてないのか。たぶん前者。

_ [Exif][JPEG][画像][コードリーディング][がらくた][高林哲]がらくたを読む - exif-touch

http://0xcc.net/attic/exif-touch

JPEG ファイルの mtime を Exif にある mtime に変更します。Exif についてはこちら。

module Exif
  HEADER_OFFSET1 = 12    <= TIFFヘッダー部 開始位置
  HEADER_OFFSET2 = 8

Exif というモジュールにしてます。Ruby では大文字で始めると定数になります。HEADER_OFFSET だと用途が分からないので名前を具体的にしてほしいところですが一発プログラムなのであまり深く考えなかったのでしょう。

  module_function
  def exif_file? (filename)
    exif_header = "\xff\xd8\xff\xe1"          <= SOIマーカとAPP1マーカ
    magic = File.open(filename) {|f| f.read(4) }
    magic == exif_header
  end

Exifに使われるマーカー より引用します。

Exif形式画像の最初の部分は、必ず次のような形式になっています。

SOI Marker が FFD8 で APP1 Marker が FFE1 です。これらのマジックナンバーを見て Exif ファイルか否かを判定してます。return などが書いてない場合は最後に評価した値が関数の戻り値になります。この場合はファイルの先頭 4 バイトにある数値が FF D8 FF E1 と同じならば true が返ります。そうでなければ false が返ります。

  def get_endian (f)
    f.seek(HEADER_OFFSET1)
    data = f.read(2)
    if data == "\x49\x49"
      :little_endian
    elsif data == "\x4d\x4d"
      :big_endian
    else
      raise 'unknown format'
    end
  end

49 49 などの値はなんでしょうか?

TIFF形式の最初の8バイトはヘッダー部です。最初の2バイトはバイト並びの形式を定義しています。0x4d4d:"MM"の場合はモトローラ形式、0x4949:"I I"の場合はインテル形式です。

ここの 2 バイトを見ればエンディアンが分かるようです。ちなみに キヤノン:EOS-1Ds Mark III サンプルイメージ 1 にある画像に対して以下のコードを実行したらリトルエンディアンでした。

File.open( ARGV.shift ){ |f|
  p Exif.get_endian( f )
}
% ./exif-touch portrait.jpg
:little_endian

read_directory は IFD : Image file directory を読みます。get_time とあわせて読むと面白いです。

  def read_directory (f, read_ushort, read_ulong)
    n = read_ushort.call(f)         ## ディレクトリーエントリー数
    n.times {                       ## ディレクトリーエントリー数ぶんをなめる
      tag   = read_ushort.call(f)   ## ディレクトリーエントリー 12 バイトぶん
      type  = read_ushort.call(f)
      size  = read_ulong.call(f)
      value = read_ulong.call(f)
      yield(f, tag, type, size, value)
    }
  end
  def get_time (filename)
    time = File.mtime(filename)
    begin
      raise 'not an exif file' unless exif_file?(filename)
      File.open(filename) {|f|
        read_ushort = lambda {|f| f.read(2).unpack('v').first }    ## little endian unsigned 16bit
        read_ulong  = lambda {|f| f.read(4).unpack('V').first }    ## little endian unsigned 32bit
        if get_endian(f) == :big_endian
          read_ushort = lambda {|f| f.read(2).unpack('n').first }  ## big endian unsigned 16bit
          read_ulong  = lambda {|f| f.read(4).unpack('N').first }  ## big endian unsigned 32bit
        end

        f.seek(HEADER_OFFSET1 + HEADER_OFFSET2)
        special_offset = nil
        read_directory(f, read_ushort, read_ulong) {|f, tag, type, size, value|
          special_offset = value if tag == 0x8769                  ## Exif offset
        }
        raise if special_offset.nil?

        f.seek(HEADER_OFFSET1 + special_offset)                    ## オフセット値が示すアドレス
        read_directory(f, read_ushort, read_ulong) {|f, tag, type, size, value|   ## Exif SubIFD を読む
          if tag == 0x9003                                         ## DateTimeOriginal
            curpos = f.pos
            f.seek(HEADER_OFFSET1 + value)
            s = f.read(size) # 2003:01:26 16:37:04
            if /(\d\d\d\d):(\d\d):(\d\d) (\d\d):(\d\d):(\d\d)/.match(s)
              year = $1.to_i;  mon  = $2.to_i
              day  = $3.to_i;  hour = $4.to_i
              min  = $5.to_i;  sec  = $6.to_i
              time = Time.mktime(year, mon, day, hour, min, sec)
            end
            f.seek(curpos)
          end
        }
      }
    rescue => e
      STDERR.puts "exif-touch: #{filename}: #{e.message}"
      exit 1
    end
    return time
  end
end

「ヘッダーオフセット」のところにある値の回数ぶんだけ read_directory します。special_offset = value if tag == 0x8769 は Exif Offset(0x8769) を探します。

Exif 形式の場合、IFD0の中にはExif Offset(0x8769)という特殊なタグが必ず含まれています。このオフセット値が示すアドレスには、やはりIFD形式のデーター(Exif SubIFD)が格納されており、ここにカメラの詳細情報等が書かれています。

f.seek(HEADER_OFFSET1 + special_offset) で「オフセット値が示すアドレス」まで読み飛ばします。

次の read_directory で Exif SubIFD を読み、tag 0x9003 と比較します。tag 0x9003 はオリジナル画像が撮影された日時です。その日時による Time オブジェクトを生成しておきます( Time.mktime )。

if __FILE__ == $0
  def fmt (t)
    t.strftime("%Y-%m-%d %H:%M:%S")
  end

日付と時刻を整形します。t はたぶん Time オブジェクトが入ります。strftime で 2008-03-19 18:55:22 のような文字列にします。

ここで分からないのは if __FILE__ == $0 です。__FILE__ にはこのファイル名が入ります。$0 にはこのスクリプトの名前が入ります。両方が異なる場合というのはどういう場合なんでしょうか。

  ARGV.each {|filename|
    if Exif.exif_file?(filename)
      old = File.mtime(filename)          ## ファイルの mtime
      new = Exif.get_time(filename)       ## Exif の mtime
      File.utime(new, new, filename)
      puts "#{filename}: #{fmt(old)} -> #{fmt(new)}"
    else
      puts "#{filename}: not an exif file"
    end
  }
end

メインの処理です。ARGV.each で与えたファイルをすべて処理します。

exif-touch では lambda を使ったコードが面白いです。私は lambda を使ったコードに見慣れてなかったので戸惑いました。まだ慣れてませんが。lambda の壁は高そうです。でもこの壁を超えると世界が変わりそう。

_ [バンブーブレード]バンブーブレード第24話「剣と道」における主な登場人物のレベルアップ

今回レベルアップしたひとたち

  • 石田虎侍
  • 川添珠姫
  • 千葉紀梨乃
  • 宮崎都
  • 栄花段十朗

とくに何もなかったひとたち

  • 桑原鞘子
  • 東聡莉
  • 中田勇次
  • 走行距離 1057km
  • Pro 24 をクリア
  • エンディング

_ 買い物

amazon

B0013FCOHS

本日のツッコミ(全1件) [ツッコミを入れる]

_ さいき [>得意な言語はなんですか? 方言(例えば、関西弁とか)を記入して 様子(回答)を待つとか?w まぁ〜ニュアンス的..]


2008-03-20 :-(

_ 寝る曜日

頭痛がするのでひたすら昼寝する日。

_ [リッジレーサーズ2]リッジレーサーズ2

  • 走行距離 1223km
  • DIGDUG HIJACK げっと
  • DRAGONSABER WILD GANG げっと
  • ANGELUS げっと

Crinale に勝てない。


2008-03-21 :-)

_ 朝ったー

0540 起床。

頭痛なおんない

_ 仕事

1 回やすみ

ひたすら寝る。

_ [Panasonic][Let's CF-R4][NetBSD][pxeboot][tftpboot][NFS][DHCP]Panasonic Let's CF-R4 に NetBSD をインストールする

CD-ROM や FD が無いので pxeboot します。

手順

サーバーの準備( NetBSD/i386 )

  1. sets を作る
  2. pxeboot を準備する
  3. netbsd を準備する
  4. dhcpd を準備する
  5. tftp を準備する
  6. NFS を準備する

インストールさせるクライアント( Let's CF-R4 )

  1. pxeboot_ia32.bin を取得する
  2. pxeboot_ia32.bin を起動する
  3. netbsd( netbsd-INSTALL.gz を展開して rename しとく )を取得する
  4. netbsd を起動する
  5. インストール開始する
  6. sets をサーバーから取得する
  7. インストールする

参考

サーバーの準備

sets を作る。

cd /usr/src
mkdir /usr/obj /usr/tools /usr/release
./build.sh -O ../obj -T ../tools -u tools
./build.sh -O ../obj -T ../tools -R ../release -u release

pxeboot を準備する

cd /usr/release/i386/binary/sets/
tar zxvf base.tgz ./usr/mdec/pxeboot_ia32.bin
./usr/mdec/pxeboot_ia32.bin
tar: ustar vol 1, 3784 files, 71106560 bytes read, 0 bytes written in 1 secs (71106560 bytes/sec)
mkdir -p /export/tftpboot/i386
cp /usr/release/i386/binary/sets/usr/mdec/pxeboot_ia32.bin /export/tftpboot/i386

netbsd を準備する

cp /usr/release/i386/binary/kernel/netbsd-INSTALL.gz /export/tftpboot/i386
cd /export/tftpboot/i386
gunzip netbsd-INSTALL.gz
mv netbsd-INSTALL netbsd

dhcpd を準備する

/etc/dhcpd.conf を編集する。

host megumi {
 hardware ethernet 00:0B:97:2F:71:B1;
 fixed-address 192.168.0.8;
 filename="i386/pxeboot_ia32.bin";
 next-server 192.168.0.6;
 option root-path="/export/tftpboot/i386/";
}

再起動

/etc/rc.d/dhcpd restart

tftp を準備する

/etc/inetd.conf を編集する。

tftp            dgram   udp     wait    root    /usr/libexec/tftpd      tftpd -l -s /export/tftpboot

再起動

/etc/rc.d/inetd restart

NFS を準備する

/etc/exports を編集する。

/export -maproot=0 -noresvport -noresvmnt -network 192.168.0.0    -mask 255.255.255.0   -alldirs

/etc/rc.conf を編集する。

rpcbind=yes
mountd=yes
nfs_server=yes
lockd=yes
statd=yes

再起動。

/etc/rc.d/mountd restart
/etc/rc.d/nfsd restart

sets をコピーする

cp -R /usr/release/i386/binary/sets /export/tftpboot/i386/

こんな状態になる。

ls /export/tftpboot/i386/
netbsd   pxeboot_ia32.bin    sets/

クライアントのインストール

Let's CF-R4 の電源を入れた直後の「 Panasonic 」のロゴが出てるうちに F12 を叩くと PXE 起動に移行する。

pxeboot して netbsd-INSTALL が起動して sysinst が起動する。

disklabel はこんな。

img_5511.jpg

配布元は netbsd.org を使っても良いのだけどせっかくだからサーバーに作った sets を使う。sets を作ったときに X11 関連の物を作らなかったので Full installation じゃなくて Custom installation を選択する。Full を選択すると xbase 等をインストールしようとしてエラーになる。

img_5508.jpg

インストールするのはこれだけ。

img_5510.jpg

NFS の設定。サーバーを上記のように作った場合は以下のように設定する。

img_5506.jpg

あとは普通にインストールするだけ。

_ [狼と香辛料]ホロの狡猾そうなこの表情が良い

オープニング

h00.png

ref. 狼と香辛料

_ [][]飯

鍋。ヤマト醤油 の なべ味噌を買っておきながら[ 20080211#p04 ]まだ使ってなかったので使ってみた。うま。

_ [おやつ][日向夏]おやつ

日向夏。砂糖に漬けてみた。

_ [リッジレーサーズ2]リッジレーサーズ2

  • 走行距離 2101km
  • EX ツアー全コースクリア
  • Pro はクリナーレを放置したまま

EX ツアーラストのスペシャルコースでドラゴンセイバーを使ったら平均 370km/h とかニトロ使って 400km/h 超えるとか目が追いつきません速すぎです。

こんな世界。


2008-03-22 :-)

_ 朝ったー

0700 起床。頭痛が治ったようなのでチャリる。体力オチまくっている。さぁぶさんちでリッジレーサー7 をプレイする白昼夢を見た。

_ 朝飯る

日向夏のジャムを作ったので食べてみるれ。砂糖漬けにしたアレを煮ただけな。

_ [リッジレーサーズ2] リッジレーサーズ2

  • MAX ツアーに挑戦
  • スタート直後にニトロされた
  • 普通に走ってたら普通に追い抜かれた
  • ようやく追いつきそうなところでニトロで逃げられた

勝てないよ!

無限ニトロか!?

スペシャルクラスの車体に挑戦するようなやり方と同じ戦術でいいのかなあ。

_ [FON][PSP][Skype]Fon 経由して PSP で Skype つなげた

つなげただけ。

PSP 用の機器が無いので会話してないです。何が必要なのかリサーチしてないです。ヘッドセットだけでも良いような気がするけど。

ref. 接続機器 PSPで接続する - FoNまとめwiki

_ [いちごのムース][神田ベローチェ]ちょっと休憩

神田ベローチェ。

いちごのムース。

08032201.jpg

_ [][]飯

蔵で飯

miwarin、Usada

畑亜貴のサインが書いてある何かを貰ったり。

_ [リッジレーサーズ2]リッジレーサーズ2

  • 走行距離 2525km
  • MAX ツアー 01 クリア
  • スペシャルの車種への対策と同じ手法でクリアできた
本日のツッコミ(全2件) [ツッコミを入れる]

_ よしみつ [みわさん昨日蔵にいたんですか・・・ 私はやまし田だったりw]

_ みわ [よしみつくん: うむ。体調がいまいちよくないのでとっとと帰りました]


2008-03-23 :-)

_ [コメント][spam]コメントにあった釣りにマジレスした

それはそれで釣られたということか。

該当コメントは非表示にした。

_ [スクウェアエニックス]スクウェアエニックスメンバーズページとかなんとかを作ってみた

FF&KH 情報倉庫 のひとがスクエニにページを作っていたのでそんなサービスがあることを知りました。活用するかどうかは別として。

_ [CCFF7]CCFF7

開始。

戦闘の D.M.W はアンリミテッドサガのスロットを思い出します。

_ [][カニ缶ピラフ]飯

カニ缶ピラフ( ref. きょうの料理 2004-06 p.50 )

img_5513.jpg

_ [おやつ][さくらマカロン][酒粕マカロン]おやつ

さくらマカロン・酒粕マカロン。昨日ホテルニューオータニのパティスリー SATSUKI で買っておいたものです。

img_5522.jpg


2008-03-24 :-)

_ 朝ったー

0540 起床。

_ [植松伸夫][大木理沙][野口郁子][ファイナルファンタジー ヴォーカル・コレクション 2 ラブ・ウィル・グロウ]通勤ったー

ファイナルファンタジー ヴォーカル・コレクション 2 ラブ・ウィル・グロウ

歌は大木理沙さん、野口郁子さん。相変わらず日本語の歌詞を聴くのは恥ずかしいですがアレンジした曲を聴くぶんには楽しめます。「はるかなる故郷」等オリジナルの雰囲気と異なるアレンジが気になるかもしれませんが、そこを楽しむのも良いかもしれません。

B00005FNW2

_ 仕事

0830 出勤。

_ ネットで使うIDはまとめておいた方がやっぱり楽しいかも

新しいサービスが出来たら光速で自分のアカウントを取得しておくといいです。使うかどうかは別として。さもないと はてなで id:rin51 とか Yahoo! で riinn5511 とか Skype で miwa-rin といった自分でも分かりづらい ID を使うことになりますというか Yahoo! の ID はこれであってたか自信ありません。

_ [ガンダム 00]ガンダム 00 を見た

  • ひと死にすぎ
  • サジの出番はどうなった
  • グラハムはどこに行った
  • この回になってようやくあの船が「プトレマイオス」なのだと覚えた
  • コックピット狙撃されて人間の造形が残ってるのはおかしい
  • 小説が出るとしたらあの場面は「蒸発した」と手短に書きそう
  • プトレマイオスクルーの名前は結局スメラギさんしか覚えてない
  • ソレスタルナントカの組織全体が未だ不明
    • ガンダムを組み立てるひととか居るだろ
    • あでもガンダムウィングでは 5 人のじいさん達だけだったのだっけ

_ [Armadillo9][NetBSD]Armadillo9 に NetBSD を入れる( 準備 )

参考

作業

「Armadillo-9を使ったMicroDriveのパーティショニング」「PCを使ったNetBSD/evbarmのインストール」の手順は tokuda.net さんのところに書いてあることをそのままやる。release を作る方法は書いてないので手探りでやってみた。こう?

/usr/src/sys/arch/evbarm/conf/ARMADILLO9_INSTALL を作る

#      $NetBSD$
#
#      ARMADILLO9_INSTALL -- ARMADILLO9 kernel with installation-sized
#      ramdisk
#

include "arch/evbarm/conf/ARMADILLO9"
include "arch/evbarm/conf/INSTALL"

/usr/src/etc/etc.evbarm/Makefile.inc を変更する

.if ${MACHINE_ARCH} == "arm"
# Little endian platforms
EVBARM_BOARDS=         ARMADILLO9 ARMADILLO210 ADI_BRH INTEGRATOR IQ80310 IQ80321 SMDK2410 SMDK2800 \
                       TEAMASA_NPWR TS7200 TWINTAIL

tools を作る

./build.sh -m evbarm -T /usr/src/evbarm.tools -R /usr/src/evbarm.release tools

release を作る。3.5 時間ほどかかるので寝て待つ。

./build.sh -m evbarm -T /usr/src/evbarm.tools -R /usr/src/evbarm.release kernel=ARMADILLO9 release
:
===> Summary of results:
         build.sh command: ./build.sh -m evbarm -T /usr/src/evbarm.tools -R /usr/src/evbarm.release kernel=ARMADILLO9 release
         build.sh started: Mon Mar 10 19:52:29 JST 2008
         NetBSD version:   4.99.55
         MACHINE:          evbarm
         MACHINE_ARCH:     arm
         Build platform:   NetBSD 4.99.55 i386
         HOST_SH:          /bin/sh
         TOOLDIR path:     /usr/src/evbarm.tools
         DESTDIR path:     /usr/src/obj/destdir.evbarm
         RELEASEDIR path:  /usr/src/evbarm.release
         makewrapper:      /usr/src/evbarm.tools/bin/nbmake-evbarm
         Updated /usr/src/evbarm.tools/bin/nbmake-evbarm
         Building kernel without building new tools
         Building kernel:  ARMADILLO9
         Build directory:  /usr/src/sys/arch/evbarm/compile/obj/ARMADILLO9
         Kernels built from ARMADILLO9:
          /usr/src/sys/arch/evbarm/compile/obj/ARMADILLO9/netbsd
          /usr/src/sys/arch/evbarm/compile/obj/ARMADILLO9/netbsd-epe0
          /usr/src/sys/arch/evbarm/compile/obj/ARMADILLO9/netbsd-wd0
          /usr/src/sys/arch/evbarm/compile/obj/ARMADILLO9/netbsd-sd0
         Successful make release
         build.sh ended:   Mon Mar 10 23:13:43 JST 2008
===> .

_ [Armadillo9][NetBSD]Armadillo9 に NetBSD を入れる( 起動失敗 )

ジャンパを 刺して 電源を入れた。起動した。途中で止まった。

Hermit-At v1.0.0 (armadillo9) compiled at 18:43:28, Sep 26 2005
Disk drive detected: HMS360604D5CF00 DP4OC40D       DNP450B4VL6ABA
/dev/hdc1: start=0x0000003f, size=0x000032f1
Image.gz is found.
Copying        kernel.......done.
Uncompressing  kernel......................................................................
..........................done.
Doing noinitrd
Doing root=/dev/hdc
Doing mtdparts=armadillo9-nor:0x10000(bootloader)ro,0x170000(kernel),0x670000(userland),-(c
onfig)

NetBSD/Armadillo-9 booting ...
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.99.55 (ARMADILLO9) #4: Mon Mar 10 21:38:16 JST 2008
	rin@yukina.area51.gr.jp:/usr/obj/sys/arch/evbarm/compile/ARMADILLO9
total memory = 65536 KB
avail memory = 60292 KB
mainbus0 (root)
cpu0 at mainbus0: ARM920T rev 0 (ARM9TDMI core)
cpu0: DC enabled IC enabled WB enabled EABT
cpu0: 16KB/32B 64-way Instruction cache
cpu0: 16KB/32B 64-way write-back-locking-A Data cache
epsoc0 at mainbus0: Cirrus Logic EP93xx SoC rev E0
epsoc0: fclk 200.02 MHz hclk 100.01 MHz pclk 50.00 MHz
epclk0 at epsoc0 addr 0x80810000-0x8081008f intr 4
epgpio0 at epsoc0 addr 0x80840000-0x808400cb intr 59
gpio0 at epgpio0: port A: 8 pins
gpio1 at epgpio0: port B: 8 pins
gpio2 at epgpio0: port C: 8 pins
gpio3 at epgpio0: port D: 8 pins
gpio4 at epgpio0: port E: 8 pins
gpio5 at epgpio0: port F: 8 pins
gpio6 at epgpio0: port G: 8 pins
gpio7 at epgpio0: port H: 8 pins
epled0 at epgpio0: port E bit1 0 bit2 1
armadillo9iic0 at epgpio0: port B bit1 4 bit2 5
iic0 at armadillo9iic0: I2C bus
seeprom0 at iic0 addr 0x50: AT24Cxx EEPROM

seeprom0 で止まった。このあと何をやろうとしてるんだろう。ぐぐる。

Armadillo210 ですが。seeprom0 のあとは epe0 を処理してる?/usr/src/sys/arch/evbarm/conf/ARMADILLO9 を眺める。

# AHB Peripheral
# On-chip 10/100 Ethernet
epe0            at epsoc? addr 0x80010000 size 0x10000 intr 39

アドレスが変とか、というわけじゃなさそう。Ethernet ケーブルを刺してないとダメとか?

_ [ソフトフランスパン][みそクリームシチュー][]飯

みそクリームシチュー( ref. きょうの料理 2007-12 p.112 )、ソフトフランスパン( ref. きょうの料理 2005-03 pp117-119 )。

  • 問題:パンが膨らまない
  • 原因:コネが足りない

昨日パンをこねて今日は筋肉痛です。

img_5524.jpg

_ [デジタルマクロ]デジタルマクロってなに?

キヤノンカメラミュージアム - 技術館

●デジタルマクロモード
マクロモードに加え、より被写体を拡大して撮影できる「デジタルマクロモード」を搭載しています。デジタルマクロモードは、デジタルズーム機能を利用し、画像の中央を拡大して撮影するものです。

●デジタルマクロモード
マクロモードに加え、より被写体を拡大して撮影できる「デジタルマクロモード」を搭載しています。デジタルマクロモードは、デジタルズーム機能を利用し、レンズがワイド端のとき、レンズと被写体の距離が3〜10cmの範囲で撮影することができます。もっとも拡大した状態では、10.2×7.5mmの範囲が撮影できます。

●デジタルマクロ
マクロに加え、より被写体を拡大して撮影できる「デジタルマクロ」を搭載しています。デジタルズーム機能を利用し、画像の中央を拡大します。もっとも拡大した状態で、17×13 mmの範囲が撮影できます。

●デジタルマクロモード
マクロモードに加え、より被写体を拡大して撮影できる「デジタルマクロモード」を搭載しています。デジタルマクロモードは、デジタルズーム機能を利用し、画像の中央を拡大して撮影するものです。もっとも拡大した状態で、14×11mmの範囲が撮影できます。


2008-03-25 :-)

_ 朝ったー

0540 起床。

_ [ファイナルファンタジーソングブック まほろば][植松伸夫][清田愛未][長谷川友二]通勤ったー

ファイナルファンタジーソングブック まほろば

FF 曲のボーカルアレンジです。アレンジは長谷川友二さん。歌は清田まなみさん( 現在は清田愛未 )。オリジナル曲に忠実にアレンジされてます。長谷川友二さんによるアコースティックギター演奏が良いです。清田まなみさんの声はちょいと力が弱いのであまり印象に残らないかもしれません。

「明日の夢も忘れて」は TEN PLANTS[ 20070919#p02 ]に収録されてる植松伸夫さんの曲のアレンジです。これはオリジナルのほうが良いかなあ。

「廻る光」の 07:35 から FF9 「いつか帰るところ」のアレンジになります。収録が終わったあとの打ち上げのようなお祭り騒ぎです。すごく楽しそう。文字通り「音を楽しむ音楽」という空気を感じられます。アタシはこの部分が大好きです。こーいう曲に参加したいです。けまらしい。

B000197ITG

_ 仕事

0830 出勤。

_ [safari]Win版iTunesアップデートにSafari,MozillaのCEOがAppleを批判:ITpro

これってアップルだから「こやつめ ハハハ」で笑って済まされるけど( 私は笑って済ました )同じことをマイクロソフトがやったら反響が大きそうです。

_ [を] リア充

「あだち充」

_ [twitter]みんなのTwitterスタイルまとめ

スタイル。

_ [xorg][NetBSD][Let's note CF-R4]Let's note CF-R4 NetBSD に xorg を入れる( 途中 )

ref. How to install modular Xorg - NetBSD Wiki

/etc/mk.conf に以下を追加

X11_TYPE=modular
# cd /usr/pkgsrc/x11/modular-xorg-server
# make install clean-depends

ok

# cd /usr/pkgsrc/meta-pkgs/modular-xorg-apps
# make install clean-depends

ok

# cd /usr/pkgsrc/meta-pkgs/modular-xorg-fonts
# make install clean-depends

失敗。後述

# cd /usr/pkgsrc/x11/xf86-input-keyboard
# make install clean-depends

ok

# cd /usr/pkgsrc/x11/xf86-input-mouse
# make install clean-depends

ok

# cd /usr/pkgsrc/x11/xf86-video-intel
# make install clean-depends

ok

meta-pkgs/modular-xorg-apps でエラー

# cd /usr/pkgsrc/meta-pkgs/modular-xorg-apps
# make install clean-depends

:

=> Full dependency xinit-[0-9]*: found xinit-1.0.7nb2
=> Full dependency xkill-[0-9]*: found xkill-1.0.1
=> Full dependency xload-[0-9]*: found xload-1.0.2
=> Full dependency xlogo-[0-9]*: NOT found
=> Verifying update for ../../x11/xlogo
===> Resuming update for xlogo-1.0.1nb1
=> Bootstrap dependency digest>=20010302: found digest-20070803
===> Checking for vulnerabilities in xlogo-1.0.1nb1
===> Building for xlogo-1.0.1nb1
/usr/bin/make  all-am
if cc -DHAVE_CONFIG_H -I. -I. -I.   -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/freetype2 -D_POSIX_THREAD_SAFE_FUNCTIONS -I/usr/pkg/include   1 -D_POSIX_THREAD_SAFE_FUNCTIONS -I/usr/pkg/include   -D_POSIX_THREAD_SAFE_FUNCTIONS -I/usr/pkg/include -I/usr/pkg/include/freetype2   -D_POSIX_THREAD_SAFE_FUNCTIONS -I/usr/pkg/include -O2 -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/freetype2 -MT xlogo-print.o -MD -MP -MF ".deps/xlogo-print.Tpo"  -c -o xlogo-print.o `test -f 'print.c' || echo './'`print.c;  then mv -f ".deps/xlogo-print.Tpo" ".deps/xlogo-print.Po";  else rm -f ".deps/xlogo-print.Tpo"; exit 1;  fi
gcc: 1: No such file or directory
In file included from print.c:33:
print.h:36:39: error: X11/XprintUtil/xprintutil.h: No such file or directory
print.c: In function 'FinishPrinting':
print.c:132: warning: initialization makes pointer from integer without a cast
print.c: In function 'DoPrint':
print.c:198: warning: assignment makes pointer from integer without a cast
print.c:246: warning: assignment makes pointer from integer without a cast
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/x11/xlogo/work/xlogo-1.0.1
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/x11/xlogo/work/xlogo-1.0.1
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/x11/xlogo
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/x11/xlogo
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/x11/xlogo
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/meta-pkgs/modular-xorg-apps
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/meta-pkgs/modular-xorg-apps

X11/XprintUtil/xprintutil.h: No such file or directory って言うけどあるんだよなあ。

# ls -l /usr/pkg/include/X11/Xpkg/include/X11/XprintUtil/xprintutil.h
-r--r--r--  1 root  wheel  11095 Mar 23 16:08 /usr/pkg/include/X11/XprintUtil/xprintutil.h

_ [][きのこの炊き込みご飯]飯

きのこの炊き込みご飯( ref. きょうの料理 2007-09 p.86 )

img_5527.jpg

img_5528.jpg


2008-03-26 :-)

_ 朝ったー

0540 起床。

_ [DIRGE of CERBERUS -FINAL FANTASY- MULTIPLAYER MODE][浜渦正志][山崎良]通勤ったー

DIRGE of CERBERUS -FINAL FANTASY- MULTIPLAYER MODE

ゲーム未プレイ。作曲は浜渦正志さん、山崎良さん。浜渦正志さんらしい曲が多いです。音の使い方が「武蔵伝 2」と似ています。ゲームシステムを知らないのだけどフィールドを移動しつつ敵とエンカウントしたらバトル、というシステムとは違うのかしら。聖剣伝説や FF12 のようにフィールドとバトルの境が無いようなシステムかしら?バトルフィールドっぽい曲が多いです。サントラを聴いただけだとオープニングやエンディングの曲が無いのだけどゲームにも無いのかしら。どうも始まりと終わりがはっきりしないサントラです。

購入は iTunes Store です。

_ 仕事

0830 出勤。

_ BETTA FLASH ワンマンライブがあるんだが

チケット購入するサイトに個人情報を登録して( それはどうでもいいんだが )メールアドレスを登録するのだけど、サイトのポリシーとして gmail.com を登録できないらしいので萎えてしまって結局まだ買ってないです。いや gmail.com 以外にもいくつかメールアドレスを持ってるから問題無いのだけどね。それはそれとして。gmail.com 以外にも yahoo 等のフリーメールアカウントとかいうメールアドレスは登録を拒否してるようです。ええと。example.jp が登録できたらそれはそれで面白いですね。

_ [爆笑問題] 爆笑問題のニッポンの教養 爆笑問題×京大 独創力!

昨日たまたま見ました。京都大学へ行って爆笑問題 x 教授 x 学生で盛り上がろうぜということで「独創力」について話してました。内容は独創とはなんぞや、独創は必要なのか、独創を育てるためにどーすんのか、などといった話題でした。それはそれとして。

この番組はたまに見るのだけど( 録画して毎回見る、というほど熱心じゃない ) 爆笑問題の大田が面白い。というかすごい。納得できなかったらしつこく「なんで?なんで?なんで?なんで?なんで?」とツッコミを入れてそこは id:jkondo を連想させるのだけど、すごいと思ったのは大田は自分を否定できるところ。自尊心バトルに陥らないでちゃんと自分を理解してる。自分が間違ってたらちゃんとそれを認めてる。出来て当たり前? やあ、私はそれがなかなか出来ないんだよねえ。大田はすごいと思った。

_ 買い物

amazon

B0013FCPDG

_ ぐったり

帰宅して batan-q

_ [幻魔大戦][石ノ森章太郎]BS2 とことん!石ノ森章太郎 / 第四夜 の幻魔大戦を見た

  • 初めて見たのは 25 年くらい前
  • 内容はさっぱり覚えてない
  • 幻魔ってなんだっけ?
  • 変なおばさんが「ヒッヒッヒ」と笑いながら踊ってるような記憶があった

くらいの勢いです。幻魔大戦の原作があるのか( ありそうだ )何も前提知識が無い状態です。いま見てみると話の流れが強引なところもあるけど、幻魔大戦の一番の功績は超能力を可視化したことじゃなかろうか。AKIRA はどう見ても幻魔大戦に影響されてるし( スタッフに大友克洋が居たし )登場するキャラクターのデザインが大友克洋の絵っぽいですと思ったら キャラクターデザイン大友克洋 でした( ref. 幻魔大戦 - Wikipedia )

本日のツッコミ(全3件) [ツッコミを入れる]

_ ぶんじ [幻魔大戦は平井和正の小説読むと映画とちがうやんけーとなりますが、面白いのでオヌヌメ。まぁ今は多分絶版かな??]

_ とんどら [幻魔大戦は小説だけ全部読んでアニメは見てませんが、あの小説を真面目に2時間アニメ化すると金返せ〜ってなりかねないので..]

_ みわ [ぶんじさん: amazonに真幻魔大戦というのがありました。なんかもうマダラみたいにごちゃごちゃしてますね。 とん..]


2008-03-27 :-)

_ 朝ったー

0540 起床。ねむ。

_ [植松伸夫][福井健一郎][関戸剛][河盛憲次][ファイナルファンタジーVII アドベントチルドレン]通勤ったー

ファイナルファンタジーVII アドベントチルドレン

作曲( 編曲 )は以下の方々。いま気づいたけど全員 THE BLACK MAGES のメンバーです。

  • 植松伸夫
  • 福井健一郎
  • 関戸剛
  • 河盛憲次

FF7AC は FF7 の後日談の作品です。なので FF7 オリジナルをアレンジした曲が多いです。FF7AC サントラは買うつもりは無かったのだけど作品冒頭のバイクバトルの曲「Beyond The Wasteland」が気に入ったので買いました。ロックアレンジが多いです。植松さんがロックアレンジするのが珍しかったので驚きましたが元々植松さんはロック大好きなひとなのでロック魂を炸裂させたのかもしれません。

  • 闘う者達 [Piano Version]:FF7 ピアノコレクションズ[ 20080313#p02 ]にあった「闘う者達」です。
  • 再臨:片翼の天使〜Advent:One-Winged Angel〜:FF7「片翼の天使」のアレンジです。コンサートでよく演奏されます。

B000AO8CH4

_ 仕事

0830 出勤。

仕事場の敷地内の桜がけっこう咲いてるので撮影したいのだけど客先の敷地なので自重してます。桜撮らせろ。

_ トイレで知人に遭遇したときは挨拶したものか迷う

スルーするのがマナー?

_ [夜のお菓子][うなぎパイ]うなぎパイを貰った

夜のお菓子ってなに?

「うなぎパイ」には疲労回復に良いといわれているビタミン A や夜の調味料ともいわれているガーリックを使用しているため "パワーが沸く" ということから「夜のお菓子」というキャッチフレーズがつけられました。

うなぎパイは「夜のお菓子」という有名なキャッチフレーズでも知られているが、このキャッチフレーズ自体はもともと、出張や旅行のお土産として家庭に買って帰ったその夜(晩)に「一家だんらんのひとときを『うなぎパイ』で過ごしてほしい。」との願いを込めて当時の社長が考案したものである。

_ ゆるふわ愛され系ってよく分からないけど

たぶん木之本桜のことなんだと思う。

_ フロクライミング

露天風呂の岩でクライミングすること。

_ Windows Updateを適用していない人がいます

( via インフラ管理者の独り言(はなずきん@酒好テム管理者))

「Windows Updateって、本当に必須と言えるほど重要なのか?」

Windows Update なんてユーザーに見せないで出荷時の Windows がデフォルトで Windows Update するようにしておけばいい。どうせ必要なんだから。という発想なら誰でもすると思うのだけどそのようには実装されてません。実装されないということは何か理由があってやってないんですよね。以下思いつく理由。

  • ユーザーに選択肢を持たせるため
  • ユーザーに責任を持たせるため
  • ユーザーはオペレーティングシステムがやってることを把握したいと考えてる、とマイクロソフトは考えてる
  • Windows は安全です

逆に Windows Update をデフォルトで実行させるたった 1 つの理由。

  • 手作業はどうせ自動化する

まさか技術者なのに「俺は全部手動でやりたいんだ」なんて言うひとは居ませんよね?

_ [Unicode][オープンソース][萌え][Greasemonkey][JavaScript]「オープンソース」という文字列を片っ端から「萌え」に置換する Greasemonkey スクリプト

そうそう、この話をもう少し面白おかしく読みたいと思う人は、「オープンソース」という文字列を脳内で片っ端から「萌え」に置換してみるとよろしい。まー要するにパターン化してるんですよホント。

Greasemonkey とか JavaScript なんてまったくの素人なのだけどコピペしながら書いてみました。@name とか書き方を知らないのでテキトーです。

// ==UserScript==
// @name           OSS2moe
// @namespace      http://www.area51.gr.jp/
// @description    convert "オープンソース" to "萌え"
// @include        *
// @version        1.0
// ==/UserScript==

//
// via yusuke@blog ≫ Twitter に Google Maps へのリンクを追加するグリモン http://www.sukechan.net/blog/archives/26/
// ref. 某日記(後期) http://diary.imou.to/~AoiMoe/2008.03/late.html#2008.03.26_s01_p03
// 「オープンソース」という文字列を脳内で片っ端から「萌え」に置換してみるとよろしい
//

(function() {
  const strFrom = /\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9/g; //オープンソース
  const strTo = '\u840C\u3048';  //萌え
  var x = document.evaluate('//div', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  for (var i = 0; i < x.snapshotLength; i++) {
    x.snapshotItem(i).innerHTML = x.snapshotItem(i).innerHTML.replace( strFrom, strTo );
  }
})();

ref.

_ [Unicode][スイーツ][Greasemonkey][JavaScript]「スイーツ」という単語を見つけたら末尾に「(笑)」をつける Greasemonkey スクリプト

形態素解析なんてしてないので「アバランチ」が「アバランチ(笑)」になったりします。

// ==UserScript==
// @name           warai
// @namespace      http://www.area51.gr.jp/
// @description    add "スイーツ" + "(笑)"
// @include        *
// @version        1.0
// ==/UserScript==


(function() {
  const strMatch = /(\u30D1\u30B9\u30BF|\u30E9\u30F3\u30C1|\u30BB\u30EC\u30D6|\u30B9\u30A4\u30FC\u30C4|\u30ED\u30CF\u30B9|\u30B9\u30ED\u30FC\u30D5\u30FC\u30C9|\u30B9\u30ED\u30FC\u30E9\u30A4\u30D5|\u30E2\u30C6\u30AB\u30EF|\u30A8\u30ED\u30AB\u30EF|\u30AD\u30E2\u30AB\u30EF|\u30DE\u30A4\u30CA\u30B9\u30A4\u30AA\u30F3|\u30EF\u30FC\u30AD\u30F3\u30B0\u30D3\u30E5\u30FC\u30C6\u30A3\u30FC|\u604B\u611B\u4F53\u8CEA)/g;
  const strW = '\u0028\u7B11\u0029';  //(笑)
  var x = document.evaluate('//div', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  for (var i = 0; i < x.snapshotLength; i++) {
    x.snapshotItem(i).innerHTML = x.snapshotItem(i).innerHTML.replace( strMatch, '$1' + strW );
  }
})();

マッチさせる単語は スイーツ(笑)とは - はてなダイアリー からいくつか抜粋しました。

  • パスタ
  • ランチ
  • セレブ
  • スイーツ
  • ロハス
  • スローフード
  • スローライフ
  • モテカワ
  • エロカワ
  • キモカワ
  • マイナスイオン
  • ワーキングビューティー
  • 恋愛体質

_ [マッシュポテトグラタン][]飯

マッシュポテトグラタン( ref. きょうの料理 2007-12 p.125 )

img_5530.jpg


2008-03-28 :-)

_ 朝ったー

0800 起床。だる

_ 仕事

1 回休み

_ [バンブーブレード] バンブーブレードの舞台は神奈川県なのか

第 25 話。

b00.png

神奈川県ホームページ の県章

logo_kanagawa.jpg

_ [AsiaBSDCon][NetBSD]AsiaBSDCon 2008 2 日目

初めての AsiaBSDCon です。BSD 開発者に知り合いなんて居ないし NetBSD を使ってるだけだし send-pr したこことないし英語セッションばかりだけどせっかくだから行ってみました。

In Memory of Jun-ichiro "itojun" Hagino

最初に感想

面白かった。やはり BSD は良い。萌え萌えですね。3/29 以降は FreeBSD の話題が多いみたいだけどせっかくだから行くことにします。そいや周囲の友人たちには FreeBSD 使いが多いけど AsiaBSDCon の話題を聞かないです。

貰い物

会場に入ってすぐに貰いました。資料などです。

img_5532.jpg

今日のチュートリアル資料です。

img_5534.jpg

3/29 以降の論文セッション等の資料です。

img_5535.jpg

タイムスケジュール

img_5536.jpg

ネックストラップです。うふふ

img_5537.jpg

BSD MAGAZINE が復活?

img_5533.jpg

T3B: BSDの組み込みへの適用方法

  • クロスビルド
    • NetBSD OpenBSD は楽
    • FreeBSD Linux はつらい
  • CF/USB メモリに NetBSD
    • なんちゃって組み込み
    • 社内プレゼンとかにいいよ
  • NetBSD
    • 異なるアーキテクチャでもデバイスドライバがそのまま動くことが多い
    • build.sh いいよ
  • クランチバイナリ
  • BSD ソースコードの値段
    • いま無料
    • 30 年前は 1000 万円
    • AT&T へのライセンス料とかいろいろ
  • デバイスドライバ
FreeBSD => OpenBSD => NetBSD
        |++++++++++++|
         ここを itojun がやってた
         NetBSD への移植は速かった

_ ぐったり

体力の全開なので帰宅後 btn-q

_ 5時間後

起きた。だる

_ 生活のリズムは重要

  • 普段
    • 2330 就寝
    • 0540 起床
  • 昨日
    • 0230 就寝 幻魔大戦を見た[ 20080326#p08 ]
    • 0540 起床
  • 今日
    • 0800 起床 かなりつらい
    • 1500 起きてるのがつらいので 6 時間寝た

普段は睡眠時間ギリギリの生活しているようです。だからどこかでリズムを変えるとかなり堪えるようです。


2008-03-29 :-)

_ [AsiaBSDCon]AsiaBSDCon 2008 3 日目

  • P1B: Tracking FreeBSD in a Commercial Setting
  • Key Note
  • P3B: BSD implementations of XCAST6
  • P4B: Send and Receive of File System Protocols: Userspace Approach With puffs

XCAST の講演者は日本人ですが英語でした。それ以外の方々はネイティブな英語でした。XCAST のひとはかろうじて聞き取れたけどそれ以外のひとはさっぱりさっぱり。スライドの文字を追ってました。英語を聞き取れないと絶望的に分かりません。明日も行きます。

_ [おやつ][チーズケーキ]おやつ

チーズケーキ。

img_5542.jpg

_ [おやつ][六花亭][チョコレート]おやつ

六花亭のチョコレート。

img_5543.jpg

賞味期限は 2007-06-15

img_5544.jpg

img_5545.jpg

_ [リッジレーサーズ][LINEAR]ちょっとエッチな感じがいいよね

下世話といえば……「ちょっとエッチな感じがいいよね」という話から、デザイナーとのやりとりで「この辺をこういう感じで」と永瀬麗子のイメージを切り出したものを送ってみたら、デザイナーの方と気があっていたというか、「前に壁紙作るときに切り出した絵があるんだよね」と見せてもらったのがまったく同じ「永瀬麗子の足」の部分だったんですよ。

ということでたとえば LINEAR vol.01 の絵を使ってみます。

flyer1a.jpg

胸を切り出す。

l00.jpg

足を切り出す。

l01.jpg

_ [Let's CF-R4][NetBSD][xorg]Let's CF-R4 の NetBSD に xorg を入れる( 途中 )

グーグル検索しながら適当( t e k i t o - )に /etc/X11/xorg.conf を書きつつ startx を繰り返す生活をしているのだが言うなれば

  1. /etc/X11/xorg.conf を書く
  2. startx

1 と 2 を行ったり来たりしております。とりあえず X が起動しました。

# tail -20 /var/log/Xorg.0.log
(**) Option "XkbRules" "xorg"
(**) Keyboard1: XkbRules: "xorg"
(**) Option "XkbModel" "jp106"
(**) Keyboard1: XkbModel: "jp106"
(**) Option "XkbLayout" "jp"
(**) Keyboard1: XkbLayout: "jp"
(**) Option "XkbOptions" "ctrl:swapcaps,caps:capslock"
(**) Keyboard1: XkbOptions: "ctrl:swapcaps,caps:capslock"
(**) Option "CustomKeycodes" "off"
(**) Keyboard1: CustomKeycodes disabled
(II) XINPUT: Adding extended input device "Keyboard1" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE)
(II) 3rd Button detected: disabling emulate3Button
(WW) VESA(0): remove MTRR 0 - 1000
(WW) VESA(0): remove MTRR 0 - 1000
(WW) VESA(0): remove MTRR 0 - 1000
(WW) VESA(0): remove MTRR 0 - 1000
(WW) VESA(0): remove MTRR 0 - 1000
(WW) VESA(0): remove MTRR 0 - 1000
FreeFontPath: FPE "/usr/pkg/lib/X11/fonts/misc/" refcount is 2, should be 1; fixing.

入力デバイスから何も操作できません。Let's CF-R4 のタッチパッドは synaptics デバイスナントカらしいです。Windows のシステム情報 でいうコレ。

IRQ 12	Synaptics PS/2 Port TouchPad	OK

ナンデスカソレ?カーネルコンフィグする必要があるらしいです。アーッ Let's にソースコード置いてない!とりあえず別の計算機で見るみる。これ

rin@hitomi[~]% grep PMS /usr/src/sys/arch/i386/conf/GENERIC
#options      PMS_DISABLE_POWERHOOK   # Disable PS/2 reset on resume
#options        PMS_SYNAPTICS_TOUCHPAD  # Enable support for Synaptics Touchpads

明日にでもソースコードを cvs co します。


2008-03-30 :-)

_ [AsiaBSDCon]AsiaBSDCon 2008 4 日目

  • P5A: Logical Isolation in the NetBSD Kernel
  • P6A: A Portable iSCSI Initiator

Xen を使ってウハウハとか? iSCSI の利用方法とか。相変わらず英語ですが。どうにも疲労しまくっていたので午前中で抜け出して帰宅しました。

AsiaBSDCon 2008 は私にとって初めての BSDCon だったわけですが英語を聞き取るスキルが無いことを痛感しました。英語を聞き取れないとほとんど分からないです。また、参加者の半分くらいが外国人なので会話も何も出来ません。BSD デベロッパーはみんな英語話せるのかしら。

_ ぐったり

btn-q

_ [twitter]twitter/studio5 から昨日のうちに direct message が来ていた

ということに今日気づきました。時すでに遅し。すんません (ノД`)

twitter には gmail.com のメールアドレスを登録してるんでケータイのメールアドレスを登録してみました。これで direct message が来たらケータイに通知されるかな。

_ UNIX MAGAZINE とか BSD MAGAZINE の DVD に PDF があるが検索できない

それ Google デスクトップ検索でry

ということで Google デスクトップ検索をインストールしてみました。

検索。

Gmail のメールがヒットしました( オプションにより Gmail のメールを検索できる )。

まだインデックスを作成中です。

475615008X

4756144616

_ [][]飯

蔵で飯。

たくさん。

TAF の報告を聞いたりモナー。

UO がたくさん。

08033001.jpg


2008-03-31 :-)

_ 朝ったー

0540 起床。

_ [東祥高][パンツァードラグーン]通勤ったー

パンツァードラグーン

ゲーム未プレイ。作曲は東祥高さん。1 曲目オーケストラアレンジから始まります。雄大な曲です。まるで「地球大自然ナントカ」といった番組に使えそうな曲です。全体的にバトル曲が多いです。緩やかな曲調のなかにドラムの激しさが混ざっていたりと空中戦らしい曲が多いです。

B00005MSU7

_ 仕事

0830 出勤。

大井町線ダイヤ改正してから初めての通勤です( 大井町線は 3/28( 金 )に改正したけど 3/28 は AsiaBSDCon に行ったので通勤してません )。これまでと比較して 5 分遅く仕事場に到着しました。なるほど。

_ [英語]英語学習への道

AsiaBSDCon 2008 に行って英語を話す/聞く/読む/書くスキルの無いことが分かったので身に付けることにします。その手段を模索します。昨日蔵に行ったときに ohguchi や hiroym にちょいと話をしてみたのだけど、やれそうなことを書き出してみます。まず私の現状。大別して「読み書き」「会話」に分けます。

  • 読み書き
  • 会話
    • 悪い意味で中学生レベル
    • 英語圏の国は経験なし
    • 外国人の知人なんて居ない

やれそうなこと。

  • 読み書き
    • NetBSD Mailing Lists を読む
      • 議論に参加する
    • 技術系ブログをひたすら読むなどする
  • 会話
    • 英会話学校派
      • イーオンとかどうよ( by ohguchi )
    • いきなり実践派
      • アイリッシュパブで実践してみたらどうよ( by hiroym )

読み書きは今からでも出来ます。会話は英会話学校に通おうかしら。id:youichi が英会話やってた気がする。

_ [Now][Ruby]Now

C

void Now( void )
{
  char buf[ 128 ];
  time_t tm;
  time( &tm );
  strftime( buf, sizeof buf, "%Y-%m-%d %H:%M:%S", localtime( &tm ) );
  puts( buf );
}

Ruby

ruby -e 'p Time.now.strftime( "%Y-%m-%d %H:%M:%S" )'

date(1)

% date +"%F %T"

_ {ゲーム,マンガ,アニメ}が影響を及ぼすと言うならば

理想的な子供が育つような{ゲーム,マンガ,アニメ}を作ってそれを義務教育に使って教育すればいいじゃない。

_ [Let's CF-R4][NetBSD][xorg]Let's note CF-R4 NetBSD xorg を起動させる

起動しました。

dmesgxorg.conf

記念のスクリーンショット。ImageMagick の import を使いました。

ref.

マウスはこの設定でした。

XFree86 3.3.4 以降は NetBSD 1.4 で導入された新しい wscons コンソールドライバに含まれているマウスドライバもサポートしています。NetBSD 1.4 で wscons を使っているならば、/etc/XF86Config ではマウスのプロトコルとして wsmouse'' を指定し、デバイスとして /dev/wsmouse0'' を指定してください。

本日のツッコミ(全4件) [ツッコミを入れる]

_ よしみつ [一緒に英語圏に旅行に行きますか。夏くらいにでも。]

_ みわ [よしみつくん: いきなり実践!! どこ行きますか?]

_ youichi [駅前留学してました...騒ぎが起こる前にちょうどポイントが切れたのでやめましたが。頭のよいインド人エンジニアとちょこ..]

_ みわ [youichiさん: 私はとりあえずエンジニアと会話できるようにします (・ω・)]