雑文発散

«前の日(11-11) 最新 次の日(11-13)» 追記
過去の日記

2002-11-12 今日は仕事しないとね、な火曜日

ぬるい

本日の予想最高気温21度。奥鬼怒と約20度違うのかと思うと異常だ。いつもより湿度もあるような感じ。なんとなくナマヌルイ風で落ち葉が舞い落ちる中、自転車通勤。

探し物

えーと、結局、探し物は見つかってないっす。ビクトリノックス・ジャパンからスペアパーツの購入ができるので買う予定。

なんだか

無茶苦茶眠くなってきた。ぬくいから?

カタログ

ビックカメラには新型 iBook のカタログがなかった。でも、現物はあったので触ってきた。CD-ROM モデルは、やっぱり白い。でも、どちらかというと従来のカラーの方が好きなので、CD-ROM モデルはありえないな。G3/700 で MacOS X ってどうよ?と思ってたけど、アプリケーションの起動に関してはそんなにストレスは感じないかも。まぁ、あんまり速いマシンを触ってないからかも知れないけど。

ボーリング?

ガーターじゃなくガター」ちうのもそうだけど、「ボーリングじゃなくボウリング」の方がそれっぽいかなぁ、とか。goo の国語辞典ではこんな感じ

a2ps

最近、テキスト主体な Web ページの印刷に、w3m + a2ps を使っている。

$ w3m -dump -cols 80 http://suzuki.tdiary.net/ > hoge.text
$ a2ps -f6 hoge.txt
てな感じ。Vine 2.1.5 オリジナルの a2ps だと、半角が全角の 1/2 ではないようなので、/usr/share/a2ps/encoding/euc-jp.edf を編集すれば良い。
# Compose font for japanese EUC code
# target font additional font width size rate
#DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1

# 1:2 fixed
DefaultComposite: Ryumin-Light-EUC-H 1.0 0.8333
というのを、こちらで知った

マンガ好きなアナタに

OHP(俺のホームページの略)」はオススメ。

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

はづき [札幌の今日の最高気温は15.6度。昨日は8度ぐらいあってあったかかったです。]

はづき [そして明日の天気は雪、予想気温最高3度、最低-1度・・・]

トモコ [ほなセクシーじゃなくてセクシィかしらん。<違 ところで、ちゃんとガターっていいますか?私はガァタァと言ってしまう…。]

すずき [マイナスな世界かぁ、いいなぁ。。。で、意識して言ってますよん>ガター]

