TIOGA54Tの1週間後

081031-191747.jpg
前回装着から、アーチ断面を毎日シコシコ。

ザラザラ面が鏡のように輝いていく様子をみてうっとり。

女性が宝石を喜ぶのはこういう感覚なんだろうか。



081031-190545.jpg
1日往復15km×5日で計75kmを1週間がしがし踏んで通勤した結果、チェーンはついに1度も外れなかった。
1度も。

理由はいろいろ考えられるが、走行距離1500kmでパーツの劣化もない自転車を、同じ人間が同じ道をトップに入れてさらに速く走っても外れなかったということは、チェーンのテンションが決定的だったのかもしれない。というのも、コマを増やさずにそのまま着いてしまったからだ。ローに入れてもチェーンの張り加減はそんなに変わらずに。

左の写真のように、フロントのギヤが大きくなった分、テンションプーリーはガイドプーリーより少し前に出ている。以前は垂直になるようにコマを合わせていた。チェーンを指で押したときのたわみ具合は多少きつくなったかな?と感じる程度の違いでしかなかったが、走っているときの振動でチェーンがブルブルする程度はぐっと収まってしまうのだろう。このブルブルがチェーンリグに噛み損ねてしまう原因なのだから。

いやはや、1日に1回近く外れていたのが、ちょっとした違いで全く起きなくなってしまうなんて。






体外離脱








Main in the Dark
swf
leona lewis - yesterday







xdoc2txt入れよう

Officeファイルの中のテキストを抽出できるxdoc2txtのActiveX版が8月に出ていた。

エクスプローラから文字列検索しても、半角文字しかだめだったりテキストボックスの文字がだめだったりでほとんど使えなかったけど、これを使えばさらに強力(正規表現で)に検索できる。

System32にocxファイルを入れてレジストリに登録する必要があるが、
new ActiveXObject("XDOC2TXT.xdoc2txtCtrl.1")すれば
Convert(path)、Load(path)のメソッドが使えてEXE版よりはるかに便利だ。
しかし、レジストリに登録となるとセキュリティ管理された端末では引っ掛かってしまうかもしれず、悩ましい。

しかし、やる気はガゼンでてきた。
検索テキストボックスをもう一つ作って、入力した文字が含まれているOfficeファイルを一覧表示する。
ファイル名のフィルタと組み合わせてand検索でやって、ファイルをフォーカスしたらツールチップ的に前後の文字列を出したりとかもうやばいし、ライブサーチできれば最高だが数万行の検索をキー入力に合わせて表示は無理w

ライブサーチという名前は、むかしラブサーチといういい出会い系サイトがあってどうもかぶっていかん。





mirrorMan - 拡張子なし対応で開き直る

前回からもぞもぞして決めた。

拡張子表示なし設定がされていても拡張子を表示してしまえ。

というわけで、
selItmObjext.png
フルパスのPathプロパティをFileSystemObject.GetFileName()して、
ファイル名を取り出しちくる。



あとファイル名の変更にはひとくせ。
拡張子なし設定だとファイル名変更で拡張子を変えることができない。
つまりfileオブジェクトのNameプロパティを変更しても、強制的に元の拡張子が補完されてしまう。
これはエクスプローラも同様で、やるにはプロパティを開いて関連付けの変更ボタンからするしかない。

もう処理を分けちる。

拡張子なし設定:ファイル名変更時には拡張子を消し、件の自動補完にまかせる。
拡張子あり設定:従来どおり入力された名前の拡張子に依存。

設定がどちらかはレジストリを検索したりしなくてもよくて、
FileSystemObjectのGetExtensionName()で空文字かで判別可。

しかしそもそも、
バージョンアップ時に毎回40~50程度のVectorのダウンロード数が増えるのか疑問。





ドトール豆3品

081025-144355.jpg
すっかりはまって日に4-6杯飲む始末。
エスプレッソローストも飲んでしまい、
今度はドトールで買い込んでくる。
コーヒーネタもブログカテゴリに昇格。

写真は左から、コクが特徴のマンデリン。
期間限定のコロンビア センタウロス。パッケージには、

「アマゾンからの湿った風が入り込む、コーヒー栽培に最適な地として名高いメタ県より探し出した産地指定コーヒー」
「すっきりとした味わいとグリーンアップルを思わせる優しく繊細な酸味が特徴」

とある。舌に優しさや繊細さなどという感情を感じる器官があるとは思えないのでどうでもいいが、
グリーンアップルとはなんぞ。どこぞの青リンゴガムみたいなケミカルな味がしたら許さんぞと思いつつ、封にはさみを入れると普通に強いコーヒーの匂いが。豆は油でテカッているが、これはどうなんだろう。挽いてみると固い。バリバリいう。調整しないと粗挽きになっている。

味は、当たり前だけどいわゆるスタバなカラメル味はなくて、舌乗りもクリア。コク系としてはバランスがとれているというのかな。青リンゴを感じるかどうかは、ぼくには想像力が足りないようだが、品のいい感じはする。

他の二つは後日に。




mirrorMan - 拡張子なし表示対応してみた

folderOption.png
Macの漢字TALKからWindowsに移ったときは、ファイル名の拡張子というものに幻滅したものだった。アイコン画像もMacに比べれば小学生の落書きみたいなものだったし、OSが把握しておくべきファイルの種類をファイル名にくっつけて見にくくしてと、納得できる点なんか何一つなかった。

