Skip to main content

ログ取得ツール

そして、凶のおみくじは見なかったことに

鶴岡八幡宮のおみくじを無視して、引越すことを決めた。果たしてこれが吉と出るか凶と出るか。 今の部屋を管理する不動産屋さんに電話したら、解約通知書を送れということで、今日帰ったら探して送ることにしよう。やはり期限が来て解約する場合もあれを送るのだったか。今の部屋が来月の20日までだから、20日に出ていけば土曜日でちょうどいい。 部屋探しはこれからだが、まあなんとかなるんじゃないかと思う。まずは今週末にでも小杉あたりの不動産屋さんに行ってみよう。 次に同じシチュエーション(契約を更新するか否かを選択する)になりうる2年後の自分の年齢を考えて少しヘコんだ。いっそ熱海の温泉つきの…という選択肢もゼロではない。 …老後かよっ!! (追記) 2003-11-18 23:18 解約通知書をポストに投函した。もはや退くことならず。

DLJ楽天スーパーポイント!

楽天、友達にすすめるとポイントが貰えるアフィリエイトサービス開始(impress.co.jp)。

楽天は17日、「楽天市場」の各店舗や商品ページに設置された「友達にメールですすめる」機能を利用したアフィリエイトサービスを開始した。楽天会員(登録無料)であれば利用できる

前のここのニュースと絡めて、推薦した株を買ったら大量のポイントが…ということになるのかもな、たぶん。普通の買い物とは単位が違うからすごいポイントになりそう。 …ないか。

セッション管理

ソフテック、高木浩光氏と共同開発したセッション管理自動検証ツール(impress.co.jp)。

WebProbeは、ログイン時のCookieや、HTML内のhiddenパラメータなどから「セッション追跡パラメータ」を推定し、そのセッション追跡パラメータを基に20項目を超える脆弱性を検査する。検査は、異なるIDでログインするなど数回試行することにより、より精度が上がるという。検査結果は、脆弱性の詳細な解説とともに問題点もリストアップされる。

98,000円/月と高いけど。 私は実はどんなセッション管理が悪くてどんなセッション管理がいけないのか、判別方法ってよくわかってない。既知の情報からセッション情報のCookieなりその他のパラメータを別ノードで計算できたら乗っ取れるというのはわかるんだけど、他にもたくさんあるんだろうな。 それから、セキュリティに関して思うのは、パスワードシステムってもう限界じゃないかな。全部のアプリにssh-agentと通信して認証してほしい、と無謀なことを思わせるほど。ユーザは大量のパスワードにうんざりしている。 (追記) 2003-11-19 07:45 Webアプリケーションの検査テクニック(1)(atmarkit.co.jp)、 Webアプリケーションの検査(2)(atmarkit.co.jp)、 Webアプリケーションの検査(3)(atmarkit.co.jp)などが参考になるのかな。要は推測できるか否かにかかっているのではないか。

そいつを解決しよう

シンボルを解決(というか逆かな?)してみようと思い立って、libbfdを使ってsymlib(mydns.jp)を作ってみた。ちょっとした遊び。 使い方は、 #include : struct symtable *st; char *sym; int offset; st=symbol_load(“some-executable”, 0); if(st==NULL) exit(1); sym=symbol_get(st, some-symbol, &offset); if(sym==NULL) exit(1); printf("%p = %s+%d\n", some-symbol, sym, offset); symbol_close(st); みたいな感じ。現実的には、main()argv[0]を読み込ませればいいんじゃないかな。 しかしシンボルの解決というのはまあまあ重要な問題かと思う。わけのわからんポインタを与えられたときに、しかしヒープやスタックではなく関数ポインタだったりするのだが、そこが果たして何者であるのか、というのはデバッグに必要な情報だ。printfの%pをオーバーライドしたいくらいだがそこまではなし。 今は指定したファイルのシンボルしか読み込まないのだが、これから拡張するとしたらリンクされているシェアードライブラリのシンボルまで読み込むようにしたり、自分のexecutableを勝手に読み込むとか、ksymoopsみたくするとか、いろいろ考えられる。やはりprintfの%pを奪って環境変数LD_PRELOADの設定だけで使えるようにするというのが本命かもしれない。しかしprintf奪うなんてのはかなり気乗りのしない出来事。 冗談でPythonからも使えるようにしたが全く意味ないね(笑) (追記) 2003-11-17 23:53 用途をあんまり書いてなかったな。関数ポインタを引数に取る関数で、与えられた関数ポインタが何という名前の関数であるかをログに残すときに使える。デバッガで見りゃいいんだけど、そうもいかないときにどうぞ。 (追記) 2003-11-17 25:00 こういう、ある種の「逆eval」ってのはおもしろいかも。ちょっとPrologっぽい? …そこまで言うと飛躍しすぎだな。 (追記) 2003-11-18 15:56 あと、ヒープのアドレスから「どの関数でいつ割り当てられたメモリか」を求めるとか、スタックのアドレスを渡されてスタックフレームを表示するとか、バックトレースを表示するとか、そういう機能ってあるといいと思う。 私はバックトレースに関してはデバッガを使っているが、この程度のことを知るためにいちいちデバッガかと思うと納得がいかないのだ。 あとデバッガが構造体を探る様子が楽しいので、その機能もライブラリにしたいなぁと日頃思っていたことを思い出した。いわゆるprintfデバッグだと構造体のダンプってみんなよくやると思うけど、こんなの人力で書かせるなよと思う。Pythonで言うところの__repr__みたいなのをCで使いたい人がいるとして。…__repr__ってレプリケーションのことかな。 (追記) 2004-10-04 12:06 __builtin_return_addressとかのスタックフレームを操作する関数と組み合わせれば、スタックフレームをシンボルで表示できるな。けっこう使えるのかもしれない。