mu [http://www.alloha.info InsuRancE http://www.devonanal.com ..]


2003-11-12

[] 900g 減!

下げ幅が半端な数字ってことは!

[] 朝食

黒米ご飯、豆腐の味噌汁、焼き鮭、納豆

[Net] PostgreSQLをOLAPに使えるオープンソースのツールが登場 (IT Pro)

PostgreSQL の名前にひかれて記事を読んでみた。OLAP とは「オンライン分析処理」のことらしいのだが、全然そういう言葉を知らなかった。。。

ソースの方は来年の2月を目処に公開予定とのこと。出たらどんなものなのか試してみたい気もするけど、クライアント環境が Java なのか。どっかに遊べる実行環境を作らないとダメだな。公開された時にまた考えよう(弱)

[Mac] iPod の中身

iPod を FireWire ディスクとしてマウントすると、/Volumes/[iPod の名前] でターミナルからアクセスできる。

で、ソコをなんとなく探っていると、iPod_Control/Music/Fnn(n は 0〜9)といったディレクトリ内に、MP3 やら AAC やらのファイルがそのまま入ってた。普通にはアクセスできない領域に保存してるのかと思い込んでいたんだけど、単に Finder から見えなくしてるだけなんだね。

面白いのは、同じタイミングでリッピングした同じアルバムでも別の Fnn ディレクトリに保存されていること。同一ディレクトリに保存しない利点って何かあるんだろうか?

あと、ターミナルで日本語(だと思われる)のファイル名がうまく表示できないみたい。iTerm で、UTF-8 とか Shift_JIS とか試してみたけどダメだった。

[tDiary] 第一 → 第三へ2名移動

詳細は第三 tDiary.Net の Wiki で。

[] 月2000円で使い放題の「BitWarpPDA」に対応〜新ザウルス「SL-C860」 (ZDNet)

来ました、新ザウルス。基本スペックは SL-C760 と同じという想像通りのマイナーチェンジ。しかし、USB ストレージ方式に対応したってとこは、Mac 環境での利用に一歩前進。なにもインストールせずにファイル転送が可能になるってことだよね?

あとは Palm と同じように iSync でシンクロできれば楽なんだけどなぁ。。。

[] 「機能のシェイプアップは退化でない」バイオノート505 EXTREME開発者インタビュー (ZDNet)

インタビューの2ページ目に

「薄く、軽く、カッコいい。そのためには何でもやろう。言葉を掛け合うまでもなく、全員が共通の意識で動いていた」

という開発者の言葉がある。薄くて軽いのは認める。ただ、どうもいまひとつカッコ良くない気がするんだけど、それって僕だけ?

[Net] PHP の mbereg と mb_ereg

PHP 4.2.0 より前はマルチバイト正規表現を使うために「PHP4 用正規表現拡張モジュール mbregex」を用いていた。ここでの正規表現関数のひとつに「mbereg」があった。PHP 4.2.0 以降に本家に組み込まれたときに他の関数との名付けルールに基づき「mb_ereg」と改名された。このとき下位互換性のために「mbereg → mb_ereg」のエイリアスが作られ現在に至っている。僕の記憶が確かなら。

で、PHP 4.1 時代に作ったソースに「mbereg」を使っていたんだけど、そのソースを PHP 4.2 系でそのまま稼働させていた。そして、ハマリ発生。

<?php
  $str = "abc";
  if ( mbereg("b",$str,$match) ) {
      print "hit : " . $match[0] . "<br>";
  }
if ( mb_ereg("b",$str,$match) ) { print "hit : " . $match[0] . "<br>"; } ?>

上のソースを PHP 4.2 系で走らせると、実行結果は、

  hit : 
  hit : b

のようになる。ちなみに PHP 4.3.0 でも同じだった。試してないけど、最新の 4.3.4 でも同じではないだろうか?

まぁ、既にマニュアルに載らないようになって久しい関数なので、正しく動かなくても仕方ないのかもなぁ。

[] 夕食

そういえば食べてなかった!

しばらくはおなか減ってたけど、「鼻声だし、なんか熱っぽいなぁ」と思いながら仕事しているうちに空腹感を感じなくなってた。家に帰って「ぜってー熱あるよ」と思って体温を計ったら36.7度。「あれ〜、挟みどころが悪かったかな?」と計り直したら36.4度。平熱じゃん。。。

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

よしい(バタンバタン) [すげー!おめでとう!]

ただただし [これ以上は下がらないってこと? >半端な数字]

かんたろう [一階級下がったということですかね。おめでとうございます。]

よしい(バタンバタン) [たださんのスーさんいじめがツボで可笑しい!]

トモコ [あ、ふたけたに?!]


2004-11-12

[] 歯医者

というわけで、2日連続で歯医者。今日は歯石を取ったのだが、処置前と処置後でかなり感触が違う。ということは、かなり付いてたんだなぁ。

で、まつげの長い歯科衛生士の人と今後の治療について話したところ、少し時間をかけてじっくり治療して行きましょうということに。しばらくの間、詰め物のリプレイスと歯石除去を同時進行で治療する事になった。


2005-11-12

[] 防災に関する世論調査

またハイパーリサーチのハガキが来たのかと思ったら、別のトコからだった。調査主体は東京都生活文化局で、委託された調査会社が送ってきたみたい。

防災に関する世論調査

オレってば、住民基本台帳から無作為に選ばれた3,000人のうちの1人らしいんだけど、、、住民基本台帳から選ぶって方法は、もう辞めた方が良いんじゃないのかなぁ。いくら調査元が公的機関とは言え、なんだか怪しさを感じてしまう。

それにしてもオレが「住民基本台帳から無作為」に選ばれる確率って高くないか? なんか選ばれやすい表記になってるのかなー。

[] ぼくを探しに

天気が良いのに家にいるのもなんだなぁと地図をパラパラ。そうだ、井の頭公園に行こうと思ってバタバタと仕度。ひさびさの自転車行。家を13時くらいに出発。山手通りから折れて東北沢駅を通り過ぎ、井の頭通りを通って代田橋駅を通過、神田川とぶつかったところで川沿いの道をひたすら上って行った。

鉄塔
神田川沿いの道に入ってすぐのところにあった鉄塔。今日気が付いたのだが、オレって鉄塔好きみたいだなぁ。見かけると、つい撮影してしまう。今日もコレの他に数枚あった。。。

焼き芋
川沿いにあった八百屋で「焼き芋始めました」というポスターをみて買ってみた。この量で200円は安い。半分で満足だったんだけど、冷めちゃうと美味しくなくなってしまうと思って、その場で1本完食。うまかったが、マンプク過ぎ。

神田川源流
で、15時くらいに辿り着いた井の頭公園。そこにあった神田川の源流。コレを見てみたくて井の頭公園を目標にしたのだが、、、過去に見たことあったよ。すっかり忘れてた。井の頭公園には何度か行ったことあったもんなぁ。

井の頭公園を一周した後、そろそろ日が落ちてきていたのでさっさと帰ることに。「行きと帰りで同じ道はつまらん」というコダワリにより、帰りは久我山駅から別の道で行くことに決めた。

久我山駅に着き、計画通りに道を折れ、太陽に向かって自転車をコグ、コグ、コグ。「今は夕方。太陽は西。じゃ、方向はOK!」と思って進んでたら、三鷹という文字が。で、ここでようやく「西じゃ逆方向じゃん!?」と気が付いた。

それまで通っていた人見街道を逆に戻って久我山駅に戻って、、、とは行かず、「行きと帰り論理」によって、途中から別のルートへ。思いっきり住宅街を通りつつ、なんとか環八へ出た。そのまま世田谷通りまで行き、最後は池尻大橋から山手通りに戻って18時ころ帰宅。

ひさびさの自転車だったんで疲れた。


2006-11-12

[] 初めての圧力鍋料理は肉じゃがで

おととい注文したT-FALの圧力鍋が届いたので、さっそく使ってみた。圧力鍋自体を使うのも初めてなので、同梱されていたレシピ冊子をパラパラめくって、簡単そうだし、作ったこともある「肉じゃが」をチョイス。最初なんで、レシピ通りに作った方がいろいろな意味で安全だろうと考えたのだが、材料の欄には「豚ばら薄切り肉」と書いてある。

へ?、肉じゃが言うたら、牛肉やろ!

とは思ったものの、「いや、待て今回はレシピ通りに豚肉で。。。」と気持ちを抑えて買い物へ。スーパーで、じゃがいもやら人参やらしらたきやらを買い揃えて調理スタート!

と、今度は、レシピに人参やしらたきが書かれていないことに気づいたのだが、「えぇぃ、入れてやる!」とばかりにレシピからはみ出すことにした。だったら牛肉にしてても良かったよなぁ。

作り方自体は、ほぼレシピ通りに。と言っても、炒めて煮るだけだったけど。強火で4分ほど煮立てると蒸気が出てきたので、弱火に変えて10分ほど。で、できたのが、コレ。

肉じゃが

じゃがいもが思いっきり煮くずれてしまった。ちょっと時間かけ過ぎたのかも。あと、きぬさやを買うのを忘れていて、色合いがイマイチだったり。味の方は、、、どうなんだろう、フツーに食えたので、自分用としては合格点か。

[] 圧力鍋気分が盛り上がってるところで角煮

圧力鍋つーたら角煮やろ!と、鍋に残ってた肉じゃがを皿に移動して、レシピを参考に挑戦。

豚肉の角煮

またしてもレシピに無い玉子とかを追加してみた。肉の方は、思ったほど柔らかくできてなくて、ちょっと失敗だったなぁ。1回目の加圧後に蓋を開けた時に、肉が茹で汁からはみ出てたのが原因っぽい。もうちょっと水を多めにしておけば良かった。

味の方も、もうちょっと濃いめの方が好みだったな。理想の角煮ができるまでには、まだまだ先が長そうだ。


2007-11-12

[] 風邪をひいたようだ

土曜日からちょっと調子がイマイチだったのだが、夕べから今朝にかけて鼻水が出るようになってしまった。そして時折熱っぽくなる。今日の日中もずっとそんな感じ。

「カコナール カゼブロックUP錠」を飲んではいるものの、使用期限が2006年9月で切れているからかどうか分からないが、あまり効いていない。もともと「のどの痛み」「発熱」「せき」への対応をウリにしているクスリなので、鼻水には弱いのかもしれない。

あー、ちゃっちゃと治したい。

[] ETCマイレージサービス登録完了

IDとパスワードが郵送で届いた。双方とも数字だけってのはどうなのよ?と思ったけど、電話でマイレージの状況を確認するサービスもあるようなので、数字しか利用できないシステムなのかも。


2008-11-12

[] good! アフタヌーンを手に入れていない

発売日に買い忘れて、以降、買いに行けるタイミングを逃し続けている。もうそろそろ書店へ行くのを諦めて Amazon で買ったろと調べたら、登録自体はあるのだが、新品は品切れ。

good! アフタヌーン

中古もあるにはあるけど、プレミアが付き始めているみたいで、2,980円とかで売り出している人もいる。さてどうしたものか?と思いながら、編集長のブログを見てみたら「重版決定!」とのエントリが。

なんとか手に入るかなぁ。

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

kokumaru [12日の品川駅内の書店にはもりもり置いてありました。]

えろぺお [名古屋の書店はどこも余り気味で、本屋の人にちょっと期待はずれと思われてるという気さえします。]

cocoiti [吉祥寺の本屋に大量にあったので、確保しておきましょうか?]

すずき [昨日、ようやく近所の本屋が開いている時間に帰れたので寄ってみたところ、平積みで残ってました。ので、ゲットずみです〜。]


2010-11-12

[][] 口の開きがイマイチだなあ

どうしても食べたくなって、昼飯はドトールのミラノサンドを買ってきた。お店で食べなかったのは、口を大きく開けられなくて、ミラノサンドをうまく食べられないのでは?というもの。退院後の食事の際に、自分では入ると思って食べ物を口に運んだら、実際には口に入らずに引っかかってしまうことが何度かあったので。

買ってきたミラノサンドを食べてみたら、、、やっぱり引っかかった。結局、ガブリという感じではなく、ちまちまと食べて完食。

入院する前はもっと大口を開けて食べられた気がするんだよなぁ。ちょっと口を開く練習するか。


2014-11-12

[Elasticsearch] Elasticsearch で Web のクローリングを行なう

Elasticsearch の情報をいろいろ探しているうちに「Elasticsearch ウェブクローラー 基本編」という記事に出会った。

全文検索のエンジンのくせに、自分からデータを取りに行ってストアするとか面白いことするな!と思ったんだけど、全文検索が故にそういう用途のニーズも多いんだろうな。

ということで、この日記に対してクローリングを行なって、全文検索できるような仕組みを作ってみる。

Elasticsearch や Kibana は「Fluentd + Elasticsearch + Kibana での解析の構成を考える」あたりで構築したものを流用する。

基本的には、前述の「ウェブクローラー基本編」の記事をほぼそのまま踏襲させて頂いたのだけど、若干変更してみたところもあるので、こちらにも記録しておく。

プラグインのインストール

Web のクローリングを実現するには、2つのプラグインを Elasticsearch へインストールする必要があるとのこと。

Quartz プラグインのインストール
% sudo /usr/share/elasticsearch/bin/plugin --install org.codelibs/elasticsearch-quartz/1.0.1
-> Installing org.codelibs/elasticsearch-quartz/1.0.1...
[snip]
Installed org.codelibs/elasticsearch-quartz/1.0.1 into /usr/share/elasticsearch/plugins/quartz
River Web プラグインのインストール
% sudo /usr/share/elasticsearch/bin/plugin --install org.codelibs/elasticsearch-river-web/1.3.1
-> Installing org.codelibs/elasticsearch-river-web/1.3.1...
[snip]
Installed org.codelibs/elasticsearch-river-web/1.3.1 into /usr/share/elasticsearch/plugins/river-web

Elasticsearch の再起動

プラグインをインストールしても、実行中の Elasticsearch は認識してくれないので再起動してやる。あまり詳しく調べてないけど、restart だとうまく起動してくれなかったので、stopstart の方が安全なのかな?

ここら辺は、実運用するとなったら気にしたいところ。

% sudo /etc/init.d/elasticsearch stop
[ ok ] Stopping Elasticsearch Server:.
% sudo /etc/init.d/elasticsearch start
[ ok ] Starting Elasticsearch Server:.

プラグインの確認

プラグインを認識しているかの確認。_cap API でプラグインの情報を確認すれば良いようだ。

% curl -XGET 'http://localhost:9200/_cat/plugins'
X-wing WebPlugin    NA j
X-wing QuartzPlugin NA j

WebPlugin と QuartzPlugin という名前が見える。無事にインストールされた様子。ちなみに X-wing というのは、この実験をしている Elasticsearch の node 名なので深い意味はない。

マッピングの登録

Elasticsearch のインデックス名(DB 名みたいなもの)は、webindex にした。タイプ名(テーブル名みたいなもの)は、suzuki_tdiary_net にした。

mappings.json

本当なら日本語記事のアナライズ用に kuromoji を入れるべきなんだけど、ここでは省略。たぶん、後でやり直す。

マッピングデータの投入
% curl -XPUT 'http://localhost:9200/webindex' -d @mappings.json
{"acknowledged":true}

クローラー用の設定を追加

クローラー用の設定を作って投入する。

river.json

設定用に JSON ファイルを作った。

いろいろ試行錯誤にアクセスログを見ながら気がついたのは、JavaScript や画像ファイルもクロールしようとしていたこと。なので、excludeFilter/image//js/ を外したりした。

あと、ちょっとハマったのは、schedule の設定。River Web の GitHub リポジトリに「Cron format to start a crawler.」と書かれていたので、普通に書いたつもりだったんだけど、どうもうまく動かなくて悩んでいた。

で、Quartz プラグインの Cron Format のページをよくよく見てみると、最初に「Seconds」というフィールド名が書かれていた。秒も指定できるのね。。。

Linux の cron には秒の指定が無いので、いつものように「分 時 * * *」という設定をしていたつもりで「秒 分 * * *」を指定していたのであった。

クローラー設定の投入
% curl -XPUT 'http://localhost:9200/_river/suzuki_tdiary_net/_meta' -d @river.json
{"_index":"_river","_type":"suzuki_tdiary_net","_id":"_meta","_version":1,"created":true}
データの確認

URL に pretty を付けても _source の部分は綺麗にしれくれなかったので、コマンド出力結果の JSON を Emacs の M-x json-mode-beautify を使って加工している。

% curl -XGET 'http://localhost:9200/_river/suzuki_tdiary_net/_meta?pretty'

動作の確認

これで指定時刻にクローラーが suzuki.tdiary.net へアクセスしに行くはず。これはアクセスログを見て、UserAgent が Elasticsearch Bot (suzuki.tdiary.net) のアクセスの有無で判別できる。

Elasticseach 側にデータが入っているのかは、_catcount を見てみると良いのかも。

% curl -XGET 'http://localhost:9200/_cat/count/webindex?v'
epoch      timestamp count
1415795152 21:25:52  204

なんらかのデータは入っているようなので、今度は <title>elasticsearch という文字列が入っているデータを検索してみる。

% curl -XGET 'http://localhost:9200/webindex/suzuki_tdiary_net/_search?q=title:elasticsearch&fields=title&pretty=true'

ちゃんと返ってきた。

これで Elasticsearch で Web クローリングができることは確認できた。ちなみに、クローリング中のプロセス状況を見ていたんだけど、特にクローラーのプロセスが立ち上がる訳ではないようだ。

netstat で suzuki.tdiary.net へのアクセスを確認したところ、Elasticsearch Server と同じプロセスから通信が行なわれていた。プロセスじゃなくスレッドの世界なのね。

それから、このクローラーが以前インストールした mod_evasive に DoS 判定されたので、DOSWhitelist の設定に Elasticserver が動いている IP アドレスを追加した。

なんとなく動いたので、後は kuromoji を入れて、日本語の検索を賢くしたりすればいいかな。もうちょっと続けていじってみよう。


2016-11-12

[] スター・トレック BEYOND を観てきた

場所はTOHOシネマズ新宿。IMAX 3D版で。

サンフランシスコに行ってた時に観たので、今回が2回目。ただ、向こうで観た時には、ろくに英語を聞き取れずにいたので、登場人物たちの会話が楽しめたのは今日が最初になる。

細かい会話は分かっていなくても、ストーリーの大筋は分かっていたので、「次はこういう流れだな」というのは分かる。その分は驚きがなくて残念ではあった。でも「あ、ここではこんな会話をしていたのか!」という発見ができたのは良かった。

「あれがバーンってなって、これがグーンと来て、結局ドカーンとなる」のは分かってるし、もう観なくていいかなと少し思っていたけど、観に行って良かった。特にカークとスポックとの会話には意味があったので、この感覚を知らずに次作を観るのはもったいない気がした。

映画そのもののの満足度としては、まぁ、普通なんだけど、観た意味はあったので良かった。