仕事を始めると、どのPCも押し並べて拡張子を表示し、エクスプローラはもっぱら詳細表示で使っているのを目にし、自分もそれになじんでいった。Macの方が優れているとそれでも思っていたけれど、いつのまにかファイル名を見るのと同時に拡張子も見るようになり、そのころにはアイコンなんて、なんとなく緑色ばっかりならエクセルファイルが並んでるんだな、くらいでしかなくなっていった。Windowsがいつから拡張子を表示しない設定をデフォルトにしたのか覚えてないが、それ以来、拡張子が表示されていないと脊髄反応で設定を切り替えるようになっていた。

いったんUNIX環境を旅して名前を変えられてWindowsに戻ってきたファイルはもう、UI上では何の種類のファイルか判別不可能だ。実際問題として、ファイルシステム上でファイルフォーマット管理がされて、グラフィカルなアイコンイメージのUIでユーザに示すことができていれば、拡張子は無用である。

nafudan.jpg
拡張子はまるで、小学校でみんなが胸に安全ピンでつけている名札のようなものだ。海外旅行でもして日本に戻ってくれば、それがローカルな文化にすぎないことがみえるが、その中の小学生にとってはあって当たり前になっていて、ないときにはその人が誰か分からないからでなく、ないことでその人でなくなっているような気になるようなものである。

とはいえ、ファイルを表形式に並べて管理するなら、アイコンイメージに許されるサイズはその目的には小さすぎる。拡張子がないよりはアイコンがないほうがまだましである。それにUNIXのシェル環境と日常的に行き来するなら拡張子はなくてはならない。

なんといっても、スクリプトからファイルにアクセスするには、GetFile()だろうがParseName()だろうが、拡張子がなければアクセスできない。エクスプローラを拡張子なしに設定しておくと、Shell.Application.NameSpace()で取得したItem().Nameプロパティは、
拡張子なしのファイル名を返すくせに!

そうはいったところで、拡張子が違う同じ名前のファイルをひとつのフォルダに置けるのだから、しょうがない。マイクロソフトは以前、拡張子を6ケタにしたいなどといっていたことがあったから、このダブルスタンダードはマイクロソフトが市場を支配している限り続きそうである。

noExtName1.png
というわけで、mirrorManは拡張子を表示しない設定でも動作するようにしてみた。
これまでは、一覧を表示したあとは、マウスやキーボードのフォーカス動作があって初めてフォルダやファイルのオブジェクトを取得しにいっていた。FFFTPと同様にファイルシステムと同期しているわけではないし、誰かが更新したりしているかもしれない動的な状態を保持したくなかったからである。
しかし、拡張子なしのファイル名ではそのオブジェクトにアクセスできない以上、一覧表示のタイミングでそれぞれのファイルやフォルダのオブジェクトへの参照を保持しておくしかない。

mirrorManで表示し、そのファイルをエクスプローラで削除した後でも、そのファイルを右クリック-プロパティで属性を確認できてしまう。ダブルクリックして初めてそのファイルがないことを知らされる。まるで亡霊のようで気味が悪い。ソースコードを書き換えるのも、ぱっとみシンプルにはなるものの非情で非常なストレス。おちょこ2杯開けて続ける。酒飲むとコーディングがはかどるの、知ってますか?実際の手の動きが速いわけではないけど、口でしゃべって書いてるみたいですよあはは↓。根っこがアイコンと拡張子のダブルスタンダードにあるせいか、どうすればいいのかわからない。






TIOGA 54T磨き

081023-091946.jpg
さて前回のTIOGAスタンダードピッチ54T。
サンドペーパーで表面塗装を削る。少し残してエイジドな感じに。

081023-143852.jpg
ピカールでシコシコ、シコシコ。
頭まっしろな自分の顔が映ってにんまり。

081023-144140.jpg
組み付け前にテフロンポリッシュをまんべんなく。









081023-152701.jpg
081023-160410.jpg


通販サイトでは7,8速用として売られていて、歯がHGチェーンのリンクに当たるか気になっていたが、コマの幅とはツラでなんとか大丈夫そうだ。












TIOGA 54Tのチェーンリング

BSM-R9に標準でついているSUGINOのXD2クランクはMTB向けの製品なので、トリプルでの使用を想定してか左クランクのペダル位置が右側よりもフレームから1-2cm遠くなっている。

それはいいのだが、フロント50Tでトップに入れてで30kmくらいで走っていると、ちょくちょくチェーンが外れてしまう。ディレイラーのテンションはトップに入れてガイドプーリーとテンションプーリーが垂直に並ぶのが適切な位置ということだが、それでもトップではテンションが相対的に低く、走行時のチェーンの横揺れがきっかけでギアに噛み損ねて外側に外れる。

他にない小ささの9Tのトップ、論理的にはチェーンをそれだけ小さく曲げるので効率が良いわけではなく、常用するのはあまり良くないとコーフーの向井さんも言っていた。
ならば、フロントの歯数をさらに大きくして、よく使うレンジをミドルにふれば、チェーンラインもまっすぐになってチェーン落ちは減るはず。

081021-201539.jpg
そしてTIOGAの54丁が入荷したとの知らせで定時ダッシュして飯田橋から品川のKOOWHOへ。

涼しくて気持ちいいせいか、皇居の回りは平日なのにランニングしている人が一杯いた。
東京駅周辺のビルの夜景を眺めながら内堀通りの広い歩道のつるつるタイルの上を走るのはとても気持ちいい。品川までは約1時間、品川から池袋までは1時間半。

081021-213415.jpg
左から順に、
TIOGA PCD110mmで54Tのスタンダードピッチ 3000円前後
TA PCD130mmで53Tのアリゼ 7000円位
SUGINO PCD110mmで50TのSS110JS 7000円位

