パスワードを忘れた? アカウント作成

jordan_bethさんのトモダチの日記みんなの日記も見てね。 みんなの日記はここから一覧を見ることができます。

3187437 journal
日記

jordan_bethの日記: JScript : String.split の腐った仕様 3

日記 by jordan_beth

Microsoft に憤る第二弾。

某氏の「いまどきcmd.exeでもなかろうよ」にそそのかされたかどうかはわからないが、前回の del にしてやられ、ほとんどのコードがなくなって、「どーせ書きなおすなら…」と、JScript on WSH でコーディング中。(Power Script は XP 非標準なので却下。 Javascript なら経験あったのである程度行けるという見込みはあった)

で、とあるライブラリの unittest で、どーしてもテストをパスしない箇所があり、調べみたら String オブジェクトの split メソッドにおかしな挙動を発見。
a = '\nabc';
as_str = a.split('\n');
as_re = a.split(/\n/);
WScript.Echo('[' + as_str + '](' + as_str.length + ')');
WScript.Echo('[' + as_re + '](' + as_re.length + ')');

これを実行すると次の出力となる。
[,abc](2)
[abc](1)
最初の文字がセパレータそれ自身である文字列を split すると、正規表現では最初の文字を無視してしまうようだ。

なんで?
どうしてこういう余計な処理をしてくさるの?

余計な処理をしてくれたおかげで、最初の文字が何なのかチェックして、分割後に足りない分を追加する、なんていうアホみたいな処理をやらなきゃならなくなるじゃん.....

#ちなみに Firefox の Javascript 実装だときちんと第一要素に空文字をつけた配列を返してくれる

2853459 journal
日記

jordan_bethの日記: del コマンドの腐った仕様 16

日記 by jordan_beth

とあるバッチスクリプトをコーディング中なのだが、その終了処理で、使用したテンポラリファイルを削除する次の一文があったんだ。

del /f /s /q "%FILENAMEVAR%" > NUL 2>&1

「これならバッチファイル実行中に確認プロンプトやらエラーやら表示しないぜ」なんて得意になってたわけだ。で、ある程度出来上がって実行していると、カレントディレクトリのファイルが消えていく…。運の悪いことにテスト実行はスクリプトがおいてあるディレクトリ。いくつかスクリプトを仕上げていたんだが、これが全部なくなっていた…

なんとか削除ファイル復活ソフトを使って一つだけスクリプトを救出、調べてみたら、上の del 文が問題だった。ヘルプ出力時にはメインコードをすっ飛ばして(%FILENAMEVAR%を設定せずに)終了処理を行なっていた。

del /f /s /q "" > NUL 2>&1

が実行されていたわけだ(しかも確認プロンプト、エラーメッセージなしで)。それでも、それはコーディング中想定していた。「空文字指定でも大丈夫だしぃぃい~~」

しかし、マイクロソフトの実装は俺の予想を遙かに超える、超異次元的なものだった。コマンドプロンプトで空文字指定の del コマンドを実行してみる。

C:\Documents and Settings\foo>del ""
C:\Documents and Settings\foo\*、よろしいですか (Y/N)?

( ゚д゚)
(つд⊂)ゴシゴシ
( ゚д゚)
Σ(゚д゚lll)ガーン