これで死ぬのは…

ポップアップ遮断の次は、「スポンサー付き検索」遮断ツール(zdnet.co.jp)。スポンサーつき検索(GoogleにおけるAdWords)を遮断するツールが登場した…といってもIEに標準で組み込まれるわけではない。

Search Sanityを欲しがるユーザーがたくさんいるのかどうかはまだ不明だ。Nielsen//NetRatingsの最新の調査結果では、24%ほどのユーザーが「スポンサー付き検索結果は通常の検索結果よりも役に立つ」と評価し、約51%が「スポンサー付きでない検索結果と同程度役に立つ」と答えている。

しかしながら、これはいずれはIEに標準で組み込まれることになるだろうな、たぶん。その前にメーラにベイジアンフィルタを標準装備する方が先のようにも思える。 しかし「スポンサー付き検索」が役に立ってると思う人の割合の多さは意外だ。 結局IEがOperaの無料版(試用版かな?)みたいにウィンドウのどこかに広告を入れてくるかもしれない。IEが考えられる限り全部のWeb広告をフィルタして、IE自体に広告を入れるようにすれば、Web広告を完全支配できるもんなぁ。しかもFirebirdユーザにはそのほうがありがたい。…でもこれ、世の中にとって良くないことだし、昔の無料プロバイダに似てるから(笑)失敗しそう。

やられた、○○じゃないのか…

松岡正剛の千夜千冊『ビル・ゲイツの面接試験』ウィリアム・パウンドストーン(isis.ne.jp)。

こんな問題がマイクロソフト社の入社試験に出た。「南へ1キロ、東へ1キロ、北へ1キロ歩くと出発点に戻るような地点は、地球上に何カ所ありますか」。

(追記) 2003-11-17 11:33 さすがにいきなり書くのも変だし、考えた解答を「もっと読む」送りにする。


正解は「∞×∞+1カ所」ということだ。というわけで私は加算無限だと思ったがそうじゃなかった。しかもアレフ0+1はアレフ0だからアレフ0と答えたろう(アレフって文字コードに入ってないのか?)。不採用。やられた。 北極点が1個、南極付近で1キロ回って1〜n周になる点から北へ1キロという点が加算無限個あるだろう。他にあるのだろうか? まあパズルだからどうでもいいんだけど。 …よく考えれば、さらに南極付近から北へ1キロ付近という点がまた一周分あるのだな。こちらはアレフ1だ。やられた。たしかに、見事に不正解だ。 あとは…

  • (問題1)太陽は必ず東から出てくるのだろうか。
  • (問題2)マンホールの蓋が四角ではなく丸いのはなぜか。
  • (問題3)マイナス2進法で数を数えなさい。

マイナス2進数以外はただの雑学だから知ってるよね。四角いマンホールもあるんだけどさ。

capitalize、lower、upper

シェルスクリプトでのupperとlower、capitalizeのやり方。file-rename-utils(freshmeat.net)より。 upperとlowerは常識的。