SUGINOは変速ピンがついていて、エッジ加工も美しい仕上げ。競輪御用達ブランドの地位はヅマノを持ってしても崩せない。デザインも好きで一番なんだけど、コンパクトで9-10速対応では50Tまでしかラインナップがない。

TAは変速のきっかけをつくる欠け歯(写真のTIOGAネームのところ)がある。これもポリッシュされていてきれいだ。フランスの一流ブランドだけあり、どこを持ってもエッジが手に引っ掛からない。でも、コンパクトでアリゼのようなそつのないデザインのものがない。

他には台湾のFSAにもコンパクトの53Tがあるが、ブラックしか見当たらないのであきらめた。

TIOGAは値段なりの仕上げだ。変速ピンの穴も欠け歯もないし、青いネームにいたってはシールである。でもシングル使用ならこれで十分かもしれない。これを磨いてから使おう。






ちょっと自転車で日本一周してくるの人、明日ゴール

ちょっと自転車で日本一周してくる、の人がいよいよ、とうとう明日ゴールするらしい。準備編のニコ動再生回数は448,273回!

すごいなー。

おめでとうコメント絶対書く。

その人のブログはこちら




『フラット化する世界 下』@城南島海浜公園

城南島海浜公園
081019-103857.jpg
バーベキューやキャンプ場の有料施設は大田区民しか使えないという、区民御用達でアットホームな雰囲気の城南島海浜公園。ビーチは無料。





モスのプレーンドッグ、ソーセージの端をねじってある腸のかたまり、味のないあれを何十回も噛んでいるのが楽しくてまた食べてしまう。






081019-122015.jpg081019-122536.jpg
北の奥に入り組んだ先にある、波がないお台場と違い、ここは砂浜に打ち寄せる波音を聞くことができる。ただし、すぐ南の羽田から離陸した旅客機がま上を飛んで行くので、轟音に包まれること数分間隔。これさえなければ…

081019-124556.jpg

15章の「フラットでない世界」、文章がどんどん熱を帯びてくる。読む方も一気に読み進んでしまうのだが、著者のフリードマン氏は、本当は世界はそうやすやすとフラット化なんかしないと感じているのではないか。

世界中を取材してまわり、フラットにいきわたるITのテクノロジーを見るほど、欧米とイスラム諸国との果てなき対立がくっきりと浮かび上がってくるようだ。

著者によると、「中流意識」があるかないかは、収入の多い少ないではなく、自分の将来に明るい未来を思い描けるかどうかで分かれるらしい。自分も東京のワンルームで一人暮らしをしていて、さびしいと思いつつもやっているのはそれのおかげかもしれない。底辺PGではあるけれどIT業界でその技術で食べているという社会との接続があるからこそ勉強に楽しみもあり、またそれがなければ、とてもじゃないが東京で根なし草暮らしはやってられない。

911テロの実行犯たち、ヨーロッパでハンブルグ工科大学などに通いつつ何年も暮らしてれば、それなりに西欧世界で職を得て家庭を持ち、やっていくこともできたはずだ。秋葉原で殺傷事件を起こした犯人とは違い、「中流意識」は持てたはずなのに、なぜあんなことを起こしたのか(著者はアメリカの自作自演説を完全否定)と著者は考えている。

彼らはやっぱり、周囲のヨーロッパ社会には溶け込めなかった。そこで、地域の礼拝堂に顔を出して「温情や連帯感」を味わい、「信仰を新たに」した結果、過激派になっていったという。テロリズムは金銭的欠乏からではなく、自尊心を得られない「屈辱」から生まれるというのが筆者の説だ。

なにも極度の暴力テロに走るかどうかではなく、そうした傷ついた気持ちに対して宗教や集団活動に属することで温情や連帯感を分かち合おうとすることは、誰であろうとも否定も責めることもできない。これは絶対だ。
でも、屈辱を感じる疎外感から集まった集団は、いつか外との境界に心理的なフェンスが張られることになる。
そのフェンスは心理的なものにすぎず、たとえ向こう側に行くことができたとしても、一度生まれると二度と消すことはできない。人と人との信義心はかけがえのないものだから、かつて感じた温情や連帯感を忘れ去ることは絶対にできない。
世界がいくらどれだけフラットになろうと、その人が死ぬまでそれは終わらない。たとえ憎しみ合わなくても、軽蔑しあわなくても、かわいそうだと思わなくても、何とも思わなくなっても、フェンスはなくならない。僕は家族との間にフェンスが生まれて疲れ切った。だから自分を教祖にすることにしている。もちろん信者もいらない。

フラット化した世界がいつかくるなら、それはフェンスのない、ジョン・レノンの「イマジン」のような世界だと思う。(いつもこういうことをグズグズ考えているみたいだから、小学生の作文のように終わっておこう。書いておいて何だが考えても前に進まないし)






mirrorMan v1.83

遅いPCやサーバでファイル数の多いフォルダを開いたりする場合のレスポンスを少し改善する設定ができるように変更しました。
同じ名前のファイルの更新日時を比較する処理を両側から行わないようにする設定をINIファイルに追加しています。
Ctrl+F1キーでTEMPフォルダのINIファイルを開き、
[bthClr]	1
から
[bthClr]	0
に変更しておくと、
左右ディレクトリのシンクロ移動ボタンchkon.pngがオフ→chkoff.pngのときに、
フォルダを開くのが少し速くなります。
そのかわり、もう一方のペイン側のファイルの色は更新されません。


