前の月 / 次の月 / 最新

swk's log 2006-08

<< 2006-08 >>
SuMoTuWeThFrSa
12345
6789101112
13141516171819
20212223242526
2728293031

2012 : 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
2010 : 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
2008 : 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
2006 : 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
2004 : 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
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2000 : 01 02 03 04 05 06 07 08 09 10 11 12
1999 : 01 02 03 04 05 06 07 08 09 10 11 12
1998 : 01 02 03 04 05 06 07 08 09 10 11 12
1997 : 01 02 03 04 05 06 07 08 09 10 11 12
1996 : 01 02 03 04 05 06 07 08 09 10 11 12

2006-08-31 Thu

* Rush / Dreamline [musicvideo]

「YouTubeで試聴する偏った名曲選」シリーズ.

Rush / Dreamline

2006-08-30 Wed

* YouTubeで試聴する偏った名曲選 - Yngwie Malmsteen / Far Beyond The Sun [musicvideo] 1 user

CD を買う前に試聴したいなと思ったときは,そのアーティストのオフィシャルページとかそれ以外のどこか(?)とかかから mp3 なんかをダウンロードして来て聴いたりとか,あるいは Amazon の試聴用 realaudio なんかを聴いたりとかしていたのだけど,最近は (是非はともかくとして) 実は YouTube でわりと事足りるというか,探す手間は一番少ないんじゃないかと思っていたりする.

そんなわけで特に脈絡も目的もなく,YouTubeにある (私個人の評価で) 名曲と思うものを羅列するシリーズでもやってみようかとふと思った.激しく偏ること必至.一般の評価が高いかどうかは気にしないし,逆に定番な曲を避けたりとかもしない方針.思いついたものを淡々と載せていく.飽きるか YouTube がぽしゃるかしたら終了という方向で.

というわけで第1回目,まずは映像的に分かりやすい(?)のがいいかなということで,こんなのを貼ってみる.

Yngwie Malmsteen / Far Beyond The Sun

2006-08-29 Tue

2006-08-27 Sun

* 黄身と白身が逆なゆでたまご [misc]

楽しそう.「手軽」といっても成功率はまだ 30〜40% らしいけど.先はまだ長い.

2006-08-26 Sat

* シートベルトを締めていないとどうなるか [misc]

先日のシートベルトの啓蒙CMなどの動画、みなさんのお友達など大切な方にメールなどでお知らせいただけないでしょうか?

http://toru.s137.xrea.com/td/?date=20060826#p02

それはそれでチェーンメールぽくてアレだと思うのですが,とりあえずここで紹介.

しかし啓蒙CMの一本目なんかは演出が強すぎて,むしろシートベルトしててもダメなんじゃねえかとか思ってしまうのはどうしたものか.「シートベルトをするとこの衝撃がこのくらいまで減ると期待されます」みたいなのが欲しいところだなあとか思ってみたり.

(追記) コメント欄より,

車外放り出しによる撃力とシートベルトによる撃力の比較ですかね.

車外に放り出されるとヤバイのは定量的じゃなくても伝わる気がするので,むしろ車内にとどまったときの比較ですかね.力積全体は同じなので,力がどういう時間分布で加わるのか,それによる身体へのダメージはどう違うのか,とかですか.

ところでかがみさんからリンク貼っていただいたら、急峻に立ち上がりました.アクセス数あげるには, かがみさんを落とせってことですかね.

いえ,たぶん dkirokuさんのとこ で紹介されたからだと思います.

関連記事:
[2006-09-06-2] 続・シートベルトを締めていないとどうなるか
[ コメントを全部見る / コメントを書く] [ TrackBack ( )] [固定リンク]

* [toru] 物理的なデータがあったら見てみたいですね.どんなデータでしょう.車外放り出しによ... (2006-09-01 08:49:07)

* [かがみ] そういう定量的データってないんですかね.事故の統計とかって意味ではなくて,物理的... (2006-09-01 00:45:14)

* [toru] なるほど、たしかに. (2006-08-31 16:00:03)

2006-08-24 Thu

* Dissection の Jon Nodtveidt が自殺 [misc]

彼の来歴を考えるとその人生は必ずしも全肯定できるものではないし,おそらく本人も冥福を祈られることなど望んではいないのだろう.でも,彼のあの美しいメロディがもう生み出されないのだと思うと,ただ悲しい.

まあ美しいメロディといってもこういうのですが.


Youtube でうっかり単に「dissection」で検索して卒倒しそうになったのは秘密だ.