`echo -n $var | tr '[:lower:]' '[:upper:]'`
`echo -n $var | tr '[:upper:]' '[:lower:]'`

[:upper:][A-Z][:lower:][a-z]でも良い。 で、capitalizeが難しい。というか書く気がしないよこんなの。

`echo -n $var | cut -c 1 | tr '[:lower:]' '[:upper:]'` \
  `echo -n $var | cut -c 2- | tr '[:upper:]' '[:lower:]'

昔(DOS)はよかった(?)。そもそもファイル名には大文字小文字の区別がないし、

REN *.TXT *.DOC

なんて非常識なコマンドがあったからな。globをコマンド側がやってたんだよね。で、共通のルーチンを呼ぶようにしてUnix的にglob後にmainを呼ぶような感じにして使っていた。なつかしい。 Unix系でもquoteしてもらうことにすれば実現できるとは思うけどね。

dos_rename '*.TXT' '*.DOC'

内容は以下みたいな感じか。

for i in *.txt ; do mv -i $i ${i%%.txt}.doc; done

こんだけで済むから、わざわざコマンドを書く必要がない。いまいちだな。

チーフス止まる

チーフスが今季初黒星 NFL第11週(asahi.com)。…あの赤いチームがやっと止まったか。

開幕9連勝中だったチーフスの快進撃が止まった。AP通信によると、10戦全勝となれば98年のブロンコス以来の快挙だったが、ベンガルズのラン攻撃に守備陣が翻弄された。リターナーとしてチームの快進撃を支えてきたダンテは「僕らはベストを尽くして負けたわけではない。ただ、うまくプレーできなかっただけ」と強がった。

Dante Hallの活躍(4つのリターンTD。しかも4試合連続)を見ればリターナーに聞くのもうなずける。Week10でもTDこそなかったものの、威力は健在だった。たしかトリックプレーでファンブルだったかインターセプトだったかもされたけどね。 スコア(yahoo.com)を見ると、両軍ターンオーバーがゼロか。美しい試合だったのかなぁ。Holmesのランがそこそこ止められたんだな。

JavaScriptフィルタ

MozillaFirebirdってサイト毎にJavaScriptを許可する/不許可にするを設定できないんだっけ? 昔できたような気がするんだけどなぁ。別のブラウザだったかな。設定しようと思って項目がないことに気づいた。 とにかく見にくくなるからOFFにしときたいサイト(reuters.co.jp)があるんだよね。なんか操作するたびに妙なリロードがかかるのだがJavaScriptをOFFにすると直る。どうしてもJavaScriptが必要なサイトとは思えない。とりあえずフィルタ用のプロキシでhttp://www.reuters.co.jp/layer2.js(reuters.co.jp)をブロックしてみたが、元凶はページに埋め込まれたほうのスクリプトでbodyのonresizeの先でlocation.reload()でリロードさせているためのようだし、効果があるのかどうか。 …あ、layer2.jsのブロックでgetBrowserTypeが定義されないからlocation.reload()の前にエラーになって実行されないな、これは。http://www.reuters.co.jp/layer2.jsのブロックで解決か。めでたい。 JavaScriptに関しては、このサイトでもいくつかの不要とも思える場面で使っているので他人のことは言えないのだが。

イングランドvs.フランス

フランスのキックが不調。雨のためか両軍ともハンドリングミスが多い。岩淵さんも言っていたが、状況がロンドンの霧に似ていたのと、イングランドサポーターが多かったのでイングランドホームのような雰囲気の中で戦っていた。 ラインアウトはフランスが優位に進めたが、強烈なFW戦でサイド攻撃を続けたイングランドが3DGと5PGだったかな、とにかくノートライで得点を積み重ねた。トライを捨ててPG狙いを続けるイングランドがブーイングを浴びながらも大量の白いサポーターの声援に勇気づけられていた。 一方のフランスは1トライに封じ込められ、いくつかあったPGは全部外した。パントもプレースキックも、とにかくキックがダメだった。イングランドはパントもプレースキックもドロップゴールも正確で、そこが一番の違い。 しかしあんなに強かったフランスが不調とされていたイングランドにこうもひねられるとは。恐しい。 決勝はワラビーズvs.イングランド。ホームのワラビーズが有利ではないかと思うがイングランドも悲願のW杯を目前にして気合いが入っていることだろう。好ゲームが予想される。