しくみはIniDataクラスの
var IniData = function(p,x,c,t,b){
this.edtPth = p;
this.extNam = x;
this.cpyOpt = c;
this.pstTxt = t;
this.bthClr = b;
}
オブジェクトを初期化しておいて
var ini = new IniData("未設定",["txt","ini","log","js","css"],parseInt(80),1,1);
起動時のINIファイル読み込みでini.bthClrプロパティに格納します。
while(!f.AtEndOfStream){
ars = f.ReadLine().split(/\t/);
switch(ars[0]){
case"[bthClr]": if(ars[1]) ini.bthClr = parseInt(ars[1]);
}
}
パラメータのflgは0:左、2:右、1:左右ですが、ini.bthClrプロパティが0ならflgを1に上書きせず、左か右のどちらかのみ処理するようになります。
function loadItms(flg){
if(ini.bthClr) flg = 1;
if(flg < 2){左ペイン処理...}
if(flg > 0){右ペイン処理...}
}






スタバ豆 espresso roast

081016-192422.jpg
アニバーサリーブレンドがなくなったので、今度はスタバコーヒーのベースに使われるというエスプレッソローストを買ってきた。

コク、苦味はアニバーサリーブレンドほどでなく、「カラメルのような甘みとなめらかな舌触り」といういわゆるなスタバ味だ。
豆は前回より小ぶりで、挽くときの力も軽い。

両方買って気分で飲み分けるのがよろしかろ。









mirrorMan 正規表現ライブサーチ2

その2は前回のソースです。
with(document.body) onkeydown = handleKeydown;
textboxに入力された値をonkeydownで取得すると、htaではその入力が取れませんでした。
onkeyupだと取れそうですが、onkeyupは押しっぱなしだとダメなので、ワンテンポ遅れたりします。
setTimeout('textbox.valueを参照する処理()',0)すればonkeydownでも大丈夫ですね。

onkeyupイベントは、mirrorManではshiftキーを押していると更新ボタンのアイコンが変わり、location.reload(true)で再起動、押していないと画面更新処理で、マウスクリックでもF5キーでも大丈夫なのですが、shitkeyを離したときに拾う処理で使っています。
で、
function handleKeydown(){
setTimeout('loadItms()',0);
}
そのsetTimeout、待ちを0秒でsetTimeoutするのはなぜかといと、たとえば画面に「loading中...」と表示させてから次の処理をsetTimeoutし、処理の順序を明示的に最後尾に指定することで、htaで非同期処理的に画面を更新されているように見せることができます。
そうでないと、画面に「loading中...」を表示させる処理が次の処理が終わるまでコミットされず、実際には表示されていないように見えしまうことになります。onkeydownで入力されたkeyを確実に拾いたいのも同じ意図だったり。unixではflushで明示的にやったりも。JSエンジン内の詳細な動きを説明することは私にはできないのですが、htaではこういう使い方もできます。

function loadItms(){
createItmsHtML();
}
function createItmsHtML(){
if(document.all.filterLstBox){
rhtStatsbar.innerText ="";
try{
var re = filterLstBox.value ? new RegExp(filterLstBox.value,'i') : /./
}catch(e){
filterLstBox.style.backgroundColor='#d8efff';
return rhtStatsbar.innerText = " "+e.description
}
filterLstBox.style.backgroundColor="";
for(var fc=new Enumerator(erfo.Items()); !fc.atEnd(); fc.moveNext()){
if(re) if(!re.test(itm)) continue;
...
}
}
}
検索入力textboxのfilterLstBoxが表示されていたら、その値をnew RegExp()してreに入れています。その後、ファイルやフォルダのコレクションでhtmlを組み立てるループの中でre.test()しています。

ライブサーチ、マシンパワーにものを言わせる機能です。
Vistaのスタートメニュー内のテキストボックスにも実装されていますが、いつもHDをカリカリさせてインデックスを作成しているのを許す気分になれますか?








mirrorMan v1.81

v1.80はポップアップ表示が使い勝手悪杉で修正。

ver181.png

正規表現句としてエラーの場合、
テキストボックスの背景が水色になり、ステイタスバーにerr.description表示。

テキストボックスからフォーカスは外れないので、
続けて入力しながら確認できます。


*入力句がエラーのままフォルダ移動しようとすると動作しない・・・




『フラット化する世界 上』@光が丘公園

081013-150611.jpg
081013-151402.jpg
081013-155710.jpg







ジャズの音色に引き寄せられて一服。


連休最後の今日
ディズニーランドも入場制限されるほどの人出だそう。

光が丘公園もすごい人でボールやラケットで遊ぶ人でごったがえし
読書できないほどの騒ぎ声。
さっきのジャズ演奏の場所に戻ろう。


木で囲まれたこの小さな広場は反響がソフトなのか、
360度から聞こえてくるようだ。
1時間ほど読みながら聴いた。


ずっと立ち去らずに聞いているのが60人位の、上手いジャズだった。
最後はアンコールの拍手で再演奏。
演奏している人たちもうれしそうに歓談していた。



「フラット化する世界」とはいっても、アメリカ人ジャーナリストがアメリカ人に向けた本で、アメリカ経済の構造はこんな風に変わってきたぞ、というのが上巻。

ベルリンの壁の崩壊は、テレビの衛星放送という、当局が取り締まり切れない放送技術によって壁の向こうの暮らしをみた東ドイツ市民に取り返しのつかない意識の変化を与えたからだ、というのをどこかで読んだことがある。

