2001-01-29(月) Ruby俳句、ときメモ?、256本、クローズアップ現代、PalmDesktop 4.0(4)
◆ Ruby俳句
最近、RubyネタもLinuxネタもとんとごぶさただ。[ruby-list]で盛り上がってる「Ruby俳句」が最高。RWikiにページができてるので、まとめておいて欲しいものだ。私は教養がないのでうまいの書けませんが。そうだ、Ruby 256本[極道編]を買って帰らないと。これ読んで、おれもXP入門だ。ペアプログラミングの相棒募集(笑)。いやマジで、ユニットテストよりペアプログラミングから入りたいね、おれは。ぜったい面白いって、ペアプログラミング。ただし、両者の力量がほどほどに一致しているのが条件だけど。
◆ ときメモ?
エグザス(会社名はピープル)がコナミに買われちゃってビックリ。これでエグザスで体感ゲームを使ってエクササイズだっ(ないない)。しかし、コナミと言えば「ときメモ」(偏見)。ランニングマシンに「ときメモ」が組み込まれて、たくさん走れば好感度アップとか。うう、いや〜な気分になってしまった……。
◆
Rubyを256倍使うための本 極道編(助田 雅紀)
新横浜の文教堂の2F(コンピュータ関連書籍のフロア)の階段を上がりきって、ずっこけました。極道編が、ワゴンに入って50冊くらい山積み。なに考えてんだー。面白いけど。でも、商売的にはどうかなー。どうせ積み上げるなら、バイブル、ハチドリ本、ヤギ本、邪道編(すべてコードネーム)も一緒に積み重ねて相乗効果を狙うのが基本だろー。フロアを回ってみたけど、バイブルもハチドリも見当たらなかったし。いかんなぁ >文教堂担当者
◆ クローズアップ現代
家に帰って、留守録しておいたクローズアップ現代。未踏ソフトウェアの番組で、まつもとさんが出るのだ。なかなか大きな扱いで、かみさんにもやっとRubyのすごさを説明できた。でも、ビル・ゲイツはないだろ >NHK 少なくともゲイツになりたいと思ってあのプロジェクトに応募した人はいないと思うんだけど。
2002-01-29(火) 8098歩
◆ tojimari
tojimariってのは、Asumiに付いてくるiptablesのお手軽設定ツールです。凝ったことをしなければこれだけでいける(と思う)。ただ、探し方が悪いのか、ドキュメントが見つからないので、ある程度iptablesの動作を理解してからじゃないと使えないかも……というか、iptablesの基礎くらい勉強しとけ、と自戒を込めて書いておこう(笑)。
まぁ、通常ならMediumを選択して、あとはCustmizeで開けたいポートだけを選択してやればOKなのでは。ファイアウォールを作るならもっと複雑になるだろうけど(TrustなNICを選ぶのかな)、スタンドアロンサーバならコトは単純。
#なんて書いてたら先にフォローが入ってしまった。
◆ DNS
週末、伊東に設置した謎サーバ、DNSを立てようと思って奮闘中。しかしこれがうまくいかぬ。当初はひよってAsumi付属のBINDを使った。ローカルでのテストではちゃんと期待通りに名前が引けている。
ドメイン名を取ったのは日ごろ愛用しているpos.toなんだけど、ここはDNSサーバをCGIで登録するシステムがあって、ここでこのホストをプライマリDNSに設定。あとは各地に情報が伝播するのを待つだけ……と思ったらポカがあって、iptablesで53番ポートを開け忘れ(笑)。これを修正して一晩おいた。
で、今日になって他のネットワークにあるホストから名前を引いてみたけど、ダメ。まだなのかなぁ、と思ったが、試しにnslookupでserverを件のホストのIPアドレスに設定してみてもやっぱり引けない。つーか、この時使われるDNSサーバ名、ぜんぜん違うんですけど。これってもしかして、IPアドレスを発行してるところ(?)がこっちの設定を食ってるってことか? ようするに、逆引きが変? いやいや、たとえ逆引きが変でも、IPアドレスは同じなんだから、件のホストのDNSを使ってるハズだ。なのに名前が引けないというのはどういうこっちゃ。
うーん、なんだかよくわからん。LANやらWANやらのDNSはわかってるつもりだったんだけど、インターネットになると管理元がバラバラになるから、その関係が理解できてないな。そもそも、IPアドレス8つのネットワークで、全ホストが自前のDNSを抱えてるって時点でなんかおかしい気もするし(笑)。あとでsuzuneに聞いてみよう。つーか、ここ読んでたら連絡求む(笑) >suzune
#……と思ったが、nslookupでserverを指定するとちゃんと引けているようだ。やっぱりまだ情報が伝播しきってないってことなのか……な?
◆ tDiary
モバイルモードのツッコミ件数の件。そうなんだよなぁ。つーか、iモードをターゲットにするなら、最初の画面は(いきなり日記本文でなく)サブタイトル一覧であった方がヨイのだろう。その中にツッコミ一覧へのリンクもある感じで。でも個人的にそんなに階層が深い日記は読みたくない気がするし、本文とツッコミがシームレスに見えるのがtDiaryのヨイところなのだし(ツッコミが独立している日記システムなんて珍しくもない)。やはりここは割りきって、ばっさり切ってしまおうか。件数をオーバーした古いツッコミは、いっさい読めないってことで。携帯読者の多い日記では、表示件数を多めにしてもらえばいいだけだしさ。
◆ 設定を変更しても反映されないのは、スーパーリロードを使えばヨイかと。つまり、設定を変えただけでは日記の更新日付が変わらないので、強制的に再表示させないと、ブラウザが勝手にキャッシュしちゃう場合があるということです。IEだったらCtrl+F5。MozillaだったらShift+Ctrl+R(だっけ?)。そういえば、最近のGaleonはスーパーリロードできるようになったのだろうか。
ちなみにtDiary自身のキャッシュは、設定を変更することでクリアされます。tdiary.confを手動で書き換えてる場合はその限りではないけど。
◆ DNS(2)
そうだと思うんですけどね……でも、そんなに時間がかかるもんかい? というのが第一の疑問。gTLDの場合、世界各地のrootサーバに登録されるんだと思うんだけど、gTLDってものすごい数だから、登録にもひと苦労ってことか? ……nslookuphostの再勉強中……「set querytype=NS-t NS」か。確かにまだNSが設定したとおりになってないみたい。にゃ〜るほど。これが変わらなければダメってことだな。
それから、正引きはまぁ、だいたいわかってるつもりだったんだけど、逆引きの理屈がよくわかってない。あー、やっぱちゃんと勉強しないとダメだー。なんか本買ってこようかなぁ。
◆ yamkさん、ありがとう。当たり前のことだけど、正引きと逆引きのツリーはぜんぜん別物なんだな。/29なネットワークで、各ホストが勝手に自前の逆引きDNSを設定しても意味がないことはだいたいわかった。仮に上流ISPの設定はされているとしても(見たところされているもよう)、このネットワーク内でどっかに代表的な(逆引き用の)DNSを動かさないとダメってことやね、これは。
ということだよ >suzune カラオケ屋のマスターに「曜日のマシン名じゃなくてちゃんとおれたちのマシン名返すようにしてちょー」って言わないと(笑)。
◆ ツルネン
おー。ツルネン・マルテイ、繰り上げ当選。苦節何年だ? チャンスがあれば毎回かならず投票してたからなー、嬉しいぜ。巨泉なんてしょせん口先だけだし、よっぽどマシじゃん。よかったよかった。
2003-01-29(水)
◆ 長野より帰還
覚悟していたわりにはぜんぜん寒くなくて、雪も路肩にちょっぴりある程度。降雪2日後の東京程度である。もっともこんなツッコミもあるようなので、ちょうど暖かい時に行っていたということか。たしかに正月は、ぐっと寒かったよ。
ホテルからアナログで自宅のIMAPサーバに接続して、順調にメールを読むことはできた。もっとも、(これはBecky!の実装のせいかも知れないけど)やはりアナログでは遅い。フォルダに数百通とか溜めてあると、リストを取るだけでもかなり待たされる。やはり、こういう環境ではprocmailで事前に振り分けをするんじゃなくて、新着メールだけを読めるフォルダを用意しておきべきなんだろうなぁ。
◆ tDiary: 最近の動き
なんか、動きが多くてついていけない……。以前、毎日のように新作テーマが公開されていた時があったけど、ここ数日はプラグインやスタイルを使った機能拡張方面で動きが多い。アンテナでも捕獲してなかった人がいきなりパッチとか公開するから、慌てるよなぁ(笑)。
プラグイン
見落しあるかも。
- 索引プラグイン。そろそろCVSに入れちゃっていいかな?
- 以前おれが適当にでっちあげたalternate-stylesheetを改造したaltstyle。themeディレクトリ内のすべてのテーマを対象にすると、テーマ集が全部入っている場合にとんでもないことになるので、そのあたりは工夫した方がいいかも。@optionsを使うとか。
- 散財自慢プラグイン。集計できると便利かも。
- スケジュールプラグインが乱立? →zoe版、YAA版、kitaj版(は構想段階)
- 何の日プラグイン。まだ中身見てない。
スタイル
いくつかのプラグインがスタイルに依存しているという問題が浮上。もっともこれはtDiary-develでかなり以前から指摘されていて、依存関係があるのはしかたがないというコンセンサスになっていた(はず)。
もっとも今の実装ではプラグイン内から@conf.styleが参照できるので、既知のすべてのスタイルに対応したプラグインを書くことは可能ではある。
カテゴリ機能
kitajがカテゴリ機能を人柱限定で公開。さらにWikiスタイルでカテゴリを使えるようにするパッチも登場。
カテゴリ機能が欲しいと言われるたびに断ってきたのは「面倒だから」というもあるけど(笑)、この機能は「日記コミュニケーションを加速するだろうか」と胸に手を当てて考えたとき、「そんなことはないよなぁ」と思えたからである。もっとも最近のtDiaryは日記ツールというよりはCMSとしての側面も大きくなってきたので、そっちから見ればカテゴリは必須だろう。自然な形で取りこめるなら、ないに越したことはない。
もっとも、専用のスタイルを使っている現在の実装は、ちょっとヤバいよね。なんとかしたいところだ。例えばスタイルのキーは「tDiary」のままで、実装だけ異なるスタイルを作ってやるとか。で、実際にカテゴリを使うかどうかはconfで指定する。というのはどうだ。つーか、そういう実装(カテゴリを使うかどうかをconfで選べる)なら、tdiary_style.rbに入れちゃってもいいんじゃない?
# きた [tdiary_style.rbからconfって参照できる?]
# きた [↑本当は@optionsで,カテゴリを使うか使わないかとか,サブタイトルからカテゴリ名を検出するための正規表現を指定..]
# ただただし [いやそうでなくて……えーと……続きはtDiary-develでやろう(笑)]
# smbd [手前ミソであれですが ランダムテーマ http://smbd.homelinux.org/rwiki/rw-cgi...]
# ma2tak [Pgsql版のI/Oクラスを書いていますが、これってもうありましたっけ? ちなみに私の現テスト版は、http://m..]
# suzune [またアンテナかにゃ?]
2005-01-29(土)
◆ 走れねぇ……
体力づくりの一環として、隣駅の相模大野まで散歩。歩くぶんには今までと変わりないよなぁ……と自信を持っていたんだが、信号の変わり目で走って渡ろうとしたら、足がぜんぜん動きません。まさか走れなくなっているとは思わなかった。
あと、伊勢丹で九州・沖縄展をやっていたので行ってみたら、禁止食品ばかりでほとんど何も食えない。梅ヶ枝餅のつぶあんが禁止だと気づいたときには、マジで泣きそうになったぞ。はやく治さないと、今度はストレスで別のところがおかしくなりそう(笑)。
それから、相模大野のサクラヤで初めてMac miniの実物に遭遇した。おそるおそる手にとって、なぜか思わず振ってしまった。……すまん。でも、昨日Let's note R3Fの予約しちゃったし。いろいろカスタマイズしたらMac mini 4台分くらいの値段になってしまった。まぁいいや。
◆ USBオーディオが欲しい
新居のPCスペースにはスピーカーくらい置ける余裕があるので、放置してあったスピーカーを接続しようと思うんだけど、どうせならUSBオーディオにして、多少は音を良くしたいところ。
SANWA SUPPLY MM-SPU1SV USBスピーカー
サクラヤで物色したんだけど、ぜんぜんそれらしい品物がない。唯一「これか?」と思えたのが写真のスピーカーで、USBのコネクタにヘッドフォンジャックがついていて、スピーカー自体は通常のものが付いている。この、コネクタ部分だけ売ってれば、手持ちのスピーカーやヘッドフォンをつなぎかえたりしながら使えるのになぁ。そういう製品ってないのか知らん?
# ただただし [あ、ヘッドセット用……なるほどねぇ。探してみます。 つーか、おれにSONY製品を買えと!? >かん]
# かん [「投稿」を押してからしまったと思いました…>SONY]
# yuh [上記の製品と同種の物ですが、私はこれを使っています。キーボードのUSBからヘッドホンを使いたかったというのもありヘッ..]
# ハハハハ [EDIROLとかのUSBオーディオI/Fって選択はありませんか?多少オーバースペックかもしれませんがDACはいいの使..]
# yuh [聞き専とかだと楽に手が出せるレベルだとここらですかねえ http://www.roland.co.jp/produc..]
# つぼい [いつも拝見させて頂いています。 USBオーディオは安定性がピンキリなので注意が必要です。比較的安価で安定しているのこ..]
2006-01-29(日)
◆ 自治会の理事にされる
自治会の役員とかの役職は、たいていの場合、新参者に白羽の矢が立てられる(もしくは古参でその手の活動が好きな人がずーっとやる)。
というわけで、来年度は(有無を言わさず)ウチにお鉢が回ってきたのである。抵抗しても無駄なので受けたけど、企業で言えば、ド新人を突然幹部社員に抜擢するような行為なわけで、合理精神とは程遠いよなぁ。まぁ、新人が地域になじむのに近道ではあるので、多少は理のないこともないか。
◆ 上陸
今日の買い物の帰りの車内。
妻: (バレンタイン用に)日本初上陸のチョコを買ったよ
俺: 「上陸」って言うと、怪獣っぽいよな
妻: 東京湾から?
俺: 「最近は埋立地が増えて上陸しづらいなぁ」とかぼやきつつ
妻: いやいや、その前に海ほたるを破壊
俺: 東京湾横断トンネルを踏み抜いたりして
妻: 観たい! そのシーン観たい!
俺: だろー?
2007-01-29(月)
◆ tDiary: Akismetスパムフィルタを書いてみた
2007-01-30修正: プラグインによる設定を追加したので、少し設定方法が変わった。
半年ほど前に、メールアドレスを入力してくるツッコミをすべてspam扱いするようにして以来、ほとんどのspamを排除できるようになった。が、今日はとうとう、名前欄にメールアドレスを入力するという技を使われてしまい、1通通り抜けられてしまった。
悔しい。
悔しいので、ついにAkismetに手を出すことにした。とりあえずフィルタ部分だけ書けたので、coreのtrunkにcommit済み。CVS最新版のtDiaryでないと動かないと思われ。あとで設定用のプラグインも書く。
ちなみに、↑は表向きの理由で、本当はToDo2.2に残ったタスクに、ちょっと食指がのびるネタがなかったからなんだが。つまり逃避。
Akismetスパムフィルタの使い方
(0) tDiaryを最新版にする
少なくとも、2007-01-30作成のスナップショットか、同レベルのCVS trunkにする。core、pluginとも。
(1) Akismet API keyを取得する
個人利用向けのフリーなAPIキーを取得する。といっても読めばわかるとおり、WordPress.comのアカウントを取得するのと同義である。tDiaryのフィルタを使うためにWordPressのアカウントを取るという矛盾を楽しみたまえ。
メールによるconfirmation後、profileの編集画面に「Your API Key」という12桁の文字列が表示される。というか、英語がよくわからん人はこのへんを参照。
(2) tDiary上で設定
プラグイン選択で「akismet.rb」を有効にすると、「セキュリティ」の中に「Akismet spamフィルタ」が追加されるので、設定画面を開く。(1)で取得したkeyを入力し、フィルタを有効にする。
なお、Akismetは日本語のコメントをspam扱いしがちという噂もあるので、spamフィルタの設定画面で「spamと判定されたツッコミを非表示にする」としておき、有無を言わさずに捨てられないようにしておいた方がいいと思う。
(3) あとはspamが来るのを待つ
おれのところにはまだ来てないので、本当に動いているのかどうか不明。よって効果も不明。そもそも他のフィルタですでに十分にフィルタリングできているから、いつになったら作動するのやら……。試しに、他のフィルタを切ってみようかしらん(←本末転倒)。
(おまけ)実装の話
なんだかくだけた感じのAPIリファレンスを見ながら実装。Ruby実装がすでにあることに気づいたのは出来てからだったが。
しかし、ドキュメントには一言も「REST」の文字がないものの、APIのエンドポイントにがっちり「rest」の文字が躍ってるってことは、WordPressの中の人も、これがRESTだと思ってるんだろうなぁ。もう、完全に誤った「REST」が定着してるね、全世界的に。
◆ ドメイン名の長さでspam判定してみる(2)
spamつながりで、先日の細工の続き。
Apacheのログをじっくり眺めていたら、最近の「長いドメイン名のreferer spam」には、重大な特徴が。末尾にみんな「#」がくっついているのである。なにそれ。普通にブラウザ使ってたら、絶対にこんなrefererが発生するわけがない。こいつら、自分からbotだって主張してるわけか?
だったら、これで十分だよなぁ。
# badreferer.rb
require 'uri'
module TDiary::Filter
class BadrefererFilter < Filter
def referer_filter( referer )
return (referer !~ /#/ )
end
end
end
2008-01-29(火)
◆ 「Sleipnir+IE7」で「Shift+クリック」と「Ctrl+クリック」を使い分ける
自宅でSleipnirを使っていて、リンクを新しいタブで開こうと思い、「Shift+クリック」したのに間違って「Ctrl+クリック」をしたんだけど、それでもちゃんと開いたので気にしなかった。
そしたら、職場のSleipnirでは開かないの。なんでかなーと思ったら、自宅はVistaなのでIE7、職場はXPなのでIE6。IE7はタブブラウザになったから、Ctrl+クリックに「新しいタブを開く」という機能を割り当てたのか! 知らんかった。
IE7で「Shift+クリック」をすると本当に新しいウィンドウが開いてしまうので、全部タブで済ましたいおれには不便なんだが、Sleipnirはそうじゃないので、こんな感じで使い分けることにした:
- Shift+クリック
- このリンク先は今すぐ読みたいときに使う。開いた新しいタブがアクティブになる*1
- Ctrl+クリック
- このリンクはあとで読もうというときに使う。開いた新しいタブはアクティブにならない
というわけで、常用しているすべてのIE6をIE7にアップデートした。まさかこんな動機でIE7に乗り換えることになるとは。
*1 設定(ユーザインタフェース/ウィンドウ)で「新しいウィンドウをアクティブにする」をチェック。


Before...
# NT [「Shift + リロードボタン」で出来るかと。Asumi RC2 の Galeon です。]
# yamk [DNS の逆引きは、特に 25bit より少ない ZONE の場合は、すぐ上のプロバイダに正しく登録されていて、かつ..]
# zoe [galeonのShift+リロードってブラウザのキャッシュしか通さなかったような気がします。違ったかもですが。]
# UmaShika [gTLDだからといってrootサーバすべてに登録されるわけではないです。分割委譲されているはずです。 また、逆引きは..]
# yamk [逆引きのもっとわかりやすい説明ありました。 Q1-3)クラスC未満の場合の逆引きの仕組みは? http://www...]
# suzune [伝えときましたよ〜ん。 次期外相は小泉さんが兼任みたいですね…]