関連記事:
[2006-10-06-1] Death Metal の定義

* フィールズ賞辞退らしい [misc]

なお,本人が辞退しても受賞者であることには変わりないのだとか.

「あなたへの奨励賞の授与が内定しました.ところであなたは当学会の会費を 3 年間滞納しています.どうしますか?」という手紙を受け取って光の速さで振り込みに行ったことがある私の立場はどうなりますか? (← 別にどうもならんがな

2006-08-23 Wed

* 厚生労働省,特定の情報を脳内から消滅させる技術の開発を計画 [misc]

具体的には、世間への流布を望まないことを示す目印をテキスト情報・音声情報・映像情報の中に埋め込んだうえで、この目印がついた情報は携帯電話機等から常時発信される電磁波によって脳内から強制的に削除できるようにする技術などの開発をめざします。厚生労働省では、国内の洗脳機器メーカーなどに呼びかけて、来年度から3年計画で開発を始める方針で、そのための費用を今月末に財務省に提出する来年度予算の概算要求に盛り込むことにしています。




というネタが bogusnews あたりに掲載されると予想してみるテスト.

cf. 総務省が特定のファイルをネット上から消滅させる技術の開発を計画

2006-08-21 Mon

* Molex の 5045,5046 は 2.5 mm ピッチである [tech]

ちょっとした回路の DC 電源コネクタとしてよく使うんだけど,今の今まで 2.54 mm ピッチだと思ってた….

2006-08-20 Sun

2006-08-19 Sat

* 危険が危ない [dora]

[ コメントを全部見る / コメントを書く] [ TrackBack ( )] [固定リンク]

* [Williamdob] I don\'t think that every gal has numero... (2014-02-27 08:08:18)

* [] A local dance shop will enable you to t... (2013-03-14 13:21:40)

* [] Many people are exchanging their opinio... (2013-03-14 04:00:16)

* [] 11 Uch Sharif Uch Sharif, during the 13... (2013-03-13 20:33:47)

* [] 20 mg of Resveratrol, when taken contin... (2013-03-13 14:54:06)

* ...

* 「シャコは人の死体を食べてると聞いたのですが、それは本当でしょうか?」 [misc]

まあ我々も動物とか魚の死体を平気で食べてるしな.

2006-08-18 Fri

* 「スモーク・オン・ザ・ウォーター」コンテストを勝ち抜いてイアン・ギランと共演 [misc]

リードギターだけじゃなくてギター全部抜きの音源を配った方が面白いと思うんだけどな.

ていうか DVD 時代なんだから,各パートを自由にオンオフできる音楽ソフトが普通に出てくれたりすると,カラオケ好きな人も楽器好きな人も喜ぶんじゃないかと思うのだけどどうだろう.そういうのってあるのかな.

ドラムの練習には使えんと思いますが.

* 最近趣味を持とうかと思うんだけど [misc]

104名前: 番組の途中ですが名無しです 投稿日: 2006/08/18(金) 01:14:21 ID:E0oEIKZ00
一ついい事を教えてやろう。

「他人から見れば無駄でバカバカしく見える事に、一生懸命になるのが趣味ってもんだ」

130名前: 番組の途中ですが名無しです 投稿日: 2006/08/18(金) 01:26:34 ID:hk98hfkl0
>>104
なんたる名言><

これからも僕はトイレットペーパーの芯集めていいんですよね?

http://tuch.blog66.fc2.com/blog-entry-322.html

お 前 か !

関連記事:
[2007-01-18-1] ヤフオクで超激安商品発見した

2006-08-17 Thu

* USBで焼肉 [tech]

5ポート USB 1.1 カードを 6 枚差して 30 * 5 [V] * 0.5 [A] = 75 [W] で焼肉.すばらしい.すばらしいけど,

お茶をそこに置くな

* グーグル、「ググる」の使用に難色 [tech]

てっきり Bogusnews か虚構新聞だと思ったら本当なのか.



「セ○ムしてますか」という CM まで流したのに定着させられなかった会社の立場はどうなる.(いや定着させたかったのかどうか知りませんが)

(追記) とか書いてたら早速 Bogusnews の記事が.仕事はやすぎ.

(追記) 日本語の「ググる」はOK?

* 小学生時代の記憶 [misc]

小学生時代、「海王星と冥王星は、現在は太陽からの距離が逆転している」と言っても、「化粧品のCMのせい」と先生に信じてもらえず、本をもってきて説明した記憶が懐かしいです。

http://d.hatena.ne.jp/sumii/20060817/1155766099

小学校の1年か2年の理科で電気を習ったとき,電波が届くのに時間がかかるかどうかでもめたのを思い出した.先生の「時間がかかるなら,7:00 のニュースが場所によって 7:00 に見れなくなるじゃないか」にクラス全員が同調,時間かかるよ派は一人だけになって反論できずに泣いちゃった記憶がある.

あれはなんだったんだろう.今考えると先生が光速が有限なことを知らなかったはずがないので「日常的なスケールでは」ということだったのだと思うのだけど,だとしたら「でも厳密にはね」みたいなフォローがあってもよかったと思うし.ついでに,おそらく当時は電波の速さ = 光の速さ ≒ 30万 km/s みたいなことを知らなかったであろう自分が (知ってたのならそう明確に反論できたと思うので),何を根拠に時間がかかると確信して主張し続けたのかも今考えるとよくわからない.まあさすがに記憶が曖昧なので,そもそも全然違う話だったかも知らんのですけど.

関連記事:
[2010-11-16-1] 「3×5」が正答で「5×3」が誤答になる話

2006-08-16 Wed

* 「無断リンク禁止」と「アダルトサイトの年齢確認」 [tech] 1 user

最近再燃している感のある無断リンク談義 [2006-06-29-1]ですが(もう下火か?),関連してふと思ったこと.

いわゆるアダルトサイトって,トップページとかに「18歳以上ですか?」みたいな選択リンクがあるじゃないですか.No を選ぶと Yahoo! に飛んだりするやつ.あれって何なんでしょう? 「無断リンク禁止」がナンセンスなのと同等にナンセンス極まりないと思うんですけど.

と思ってちょっと調べてみると,風俗営業等の規制及び業務の適正化等に関する法律の第31条の2あたりが根拠っぽい?

どうも解釈がいろいろ面倒くさそう.まともに読むと少なくとも有料サイトであればリンクを選ばせるだけじゃダメっぽいし,無料サイトにはそもそも適用されるのだろうか.

というわけでさっぱりわかりません.教えて エロい人 エラい人. (← これが書きたかっただけちゃうんかと小1時間)

* 惑星が増えそうな気配 [misc]

一読して,新定義でなぜ地球の月が惑星にならないかが理解できなかったけど,

衛星は惑星の周りを回る天体ですが、その共通重心が惑星の内部にあるものを指します。

http://www.astroarts.co.jp/news/2006/08/16planet_definition/index-j.shtml

そうかこれか.

関連記事:
[2006-09-03-1] 結局惑星は 8 個に落ち着いた件

* うっかり Flash Player 9 を入れてしまったので 8 に戻す [tech][firefox] 1 user

ふと Flash Player 9 を入れてみたら, Firefox からクリップボードへのコピー ができなくなった.がるる.常用している bookmarklet [2006-07-08-1] が動かなくて困るので, Flash Player 8 に戻すことにする.

この辺を参考にした.

まず 9 をアンインストールした方がよさそうだ.以下のページにある「Flash Player 8 uninstallers」がそのまま使えた.IE とか Firefox を起動したまま走らせるとちょっと厄介だったので,止めてからの方がよさげ.

過去のバージョンの Flash Player は以下のページにある.Flash Player 8 をダウンロード,展開して,インストール.

というわけで無事戻った.

2006-08-15 Tue

* pya! filter [tech] 7 users

pya! が大好きだ.でも全部見て回る体力はない.

というわけで,ざっと一覧を眺めて評価の高いものだけ拾い読みしていたりしていたのだけど,いまいち幸せでない.評価の高いものだけ選んでフィードできればいいのになあ.

と思ったので作ってみました.

pya! の過去ログを 15 ページほど蓄えておいて,リクエストが来ると条件に合致する記事一覧を RSS として吐く.デフォルトの条件は「プラス評価が300以上」.

未読管理のできる RSS リーダで読めば,条件を満たした時点で新着として現れることになります.

pya! のページ構成が変わったらきっと動かなくなるに違いないのは仕様です.というかつまり無断でやってますので,怒られたらさっさと引き上げます.

あとこれ plagger でできると思うので誰かよろしく.


フィルタ条件は,cond パラメータとして渡してやる.空白で区切られた(よってエンコードされた URL 上では + で区切られた) 文字列のリストで,スタックマシンよろしく条件を記述する.たとえば

で「プラス評価が300以上の記事を抽出」となる.これがデフォルト.他には

で「プラス評価がマイナス評価に比べて相対500以上で,かつ(18+)でないものを抽出」となる.たぶん.

リストの要素は以下の 3 種類:

  • 整数 ... スタックにその数を push する
  • 変数 ... スタックにその変数の内容を push する
  • 演算子 ... スタックから 2 個,または 1 個の値を pop して,それらに対する演算結果をスタックに push する

これらを順にすべて評価して,最後にスタックのトップに残った値が真だったらその記事はフィードに含める.偽だったら含めない.

変数はとりあえず以下の通り:

$good 「イイ」の数
$ero 「エロいな」の数
$bad 「ハゥ」の数
$positive $good + $ero
$negative $bad
$hit ヒット数
$pu PU 同意数
$over18 (18+) だったら 1,さもなくば 0

演算子には 2 項演算と 1 項演算がある.2 項演算 op は,pop した値を順に x2, x1 として,x1 op x2 を計算する.op の種類はとりあえず:

ge >=
gt >
le <=
lt <
eq ==
ne !=
plus +
minus -
and &&
or ||

1 項演算 op は,pop した値 x に対して op x を計算する.op の種類はとりあえず:

not !


出力される RSS の description の部分には「(・∀・)イイ」とかの評価数が表示されます.なので,記事内容に更新があったときに新着記事として扱う RSS リーダを使っている場合は,一度読んだ記事が何度も何度も現れることになります.

例えば bloglines の場合は subscription の設定で Updated Items を ignore するように設定することができて,そうすればこの点は問題にはなりません.そのようなオプション設定のない RSS リーダを使っている場合は,CGI に渡す hide_scores というパラメータを真にすることで, description が空の RSS を吐くようにすることができます:


過去ログを取って来る方のソース:

#!/usr/bin/env perl

use strict;
use LWP::UserAgent;
use Storable;

my $regexp1 = '<tr><td width.+?>(.+?)</td><td .+?><a href=\'pyaimg/pimg.php\?imgid=(\d+)\'.+?>(.+?)</a></td></tr><tr><td .+?>No\.(\d+)</td><td width.+?><SPAN CLASS.+?>(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}) :: .+?=(\d+).+?</td>(.+?)</tr>';
my $regexp2 = '<td .+?><Img Src=\'(.+?)\.gif\'.*?> : (\d+)</td>';

my $store_file = "/home/swk/pya_db/pya.stor";

&main;

sub main
{
    my $html_code = &get_pya();

    my @posts = ();

    while ($html_code =~ /$regexp1/g) {
        my %h = ();
        $h{type} = $1;
        $h{imgid} = $2;
        $h{title} = $3;
        $h{no} = $4;
        $h{date} = $5;
        $h{time} = $6;
        $h{hit} = $7;
        $h{counters} = $8;
        push(@posts, \%h);
    }

    foreach my $p (@posts) {
        $p->{title} =~ s/<b>//g;
        $p->{title} =~ s/<\/b>//g;

        while ($p->{counters} =~ /$regexp2/g) {
            my $ctype = $1;
            my $cval = $2;
            $p->{$ctype} = $cval;
        }
        undef($p->{counters});

        $p->{good} = $p->{ii1} + $p->{ii10}
                     + $p->{ii5} + $p->{ii6} + $p->{ii7};
        $p->{ero} = $p->{ero1} + $p->{ero2} + $p->{ero3} + $p->{ero4};
        $p->{bad} = $p->{ii2} + $p->{ii12};

        $p->{positive} = $p->{good} + $p->{ero};
        $p->{negative} = $p->{bad};

        $p->{pu} = $p->{p1} + $p->{p2} + $p->{p3} + $p->{p4} + $p->{p5};

        $p->{over18} = ($p->{title} =~ /^\(18\+\)/)? 1: 0;

        $p->{dcdate} = $p->{date} . 'T' . $p->{time} . ':00+09:00';
        $p->{permlink} = 'http://pya.cc/pyaimg/pimg.php?imgid=' . $p->{imgid};

        $p->{score} = join(', ', 
                           ("hit: $p->{hit}",
                            "(・∀・)イイ: $p->{positive}",
                            "(;´Д`)ハゥ: $p->{negative}",
                            "PU: $p->{pu}"));

        if ($p->{title} =~ /^(.+) \((情報:.+)\)\s*$/) {
            $p->{itemheader} = &html2xmlstr($1);
            $p->{itemauthor} = &html2xmlstr($2);
        } else {
            $p->{itemheader} = &html2xmlstr($p->{title});
            $p->{itemauthor} = 'pya';
        }
    }

    Storable::store(\@posts, $store_file . '.new');
    rename($store_file . '.new', $store_file);
}

sub get_pya
{
    my $page_max = 15;
    my $pya_str = "";
    my $pya_url = 'http://pya.cc/kako.php?genre=1&kakopage=';

    my $ua = LWP::UserAgent->new;
    for (my $i = 1; $i <= $page_max; $i++) {
        my $http_response = $ua->get($pya_url . $i);
        $pya_str .= $http_response->content;
        sleep(3);
    }

    return $pya_str;
}

sub html2xmlstr { # from chalow-1.0rc4
    local ($_) = @_;
    s/&nbsp;/ /g;
    s|<img.+?alt="(.*?)".*?>|[$1]|gosm;
    s/[\t\n]//g;
    s/[\x00-\x1f]+/ /g;
    s/\s\s+/ /g;
    s|<[^<>]+?>||gosm;
    s/&lt;/</go;
    s/&/&amp;/go; s/>/&gt;/go; s/</&lt;/go; s/\"/&quot;/go; # "いつもの4つ
    return $_;
}

CGI のソース:

#!/usr/bin/perl -T

use strict;
use POSIX qw(strftime);
use Template;
use Storable;
use CGI;
use Encode;

my $store_file = "/home/swk/pya_db/pya.stor";

my $rss_tt2 = << "RSS"
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
 xmlns="http://purl.org/rss/1.0/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:admin="http://webns.net/mvcb/"
 xml:lang="ja">
<channel rdf:about="[% self_url %]">
 <title>filtered pya</title>
 <link>http://pya.cc/</link>
 <description>filtered pya!</description>
 <dc:language>ja</dc:language>
 <dc:date>[% rss_dcdate %]</dc:date>
 <admin:generatorAgent rdf:resource="http://www.kagami.org/pya_filter/"/>
 <items>
 <rdf:Seq>
 [% FOREACH i = items -%]
  <rdf:li rdf:resource="[% i.permlink %]"/>
 [% END -%]
 </rdf:Seq>
 </items>
</channel>
[% FOREACH i = items -%]
<item rdf:about="[% i.permlink %]">
 <title>[% i.itemheader %]</title>
 <link>[% i.permlink %]</link>
 <description>
 ([% i.type %])[% UNLESS hide_scores %] [% i.score %] [% END %]
 </description>
 <dc:creator>[% i.itemauthor %]</dc:creator>
 <dc:date>[% i.dcdate %]</dc:date>
</item>
[% END -%]
</rdf:RDF>
RSS
        ;

&main;

sub main
{
    my $time1 = (times)[0];
    my $q = new CGI;
    print $q->header(-type => 'application/xml',
                     -charset => 'UTF-8');

    my $postsref = Storable::retrieve($store_file);
    my $cond = $q->param('cond') || '$positive 300 ge';

    my $filter = &mkfilter($cond);
    my @items = map &$filter($_), @$postsref;
    
    my $tt2 = Template->new();
    my $rss_out;
    $tt2->process(\$rss_tt2, {
        self_url => $q->url(-full => 1, -query => 1),
        hide_scores => $q->param('hide_scores')? 1: 0, 
        items => \@items,
        rss_dcdate => strftime("%Y-%m-%dT%H:%M:%S+09:00", localtime),
    }, \$rss_out);

    Encode::from_to($rss_out, 'euc-jp', 'utf8');
    print $rss_out;
    
    my $time2 = (times)[0];
    printf("<!-- time elapsed: %f (s) -->\n", $time2 - $time1);    
}

sub mkfilter
{
    my @cs = split(/\s+/, shift);
    my @fn = ();

    foreach my $c (@cs) {
        if ($c =~ /^(-?\d+)$/) {
            my $arg = $1;
            push(@fn, sub { push(@{$_[0]}, $arg); });
        } elsif ($c =~ /^\$([a-zA-Z_][a-zA-Z01-9_]*)$/) {
            my $arg = $1;
            push(@fn, sub { push(@{$_[0]}, ($_[1]->{$arg}) + 0); });
        } elsif ($c =~ /^([a-zA-Z_][a-zA-Z01-9_]*)$/) {
            my $arg = $1;
            push(@fn, sub { &op($_[0], $arg); });
        } else {
            return sub { return (); };
        }
    }

    return sub {
        my ($p) = @_;
        my @stk = ();
        foreach my $f (@fn) {
            &$f(\@stk, $p);
        }
        return pop(@stk)? $p: ();
    }
}

sub op
{    
    my ($s, $o) = @_;

    my %biop = ('ge' => sub { $_[0] >= $_[1]; },
                'gt' => sub { $_[0] > $_[1]; },
                'le' => sub { $_[0] <= $_[1]; },
                'lt' => sub { $_[0] < $_[1]; },
                'eq' => sub { $_[0] == $_[1]; },
                'ne' => sub { $_[0] != $_[1]; },
                'plus' => sub { $_[0] + $_[1]; },
                'minus' => sub { $_[0] - $_[1]; },
                'and' => sub { $_[0] && $_[1]; },
                'or' => sub { $_[0] || $_[1]; },
                );
    my %uop = ('not' => sub { !$_[0]; }
               );

    if (defined($biop{$o})) {
        my $b = pop(@$s);
        my $a = pop(@$s);
        push(@$s, &{$biop{$o}}($a, $b));
    } elsif (defined($uop{$o})) {
        my $a = pop(@$s);
        push(@$s, &{$uop{$o}}($a));
    }
}

作ってて思ったこと.ちゃんと評価したわけじゃないけど,上のプログラムで試した範囲では,

  • HTML::Template より Template Toolkit の方がちょっと速い.でも直書きする方がもっと速い (当り前?
  • Jcode より Encode の方がだいぶ速い.
  • 上の CGI では,リクエストが来ると最初に cond パラメータを解釈して条件判定関数を生成し,それを保存している記事リストに map で適用している.実は,これをやらずに記事の数だけ cond の解釈を繰り返しても,そんなに顕著には遅くならなかった.Perl の正規表現エンジンって優秀だなと思った.

(追記) hide_scores まわりの説明がわかりにくかったようなので書き直しました.

関連記事:
[2007-06-12-2] ハイパー漢字検索を勝手に Ajax 化

2006-08-14 Mon

* The TAJ (仙台店) [food]

某 Linux な会社に勤める某 NetBSD ハッカーが仙台にやって来た.というわけで,休暇中なのをいいことに 16:30 から 19:30 くらいまでひたすらカレーを食いまくるおふ決行.

taj/20060814-182718.jpg

* 仲間を食べる [food]

共食いの話ではありません.

  • 卵 in 卵
  • ご飯 in きりたんぽ
  • 肉 on 肉 in 肉

cf. ライスバーガーごはん

2006-08-13 Sun

* おいしいカステラの見分け方 [food]

  • 一口食べたとき、口の中で絶妙のしっとり感を すぐに感じるカステラ
  • カステラを耳元でギュッとつまんだとき、プッシュと空気の音が聞こえるカステラ
  • 一切れを軽く左右に振っても、折れないカステラ

趣旨はよくわかるのだけど,カステラ選ぶときに店頭でギュッとつまんだり,左右に振ったりとかはできないよなあ.

ていうか 1 番目に至っては 食っちゃってるじゃねえか!!!

2006-08-12 Sat

2006-08-11 Fri

* 今日の敗北感 [tech]

UNIX 機で IP アドレスを確認しようと思って

ipconfig

と打鍵していたとき.

* Logitec LHD-NAS に FreeBSD を入れてみる [etude]

動かなくなったまま放置してた Logitec の LHD-NAS250 [2006-01-08-1] を何とかしてみようと思い立つ.

既にあちこちで報告がある通り [2006-01-08-1],ケースを開けると普通にキーボードやディスプレイをつなげるらしいので,実際にやってみた.確かにつながる.で,画面を見てみると,ちゃんとブートもできて login プロンプトまで出てるのな.でもログインできないし single user mode にも落ちないので,これ以上調査のしようがない.

etude/20060124-043300.jpg etude/20060124-043311.jpg etude/20060124-042922.jpg

というわけで別のディスク (Maxtor Quickview PATA 300 GB, 7200 rpm) を買って来て,普通に FreeBSD を入れてみることにした.FreeBSD 5.5-RELEASE の bootonly.iso を取って来て,CD-R に焼いておく.

まず CD-ROM からブートできるように BIOS 設定を変えなくてはいけない.起動時に delete を押せばよいはずなのだが,どうも反応しない.ちょっと悩んだが,キーボード切替器 (ナカガワメタル NK-KVM-4) のせいだったようで,キーボード直付けにしたら BIOS Setup 画面に移れた.

USB 接続 CD-ROM ドライブからブートできる という報告もあるのだけど,手元にあった Panasonic KXL-RW32AN ではダメだった.しかたないので,suite になぜか 2 台つながっていた IDE の CD-ROM ドライブのうち片方を引っこ抜いて,primary slave としてつないでそこからブートする.無事起動.

普通にインストール作業を進めようと思ったら,しょっぱなの fdisk で geometry が incorrect だとか言われる.一応 BIOS Setup に戻って BIOS が認識している geometry を確かめると,Cylinder 65535 / Head 16 / Sector 255 らしい.こりゃまた嘘くさい数字だな.

で,fdisk の g コマンドでその通り打ち込んでみるが,やっぱり incorrect だと言われる.fdisk が自動で調整した値は 63483/255/63.よく分からんけどこのままにしとくか.

で ftp インストールを選んであとは寝て待つ.と思ったら起きているうちに終わった.NFS と ssh を有効にする.さらに ports から japanese/samba3 (ja-samba-3.0.21b_1,1) をインストールして設定.

これであっさりと NAS な環境が整った.df で見る限りはちゃんと 300 GB に見えている.しかも以前みたいに NFS と CIFS でファイルの owner を同じにできない [2004-09-12-1] などということもないし,妙なウェブインタフェースで設定する必要もないので,より快適である.最初からこうすればよかった.つうか最初から玄箱買えばよかったんだよな.


さて,古い方のディスクに何が起きていたのかが気になるので調査してみたい.上の写真からもわかる通り Synology OS は FreeBSD 4.1-20000812-STABLE がベースらしいので,FreeBSD 箱につないでみたら何か分かるんではなかろうか.

といわけで CD-ROM ドライブを外して,代わりにこの古い方のディスクをつなぐ.試しに mount してみたが,incorrect super block とか言われる.どうなってるんだろう.

etude# disklabel -r ad1s1
# /dev/ad1s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:    64260        0      raid                    
  c:    64260        0    unused        0     0         # "raw" part, don't edit
etude# disklabel -r ad1s2
# /dev/ad1s2:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  b:   257040        0      raid                    
  c:   257040        0    unused        0     0         # "raw" part, don't edit
etude# disklabel -r ad1s3
# /dev/ad1s3:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a: 489886110        0      raid                    
  c: 489886110        0    unused        0     0         # "raw" part, don't edit

へ? fstype が raid? これ何だろう.

FreeBSD 5.5-RELEASE の /usr/include/sys/disklabel.h によると,

#define FS_RAID         15              /* RAIDFrame drive */

らしい.さて,4.1-20000812-STABLE な頃の disklabel.h を見てみると,

… fstype は 14 までしかない.なぬー.

つまり Synology の独自仕様ってことなのだろうか.要らんことしやがって….

結局原因はわからないまま放置中.

関連記事:
[2006-10-02-1] 自宅メイン PC が起動しないのでとりあえず新しいのを買ってみる
[ コメントを全部見る / コメントを書く] [ TrackBack ( )] [固定リンク]

* [Joselyn] I was seiroulsy at DefCon 5 until I saw ... (2013-03-23 08:08:23)

* [rineemoinjeva] <a href=http... (2012-12-04 16:04:34)

* [rineemoinjeva] <a href=http... (2012-12-04 05:21:46)

* [rineemoinjeva] <a href=http... (2012-12-01 16:14:14)

* [rineemoinjeva] <a href=http... (2012-12-01 08:32:49)

* ...

2006-08-09 Wed

* 砂漠の緑化防止運動 [misc]

鳥取砂丘は放置しておくと自然と緑化が進むので、観光資源を守る為、地元の人が週三回の草むしり活動を行ってるそうだ。

世界広しと言えども、砂漠の緑化防止運動が行われてるのは鳥取くらいのもの。

2006-08-08 Tue

* 泡立つ卵かけごはん [food]

すげーうまそう,というかむしろ楽しそう.しかしここ数年自宅で飯炊いたことない件.

生協に電動泡だて器持ち込んでいいですか? (N/n/いいえ)

2006-08-07 Mon

* なんか bloglines が全然ダメな件 [tech][bloglines]

bloglines で keep new していた記事がいくつか行方不明になっている.左側のフレームで keep new な記事数がかっこ表示されているのに,右側には何も出てこなかったりする.出てこないから keep new の解除もできなくてかっこ表示残りまくり.気持ち悪い.というか,普段から keep new を酷使しまくる人なので [2006-07-08-1],とても困る.

該当しそうなアナウンスが一応出ている.

これによると一時的なもので,データのロスはないという.メンテナンス前のデータが新しいデータベースに移行されていないってことか? …と思っていたら,ついさっき keep new した記事がまた消えている.なんだこれ?

そろそろ livedoor reader 辺りに乗り換えろということだろうか.

* 人間は自分の望む結論に飛びつきたがる習性がある [misc]

言うまでもなく,人間は自分の望む結論に飛びつきたがる習性があるわけで.

で,敢えて暴言吐くけれども,結局日本人の多くは亀田親子みたいなタイプを嫌いなんだと思うんだ.それが今まで一応の快(怪?)進撃を見せていたり,マスメディアに持ち上げられていたりするのを苦々しく思っていたはず.なので人々は,今回の「微妙」とされる判定の話に飛びついた.ていうか要するに亀田叩きたかっただけちゃうんかと小1時間.

ボクシングの試合として本当の勝敗がどうだったかとか,何か取り引きがあったとか,裏社会がどうのこうのとか,議論はいろいろあるのだろうけど,大衆が騒いでいる理由はそんなこととは関係ない.単に溜飲を下げたかっただけ.


という結論に飛びつきたかった俺が来ましたよ.

2006-08-05 Sat

* ラーメンズ / 新日本語学校 [misc][rahmens]

ラーメンズ / 新日本語学校
ラーメンズ / 新日本語学校

キタコレ.発売予定日は 2006/09/06.光の速さで衝動予約した.

2006-08-04 Fri

* 「撮ったのかよ」が「エーアイアイ」に聞こえる [misc]

探偵ナイトスクープより.携帯電話のシャッター音の「撮ったのかよ」が「エーアイアイ」に聞こえる話.

私の場合,テレビで最初に見たときは「エーアイアイ」に聞こえた.途中で「撮ったのかよ」に聞こえるようになってからは二度と「エーアイアイ」には聞こえなくなってしまった….

原理としては,携帯のスピーカの品質が悪いため,子音が埋もれてこう聞こえるということらしい.(TOOT TANO KAYO → OO ANO AYO)

似たような現象はいろいろ心当たりがあるな.いずれも再生系の性能があまりよくなさそうという点では共通しているかも.「子音が埋もれる」という説明はしにくいけど.

  • 大型車がバックするときの「バックします」が「ガッツ石松」に聞こえる.
  • 町屋に住んでいた頃,都電が通る時の「電車が来ます」が「上昇します」に聞こえた.いつも心の中で「飛ぶのかよ!」とつっこんでいた

聴覚じゃないけど,最初の認識によってその後の知覚が引きずられるという点では,これ [2006-07-19-1] と似ているのかもしれない.

2006-08-03 Thu

* w3m は実はタブブラウザだった [tech]

って常識ですかそうですか.私はついさっき知りました.偶然 T を押したらタブ出現! すげー驚いた.

C-t               リンクが指す先の文書を新しいタブで開きます (TAB_LINK)
T                 新しいタブを開きます (NEW_TAB)
C-q               現在のタブを閉じます (CLOSE_TAB)
}                 次のタブに移動します (NEXT_TAB)
{                 前のタブに移動します (PREV_TAB)
ESC-t             タブ選択メニューを立ち上げます (TAB_MENU)
<NOT ASSIGNED>    現在のタブを右に移動します (TAB_RIGHT)
<NOT ASSIGNED>    現在のタブを左に移動します (TAB_LEFT)

2006-08-01 Tue

* 下の段だけ読んでみよう [misc]

すげ─────



何がどうルンルンなのかさっぱりわからんけど.

* 水原弘の「へんな女」 [misc]

うまいっしょクラブ で聞いた.聞いたというか,何かのコーナーのジングルだったので,ほぼ毎週のように聞いていたと思う.

* 「町」を「ちょう」と読むか「まち」と読むか [misc]

(フジテレビ「タモリのジャポニカロゴス」より)

基本的に,町人がすむのがちょう,武士が住むのがまち,だったらしい.

2012 : 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
2010 : 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
2008 : 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
2006 : 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
2004 : 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
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2000 : 01 02 03 04 05 06 07 08 09 10 11 12
1999 : 01 02 03 04 05 06 07 08 09 10 11 12
1998 : 01 02 03 04 05 06 07 08 09 10 11 12
1997 : 01 02 03 04 05 06 07 08 09 10 11 12
1996 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2012-02-13 02:02


Shingo W. Kagami - swk(at)kagami.org