そしてITバブルが光ファイバーを世界中に張り巡らせてはじけた後、インドや中国がそれを使ってどんどんアウトソーシングで仕事を獲得するようになった。
以下目次毎に感想。

*アップローディング:
大学のコミュニティなどで磨かれたソフト、ApacheやNetscapeがフリーで提供され、新しい生産の形を示すとともに産業構造の変化を加速させたという話。
また、ブロガーが一大メディアになったという話。市民は東西ドイツを隔てる壁によじ登ってガッツポーズをとった後は、自ら報道の一翼をにない始めた。

*オフショアリング:
中国で一括生産して安くて悪くなない服を流通させたユニクロはもう当たり前の存在になったな。トヨタはこの金融崩壊の中でも、アメリカ工場の工員を社員で雇い、自給にしても2千円とか3千円で雇用し、公園の掃除なんかさせているらしいが。

*サプライチェーン:
西友と提携したウォルマートとはどうした?クロネコヤマトの電動アシスト自転車配送トレーラーはアメリカにはないが、日本では環境にフィットしたシステムだ。そういうことは触れられなていない。

*インソーシング:
東芝の故障したノートブックを集配業者のUPSが2,3日で修理完了して届けてしまうって?日本は狭いからな。何でも屋のコンビニの配送トラックは一日3回も4回も回ってくるぞ。

*インフォーミング:
Googleか。ホリエモンが技術屋としてみれば別に大したことじゃないっていってたな。それはともかく、パウエル元国務長官は、情報収集を下の者にさせなくなったそうだ。そして、携帯メールで20代の広報担当の下っ端に直接仕事を頼んだりしたそうだ。

世界の流れを大きく知るレポートやエピソードとしてはいいが、頭にランプがつくような話を求めて読むなら、その前にググレカスだ。

この10年、経済がこんな方向に突き進んでくるなんて誰が予想できたか?
10年後、息子は安定した職につけるかと質問された著者もわかりませんと答えている。
全国のニート諸君安心しよう。10年後みんながどうなっているか、誰もアドバイスすることができない。
誰もみなさんを責めることはできない。ただひとつ、暮せなくなっても国の施策の失敗のせいにはできないほどフラット化の波は速いということは実感できる。IT業界にいると3年後の仕事すらイメージできないし。





DMC Acute Lip

081012-210915.jpg
081012-211805.jpg
ようやく発売された。

上から、
米製4BA
Acute Tip
新Acute Lip
Lipopint


折れないし曲がらないしPCダーツも刺さりよし
抜くときにダーツ回してのツルツル感も

まんまリップポイント!

惜しむらくは僕が熱中してた頃、
mixiのコミュでアナウンスされつつも、
待てど暮らせど発売されなかったこと。












mirrorMan v1.80 正規表現ライブサーチ

正規表現は入力一文字ごとに検索条件が確定するわけではありません。
いきなり「*」を入力しても、繰り返し対象の前の一文字がないのでだめです。
また、デフォルトで強欲マッチだったり、前方参照や後方参照があったり。

でも、そんな細かいことより、
リアルタイムで検索されるほうがおもしろす。

マッチするのか調べたい文字列を、ファイル名にしちゃって実験するのもよす。

1文字入力されるたびにテキストボックスの値をnew RegExp(値,"i")するので、
「正規表現が不正です」とかいうポップアップは無視して、ばしばし入力!


テキストボックスの表示/非表示を切り替えるのは、filter.pngこのボタン↓か、Ctrl+F

regfilter0.png

何か入力したりBSキーで消したりする度に、一覧が絞り込み表示されます。
入力したままフォルダをクリックすると、絞り込みながらあっちこち移動することも。

regfilter1.png

われながらおもしろくて自分に1拍手w






コーフー 新型強化ピボットボルト

BSMの走行距離はまだ1500km位だが、チャリ通を始めてハードな走りをするようになったせいか、
ピボットボルトのガタが気になるようになった。
ここって人体でいえば椎間板というか、ボディを支えながら擦り動く部分なのに、ボルトがなんともチャチいらしい。よく動くサスなだけにというか、ヘルニアを患いやすい腰痛持ちのBSMである。というかブリヂ・・

定時に仕事を終わり、目指すは品川のサイクランド コーフー。途中の、夜に近くから見上げる東京タワーはいつ見てもきれいだ。あんなに煌々と照らされる巨大建造物は他に知らない。しかもモールトン好きにはたまらないであろう、いわばトラス構造の権化。

着いた店もサイトトップの写真のように煌々としていた。店長の永井さん?気難しい人かと思ったけど、いろいろ説明してもらったらそんなことなかった。

081010-222206.jpg081010-222532.jpg
新しいボルトを触らせてもらったら、ホームセンターで売ってそうな元のボルトとは違い、ネジ山のピッチは1mmで頭もデザイン加工されてある。中は向こう側が見える穴あきで軽量化。スプリングワッシャで緩まないようにしてあり、ロックタイトなして締めているとのこと。







081010-225646.jpg
元のを見てみれば、ネジ山が半分以上切ってあり、ボディに埋め込む受けの内側を覗くと、ネジ山のない半分程に摩耗の痕があり、もう一方にはうっすらとネジ山の摩耗痕。強度的に耐久性はあるとはいえようと、長く乗るならこれはいやだ。

自分で作業はしたかったけど、もうその場で交換してもらった。後輪を少し持ち上げてパンピングさせるとカタカタいっていたのがなくなった。ちょっと感動した!