工工エエエエエ(´Д`)エエエエエ工工

マイクロソフト的解釈によると、空文字ファイル=ワイルドカード、となってしまうのかぁぁぁぁ
ふざけるなァァ俺の3日間を返せーーーー
(まー XP は10年前のOSだしなー と思って 7 でやっても同じだった .....)

よくある(あった) rm -rf / のトラップに引っかかってしまった気分だ。しかもトラップに引っかかってしまった相手は信頼すべきマイクロソフトという巨大企業。

ということで、こんな夜更け、というか夜明けに(しかも GW なのに)スラドで日記を書いて、憂さ晴らしをしてみる。
#できりゃ Python でやりたかったけど、どうしても Pure DOSバッチじゃないといかん案件だったんだよな(TдT)

273864 journal

jordan_bethの日記: 教えて!自作PCの神様 13

日記 by jordan_beth
宅内のサーバ(クリティカルなものではないですが、一応お客さん向けの認証サーバやデータベースを立てた物)を置き換えようと思っています。
で、今まで i7205 という骨董品級のマザボを使ったもの、それから一時激安だったデルサーバを使っていました。これらは双方 ECC メモリを使用しているのですが、置き換えにおいていろいろマザボを見てみたところ、インテルのチップセットを使ったメモリはたかーいサーバ向けマザボでないと ECC に対応していないようです(AMDは…すいません使ったことないです)。

もはや、格安な ECC 対応のマザボはないのでしょうか?

というか、ECC はそもそも必要なのでしょうか。というか、恥を偲んで告白すると、今まで5年近く ECC 付きのメモリ使っていて、エラーを補足し訂正したよというログを見たことがありません(なんか特別な物必要?)。

もちろん潤沢に予算をかけて高価なサーバー(やサーバー向けマザボ)を買えばいいんでしょうが、そこはしがない自営業、出来ることなら安く済ませたい。でもメモリエラーでハングとかはご勘弁願いたい。とはいえ、10年に一度起こるかどうかわからない不具合のために余計な出費も嫌だ…と堂々巡りに陥っています。

ECC は必要だ、否、そんなモノ必要ない、という言葉で、私めの背中を押してくださいまし。お願いします。
252761 journal

jordan_bethの日記: 富沢祥也 安らかに

日記 by jordan_beth

ブログも持っていないし、ここもご無沙汰だったのだけれど、どうしてもこの日を憶えておきたいので文章として残しておこうと思う。

9月5日、MotoGP moto2 クラス サンマリノグランプリ・ミサノサーキットにおいて、レース中のクラッシュにより転倒、後続の2台のバイクに轢かれ、ドクターヘリで病院に搬送されるも、頭部、胸部、腹部の外傷により永逝…。moto2 という新クラスで旋風のように活躍中、将来を期待されながら、19歳という若さでこの世を去った。

考えて見れば、国際戦参戦当初から苦労人であった。スポット参戦時はもとより、フル参戦した250ccクラス、プライベータに近いチームでトップグループとは一周で二、三秒近い差がつくような実質数年開発の止まっている型落ちのホンダマシンに乗り、毎レース辛抱しながらの走行であったろう。
しかし 250cc クラスが廃止になり、moto2 クラスとなって状況が一変する。エンジンはホンダ一社提供というほぼワンメークレースとなり、エンジンパワーはイコールコンディションで戦うことができるようになったのだ。ここで、1年間辛抱しながら走ってきた成果が花を開く。

開幕戦でいきなり優勝、誰もが予想もしていなかった結果であった。

その後もトップグループと熾烈な闘いを続けるが、シリーズ中盤にかけてシャーシやサス、タイヤに細かな問題を抱えるようになり、思うように走れないレースが続いていた。
おそらく、彼も焦っていたのであろう。自分に責任がないところでチャンピオンシップのポイント争いから脱落していく…。それはレース後のインタービューで如実に落胆の表情として毎回現れていた。「ここで勝たなければ」という気負いが、少なからず影響していたのでは、と個人的に思う。

彼のことを初めて知ったのは、250cc クラスに参戦中のインタビュー映像だった。「いやー次のコースはよく知らないんで、ゲームで練習しますー」という言葉が印象に残っている。飾らず、奢らず、はにかみ屋でかつストイックな面もあり、映像を通してであったが、非常に人間的な魅力にあふれた青年だった。
加藤大治郎亡き後(その前からだが)、徐々に日本人ライダーが少なくなっており、その中で大活躍を見せ 250cc 最後のチャンピオンとなった青山博一は motoGP にステップアップ、現時点でレース中にトップ争いをできる唯一の日本人ライダー(もちろん高橋もいいライダーだが)として、多くの、というか日本のほとんどのバイクレースファンの期待を一身に引き受けていたはずだ。

その中でこの訃報。

彼の走りはもう見ることができない。がむしゃらにチェッカーフラグを目指し、勝った時の純粋な笑顔も、うまく結果を残せずに悔しさをにじませるインタビューも。
今はただただ、彼が天国で幸せに笑っていることを祈るのみ…

171957 journal

jordan_bethの日記: リモコンで電源管理 3

日記 by jordan_beth

このところ、ファイルサーバ機が不調で不定期にハングり、キー入力を全く受け付けず、リセット長押しするしか復帰できないという困った状況がここ一ヶ月に二回発生してしまった。このファイルサーバはウェブサーバおよびメールサーバからマウントされており、ハングアップ時にそこに読み込もう/書き込もうとするプロセスがあると、そのサービスまでもストップしてしまう(一応、メールサーバは NFS のタイムアウトをもって自分のキューディレクトリに書き出してくれるので、紛失してしまうメールはないようで安心した)。

おそらくAdaptec RAID のコントロールソフトウェアが使用している JAVA が古すぎるなせいじゃないか、という気がする(JAVA 関連でカーネルエラーがログされている)。ただし、「これが原因」と断定できるものでもなく、このサービスを起動しなければ今後絶対にハングらない、という確証もないので、「ハングった時にどうするか」を主眼に対応策を考える。

  1. 問題のサーバはハングっていて、そのサーバ内のソフトウェアでどうこうできる問題ではない。
  2. リモコンで電源管理ができないか?幸い、Buffalo 製の PC 用学習リモコン(RemoteStation)で他サーバから赤外線信号を送るのはできそうだ。
  3. しかし、サーバ機器に接続できそうな適当なコントロール機器が見つからない(あるにはあるが予算オーバ)。唯一、SoundGraph 製の iMON がヨサゲではあるが、なぜか日本市場から撤退しているらしく、使うとなると個人輸入となる。
  4. しょうがないので、コンセントにつけるタイプのリモコン電源を確保。しかし、これを使うとサーバ機自体の電源断となるため、ハードディスクへの影響を考えるとあまり使用したくない。
  5. できれば「リセットボタン長押し」を実現してくれる機器が欲しい。

残念ながら、最後の項目を満たしてくれるような機器は今のところググッてみても見当たらない。リセットスイッチの回線をリレーでショートさせるようなものを電子工作で作るか>面白そうではあるが、ハードウェアには全くの素人なので断念。

ということで、とりあえず4の電源リモコンの方針で行くことに決め、Linux で RemoteStation をコントロールするスクリプトを作成。一応、コマンドを実行すると電源オフ->電源オンまではできた。

これだけではつまらないので、室温(ケース内温度)に応じてエアコンの電源をコントロールしようか、というところでまた壁に…。エアコン側が全く反応しないのだ。室内の照明も試してみたが、こちらもダメ。PS2 のリモコンもダメ。Buffalo 純正のコントロールソフトウェアでも試してみてもダメだったので、おそらく「機器が対応してない」のだろうが、何じゃこりゃ。RemoteStation を買うような客層は、おそらく家電機器を PC 側から制御したい、という人が多いはずなのに、多くの家電がコントロールできないって...

その後いろいろ調べてみたが、赤外線リモコンの信号には、NEC方式からSony,はたまた家電協会方式までいろいろ規格があるらしい。が、RemoteStation は「リモコンの信号を実際に受信して」いるはずなので、規格の違いは問題にならないはず。もしかして、規格毎にサンプリングの周波数が違うのだろうか?

136173 journal

jordan_bethの日記: 伝説巨神イデオン 総音楽集

日記 by jordan_beth

予約していた「伝説巨神イデオン 総音楽集」が到着。
CD 4 枚組み、収録トラック総計 86 トラック(短いジングルは「ブリッジコレクション」のトラックとして一つにまとめられているので曲数としてはさらに増える)、これまでの発売されたテレビ版および劇場版のイデオンの BGM/主題歌/副主題歌を網羅し、さらにコンセプチャルな「交響曲イデオン」まで含めた、ファンには「コリャたまらん」な一本。
実はこれらの BGM 集、中学のころ少ない小遣いをやりくりして LP でコンプしていた。LP からテープにダビングして何度も何度も何度も... 本当に何度も聴いていた。
時は流れてテープドライブが昇天。さらに CD へ時代が移り、レコードプレーヤも昇天。聴こうにも聴けない状態が続き、オークションで不条理にプレミアの付いた CD 版サウンドトラックを傍目に、「いつかはまた聴きたい」と思いを募らせていたところ、偶然にも見つけたこの商品発売の情報。速攻 amazon で発注。

スターチャイルドさん、ありがとう。

470103 journal

jordan_bethの日記: さらば DTI

日記 by jordan_beth

学生の頃より十数年使ってきたプロバイダの解約手続きを行う。

ここ数年は個人向けと法人向け(IP8)の両方をお願いしてきたが、
昨今のプロバイダ側の動向と法人向けのサービスがこちら側の
ニーズと一致しなくなってきたので解約を決意。

学生で金を持っていなかった頃、青天井の従量課金制のプロバイダ
が多かった中で、いわゆる「ダブル定額」を提供していたプロバイダ
は選択肢が少なく、とてもありがたい存在でもあった。プロバイダ
群雄割拠の時代を経て他プロバイダとの合併統合を繰り返し、よくも
悪くも「フツー」のプロバイダになってきたと思う。

十数年も使ってきたメールアドレスに愛着はあるが、背に腹は
変えられず。次は寄らば大樹の OCN となりそう。

449140 journal

jordan_bethの日記: Microsoft のサーバプロトコル文書が Samba チームへ 24

日記 by jordan_beth

Samba メーリングリスト経由 ITmedia の記事によれば、

オープンソースサーバソフト「Samba」を推進する非営利団体Protocol Freedom Information Foundation(PFIF)は12月20日、Microsoftからサーバプロトコル文書を入手することで同社と合意したことを明らかにした。

とのこと。この合意は欧州での独占禁止法への違反が認定されたことによるもので、マイクロソフト側は自社のサーバソフトウェアとの接続に必要なプロトコル文書を要求に応じて公開しなければならないそうだ。
これで少々不安だった次期 Samba での ActiveDirectory のサポートや、次世代 Windows サーバ/クライアントとの親和性が必然的にあがるだろうか。

478629 journal

jordan_bethの日記: シュレック3

日記 by jordan_beth

遅ればせながらシュレック3を DVD で鑑賞。
1でそのブラックさに惚れ、2のはじけた演出に涙流して狂喜した大のシュレックファンなのだ(そのわりに観るのは遅い)が…。以下、ネタバレを含むので注意。

なんだこれ、フツーの子供向けの御伽噺になってるジャン。ツマランにも程があるっ!
まーーーーーーーーったくもって毒がない。シュレック自身の風貌が1,2で見慣れてしまったこちら側としては、シュレックがただの「良いおじさん」にしか見えんし、内容もアーサ王の(なんの捻りもない)成長劇、しかもアーサもただのひ弱な少年で全くキャラが立っていない。一シーン一シーンに「クス」っとする場所もあるが、全体的な流れが緩慢で2のような畳み掛けて笑わせてくれるということもない。一作目のファークアード卿、二作目のチャーミング王子の母のような強烈な悪役キャラもいない(一作目二作目を通して出てきているチャーミング王子にその役は力不足)。
観て安心観せて安心子供抜けに完全に健全なディズニーアニメのアンチテーゼとして、シュレックは多くの「大人」たちからも支持されたはず。そんなシュレックにディズニーアニメを目指させてどうするのよ、ドリームワークスは。

でも、たしかに CG は(派手さはないけれど)すごい。モーション(特にフェーシャルアニメーション)は、PDI のアニメータの底力を見せ付けられる。一昔前(まだ CG という言葉自体が一般的でない頃)に、PDI 作成の「Locomotion」を学校の授業で見せられたときの興奮をまだ鮮明に覚えている。どんなに CG の技術が発達しようとも、やはりアニメーションフィルムとして一番大事なのはキャラクタを「演技」させることだと思う。この本質はもちろん CG に限らずセルアニメがオギャァとこの世に生み出されてからずっと変わっていないだろう。

とはいえ…、技術云々は抜きにして、やはり期待していた映画が「代価を払った分」面白くなければ負けなワケで。調べてみたけど一作目と二作目の(メインの)監督が抜けてるのね…
気分が収まらないので今日の夜は レミー from PIXER でも見て寝ることにする。

480439 journal

jordan_bethの日記: Net::LDAP でハマる

日記 by jordan_beth

Net::LDAP で LDAP のエントリを追加する方法

Net::LDAP::Entry オブジェクトを使う。

$entry = Net::LDAP::Entry->new() ;
$dn = hogehoge() ;                     # DN を取得する
$entry->dn( $dn ) ;                    # エントリに DN を設定
                                       # new 時に DN がわかっているなら
                                       # $entry = Net::LDAP::Entry->new( $dn ) ;
                                       # で十分。
 
$entry->add( attr_name1 => value1 ) ;
$entry->add( attr_name1 => value2 ) ;  # 同じアトリビュート名があってもきちんと追加してくれる
$entry->add( attr_name3 => value3 ) ;
$entry->add( attr_name4 => value4 ) ;
 
$msg = $ldap->add( $entry ) ;

で、なんて簡単なんだぁ、特に同じアトリビュートが重なったときにも重ねて設定指定くれるなんて素晴らしい

typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...