081010-191645.jpg
フロント側のガタもみてもらった。これくらいは出るものらしいが、フレーム内側研磨、ハードサスに変更、グリスアップのチューニングでなくなるそうだ。なにより、乗り心地が変わってアレックスモールトンに乗っている人も試乗したら驚くらしい。値段もそれなりで作業は預かりになるので、次回のメンテナンス時にお願いしようかと思った。
そのフロントのカットモデルの写真を撮らしてもらう。変なこと書かなければブログに載せていいそうなので掲載。下側サスペンションのボディと擦れる二か所でガタが発生してくるらしい。両手に持ってサスを動かしてみると、5つ並んだエラストマーがブニュブニュつぶれてまさに脊椎の軟骨。一般的なコイルスプリングとオイルダンパーの組み合わせは、路面に対する追従性では確かに優れているのかもしれないが、これはBSMの生き物のような乗り心地を目で見たようでますます好きになった。スピードを出せば出すほど空を飛んでいるような乗り心地になるというとちょっと大げさだが、そこがたまらない。

帰り道はしばらく歩道を走って様子をみながら適当に走っていて、麻布あたりの繁華街でスイッチが入る。まるで病院から退院したときかのようだ!そして新宿からの明治通り上りで足が売り切れ。





Windows 7 のCM


ええぼくらダサいですよ

だからダサいCMで笑ってよ的な

Windows 7て書いたDVD持って踊る

リアルダサいこのセンス

MSだけにまさかマジかとw













シマノの32mmスパナ

TL-FC31.jpg

BSMのステムにほんの少しガタが出てきた。

32mmのスパナはと自転車屋でシマノ工具をみたら、
TL-FC31があったものの7000円以上している。
値札が間違っているのかと思い、店員にこれしかないのかと確認したくらいだ。
いったいシマノは、Snap-OnやKTCのような高級工具ブランドメーカーでも目指しているのか?


081009-195433.jpg
ググると、こんなBMWのラジエータファンのナットを回す用のがあった。
3200円。オクでも出品があったので、写真のポリッシュされたのを3300円で落とした。

シマノの値段が張る製品はそれなりの意味があると思うが、
クルマのラジエータファンを固定するボルトを回す強度のスパナで3000円前後、
自転車のステムを回すのに、TL-FC31は2本セットとはいえこの値段、

なんだ?









フィニッシュライン テフロン ポリッシュ

finishlineteflonpol.jpg

FINISH LINE TEFLON BIKE POLISH だいたい1000円
塗って1週間使ってみた。
光沢がどうのというのはわからんが、
乾いた指でなでるとスベスベで気持ちいい。

ススも付きにくくなった。
とくにリムのブレーキシューが当たらない部分とスポーク。
ティッシュで簡単にきれいになる。

ボディも水滴が玉状になっているので、ちょいちょいと拭ける。










サクラエディタ - keisenPaste.js

マクロ書き直した3つめ。ファイルは右のSkyDriveのSakura Editor Macroフォルダにありまそ。

前回の派生で、範囲選択したものかクリップボードデータに枠をつけるだけのもの。

keisenPaste1.png → keisenPaste2.png

(function main(){
var s = Editor.GetSelectedString(0)
|| new ActiveXObject('htmlfile').Script.clipboardData.getData('text');
if(!/\r\n/.test(s)) s +="\r\n";
s = s.replace(/\t/g,' '); //indentのタブをスペース置換する場合。
if(s){ s = s.replace(/\r\n/g,"\n").replace(
/\r/g,"\n").replace(
/\n/g,"\r\n").split("\r\n");
}else return;
maxWdh = compareLen(s);
Editor.insText(setStr(setLength(s)));
})();
   前回とかわらない

function compareLen(s){
var m = "";
for(i in s){
var ln = bLen(s[i]);
if(m < ln) m = ln;
}
if(m % 2) m++;
return m;
}
   罫線文字が2byteなので2で割り切れないなら1++

function setLength(a){
var ln, tl = a.length - 1;
for(var i=0 in a){
ln = bLen(a[i]) || 0;
if(i == tl){;}
else if(ln < maxWdh){
var s ="";
var d = maxWdh - ln;
for(j=0; j < d; j++) s +=" ";
a[i] += s;
}
}
return a;
}
   短い行には半角空白埋め。

function setStr(a){
m = maxWdh / 2;
var k ="", s ="";
for(i=0; i < m; i++) k += "─";
var hLine = "┌"+ k + "┐"+"\r\n";
var tLine = "└"+ k + "┘"+"\r\n";
for(j in a) if(a[j]) s = s +"│"+ a[j] +"│"+"\r\n";
return hLine + s + tLine;
}
   前後左右に罫線文字を追加

function bLen(s){
if(!s) return;
var l = s.length, b = l;
function isWide(c){ return(0x80 <= c &&(c <= 0xff60 || 0xffa0 <= c)) }
for(i=0; i < l; i++) if(isWide(s.charCodeAt(i))) b++;
return b;
}
   前回と同じくbyte長。
   しかしVBSのLENB()もうそっぱちだし、powershellとかsilverlightもいいけど、

   中の人なんとかしてくれんか。

   と思ったら、.NETにjQuery採用してるぢゃないかw!w

   そうか、VisualStudioのインテリセンスにjQueryも出てくるのかw

   長いものに巻かれているうちは帝国も安泰ぢゃw






サクラエディタ - sepDataPaste.js

マクロ書き直した2つめ。ファイルは右のSkyDriveのSakura Editor Macroフォルダにありまそ。

Excelで範囲選択コピーしたものをサクラエディタに貼りつけると、
タブ区切りでガタガタになるので、イメージがつかめない。
ので、タブやカンマ区切りの表データを列幅を調節し罫線をつけて貼りつけるマクロ。

keisenPaste.png → keisenpasteSakura.png






(function main(){
lines = {
maxWidth : [],
header : "",
data : [],
count : 0
};
var s = Editor.GetSelectedString(0)
|| new ActiveXObject('htmlfile').parentWindow.clipboardData.getData('text');
if(makeCells(s)) Editor.InsText(setEachLines());
})();
   オブジェクトリテラルlinesは、
   maxWidthは各列の最大幅、headerは1行目、dataは2行目以降、countは行番号。
   範囲選択されていればそれ、されていなければクリップボードデータを取得して、
   makeCells(s)以降の処理をしたら挿入。
   Editorはサクラエディタから実行すると参照できるエディタオブジェクトで、マクロ関数が使える。

function makeCells(d){
var rowLines = d.replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/\n/g,"\r\n").split("\r\n");
for(i in rowLines){
if(!rowLines[i]) continue;
if(!splitLine(rowLines[i])) return false;
lines.count++;
}
return true;
}
   サクラエディタは改行コードが混在するデータを扱えるので、
   セル内改行の\nもひっくるめて\r\nに統一。
   行毎に次の処理を呼び出し。

function splitLine(str){
var sep2ndLine = '"",""'; //csv format sepline
switch(lines.count){
case 0:
var sep = setColSep(str);
if(!sep) return false;
lines.header = str.split(sep);
compareCellLen(lines.header);
break;
case 1:
if(str == sep2ndLine) break;
default:
var sep = setColSep(str);
if(!sep) return false;
var d = str.split(sep);
compareCellLen(d);
lines.data[lines.count] = d;
}
return true;
}
   ヘッダ行、セパレータ行、それ以降の行でswitchして次の処理を呼び出しつつ格納。

function setColSep(str){
if(/\t/.test(str)) var colsep = " ";
if((/,/.test(str)) && (!colsep)) var colsep = ",";
if(!colsep) new ActiveXObject("WScript.Shell").popup("区切り文字判定できず");
else return colsep;
}
   行毎にタブかカンマかの区切り文字を判定して返す。

function compareCellLen(arr){
if(! lines.count) for(var i=0 in arr) lines.maxWidth[i] = bLen(arr[i]);
else{
var ln = [];
for(var i=0 in arr){
ln[i] = bLen(arr[i]);
if(lines.maxWidth[i] < ln[i]) lines.maxWidth[i] = ln[i];
}
}
}
   行毎に呼ばれるここで各セルの幅をmaxWidthと比較して大きければ格納。

function setEachLines(){
var hline ="", dlines ="", sline ="";
hline = attachWidth(lines.header).join("|") +"\r\n";
for(i in lines.data) dlines += attachWidth(lines.data[i]).join("|") + "\r\n";
sline +=setSeprateLine(lines.maxWidth).join("|") + "\r\n";
return(hline + sline + dlines);
}
   次の処理で空白埋めした後にパイプ文字を挟んで結合。

function attachWidth(arrCol){
for(var i=0 in lines.maxWidth){
var colWth = bLen(arrCol[i]) || 0;
if(colWth >= lines.maxWidth[i]) continue;
var strBlank = "";
for(j=0; j < (lines.maxWidth[i]-colWth); j++) strBlank += " ";
if(!arrCol[i]) arrCol[i] ="";
arrCol[i] += strBlank;
}
return(arrCol);
}
   maxWidthになるまで半角空白で埋めて各列の幅をそろえる。

function setSeprateLine(arrColumn){
var arrDash = new Array();
for(i in arrColumn){
var strDash = "";
for(j=0; j < lines.maxWidth[i]; j++) strDash += "-";
arrDash[i] = strDash;
}
return(arrDash);
}
   セパレート行も幅に合わせて作成

function bLen(s){
if(!s) return;
var l = s.length, b = l;
function isWide(c){ return(0x80 <= c &&(c <= 0xff60 || 0xffa0 <= c)) }
for(i=0; i < l; i++) if(isWide(s.charCodeAt(i))) b++;
return(b);
}
   JScriptのlengthプロパティはUNICODE文字に対するものなので、byte長を返すため。

長い。処理するデータ量に比例してもっさりしていく。




サクラエディタ - pathJump.js

マクロ書き直した。ファイルは右のSkyDriveのSakura Editor Macroフォルダにありまそ。

var extNam = ["txt","log","sh" ,"csh","dat","ini","sql","js"];
var hogePth = new RegExp("\\\\hoge","i");
   OSの関連付けを無視してサクラエディタで開く拡張子と、
   アクセスを禁止したいパスの正規表現キーワード。URIでもおk

(function setPathString(){
sh = new ActiveXObject("WScript.Shell");
var s = Editor.GetSelectedString(0);
var p = s ? s : Editor.GetLineStr(0) ;
var reg0 = /(?:.*?)([A-Z]:\\|\\\\[1A-Z])(.*?)(?:(?: |\s){2,}|[<>:\|"])(?:.*)/i;
p = p.replace(reg0, "$1$2").replace(/\r|\n/gm,"");

return hogePth.test(p)
? sh.popup("このパスはアクセスできません。\n\n"+ p)
: jump(p);
})();
   関数自体を(func~)();のように括っておくと呼ばれなくても読み込み時に走る。
   ので、中でvarした変数のスコープはプライベートで使えて読みやすくなる。
   reg0はカーソルの範囲選択が面倒で、タグジャンプみたいに行から見つけてジャンプさせたかったので、
   パスを取得する正規表現。サクラエディタのgrep結果画面で
C:\Program Files\sakura\pathJump.js(39,19)  [SJIS]:~
   なら行列位置の(39,19)ごと取得。

function jump(p){
var fs = new ActiveXObject("Scripting.FileSystemObject");
var reg2 = /(.*?)(?:\(|\s{2,}?)(\d+)(?:[,]*|[\s]{2,})(\d*)(?:[\s\)]*)(?:.*)/;

if(fs.DriveExists(fs.GetDriveName(p))) {
var d = fs.GetDrive(fs.GetDriveName(p));
if((d.DriveType == 3) && (hogePth.test(d.ShareName) != -1))
return sh.popup("このパスはアクセスできません。\n\n"+p);
}
if(fs.FolderExists(p)) sh.Run('"'+ p +'"');
else if(reg2.test(p)) {
if(fs.FileExists(p)) return sakuraOpen(p);
var fileP = p.replace(reg2,"$1");
var linNm = p.replace(reg2,"$2");
var colNm = p.replace(reg2,"$3");
sh.exec(Editor.ExpandParameter("$S")+' "'+fileP+'" -X='+colNm+' -Y='+linNm);
}
else if(fs.FileExists(p)) sakuraOpen(p);
}
   reg2はサクラエディタのgrep結果書式だった場合に行列位置を取得。

   処理の順序が塩梅で、ドライブ名が取れたら共有名を取得してアク禁パスかチェック、
   フォルダならRun()でフォルダウインドウ、
   grep結果の書式ならExec()で行列位置を渡してサクラエディタで実行、
   それ以外でファイルパスなら拡張子チェックへ。

   この順番が変わるとアホな挙動になってしまう。


function sakuraOpen(p){
for(var i in extNam)
if(new RegExp("\."+extNam[i]+"$","i").test(p)) return Editor.FileOpen(p);
new ActiveXObject("Shell.Application").ShellExecute('"'+ p +'"');
}
   設定された拡張子でなかった場合、デスクトップシェル環境のShellExecute()におまかせ。






スタバコーヒー豆 アニバーサリーブレンド

081003-213931.jpg
081004-124214.jpg
081004-124916.jpg

081004-123708.jpg


スタバのコーヒーはおいしくて、もう少し濃い目で飲んでみたかったので豆を買ってきた。
「アニバーサリーブレンド」は毎年、創立記念でこの時期だけの販売だそうだ。

081004-123854.jpg
081004-125347.jpg

ミルはHARIO製の「セラミックスリム」で2625円、セラミック歯で長持ちするらしい。分解して洗える。
手回しなので、一杯飲もうと思ったら数十回くるくる回す。



空気に触れると香りが飛んでいくのは食べ物何でもそうだが、香りが命のコーヒーは挽きたてが一番。なんていうが、別にコーヒー店のようにモワーと立ち込めるわけでもない。


細かく挽いたら、スタバコーヒーがこれでもかと濃くなった!

一般のブレンド品のようなコーヒーコーヒーした香りは弱く、ブルーマウンテンやハワイコナのようなさっぱり酸味感もないかわり、舌全体にコーヒーらしい苦味が乗ってくる。満足。











『ハイエク 知識社会の自由主義』 池田信夫



「昨日自分が予測したことがなぜ今日起こらないかを、明日になって知る専門家」
とは経済学者を指していうらしいが、ブログ上の池田信夫氏の断罪節はまるで、
昨日予測したことが明日には起こると信じて毎日怒鳴り散らしている、みたいな感じだ。



その信念とぶつかるものは政治経済学問役所マスコミと、ところ構わず議論の矛を向ける先があまりにも幅広い。全体構成としてはハイエクの生涯をなぞり、「21世紀ハイエク」が何を言うかまでを、ブログの記事を整列させたような感じだ。しかしこの本は一般向けにもかかわらず、一回読んだだけではハイエクがどんな人で、著者は結局何を言いたいのかピンとこない。断片化した脳をデフラグしたいような気分になる。


強引に一言で要約してみれば、

需要と供給が一致して失業者のいないニュートラルな経済の均衡状態というのは現実にはあり得ず、
インターネットがもたらすフラット化した世界の動的な平衡状態(本書でいうサイバースペースの「自生的秩序」)はハイエクの自律分散の思想と一致するものである。

という感じか。本書は著者がサポートページも設置している。




クリアバーテープ

081001-203637.jpg
日東Neat M.196 STI
アルミ焼き入れヌルヌルポリッシュ(上ハンだけ)
透明感がキレイ。

バーテープ巻くのがもったいなかった。






081001-195737.jpg
081001-210234.jpg
VELOのクリアテープを巻いてみる。

難易度はやや高い。

透明感を損なう、両面テープやブレーキワイヤーを固定するテープは一切なし。
しかもテープ全体にワックスが塗ってあってヌルヌル。

バーテープ自体に強度があるので強く巻けばいいが、さらなるヌルヌルとの闘いだ。最後の締めはタイバンドで固定した。


081001-210438.jpg
なんか雰囲気が工事中というか中途半端というか、
難しいアイテムだ。

ピストみたいなすっぴんの自転車にはいいのかもしれない。

コルクのモコモコな手触りがなくなったのもちょっとさびしいのな。











while(aho.atEndofStream)

笹部 政宏
笹部 政宏
mail




フリーソフツ
Category
はてブ
Monthly Archive
New Entry
New Comment
New Trackback
RSS
Copyright © Kittens flewby me All Rights Reserved.