2012年12月23日日曜日

年末大掃除

去年の今頃,HDD を買おうと思っていたところにタイの洪水が発生して HDD の値段が高騰してはや一年.なんだかんだ空き容量をやりくりしてたけどそろそろ限界が来たので,WD30EZRX/K (3TB) 購入.

で,HDD が広大になったので,データの大掃除ということで今まで DVD * 36枚に退避してたデータも全部 HDD に戻して DVD メディアを全部処分.4枚ほど読めなかったけどwww やっぱノーブランドメディアはあかんね.

これまでの人生における全情報量は 1.7TB でございました.

2012年12月2日日曜日

Android で telnetd

Android の ConnectBot (telnet クライアント) で作業するのに便利かと思って,Bluetooth キーボードの TK-GMFBP029BK 購入.
早速使ってみたけど,効率的にソフトキーボードと大差ない (ctrl キーが効かない) 事がわかって,普通の日本語入力とかもやりにくいので 5分で窓から投げ捨てた.
# ←ちなみに GalaxyNote のペンで書いてみたw べんりwww

で,今まで Android に telnet で入って作業するには,USB ケーブルでつないで adb shell で入ってたんだけど,いちいち USB 接続しなければならないのと,adb shell は色々とターミナル的に変 (vi が使えないとか Ctrl+C で adb もろとも抜けるとか) なので,Android で telnet サーバを立ててみることにした.

今回はアプリを入れるのではなく,(root とってるなら busybox が入っているので) busybox 内蔵の telnetd を使用することにする.
こんなスクリプト↓を書いて,
#!/bin/sh

home=/sdcard/home

case $1 in

sudo)
    shift
    su -c "sh $0 $*; sleep 1"
    ;;

start_telnetd)
    PATH=/system/xbin:$PATH
    export ENV=$home/.shinit
    /system/xbin/telnetd \
        -l /system/xbin/sh \
        -b `ifconfig wlan0 | awk '/inet addr:/{ print substr( $2, 6 ) }'`
    ;;

stop_telnetd)
    kill -9 `ps | grep 'tel[n]etd' | awk '{print $2}'`
    ;;
esac
ConnectBot の「ログイン後の自動実行」に「exec スクリプト名.sh sudo start_telnetd」と書いておけば,telnetd が開始される./sdcard/home/.shinit が sh の初期化スクリプトなので,いろいろ alias とか書いとくと便利.

ただしユーザ名もパスワードもなくいきなり Android にログインできてしまい,3G 回線とかでつながってると外からログインしまくりなので,telnetd の -b <アドレス> で,バインドする if を WiFi (wlan0) のみに限定することで,とりあえず宅内 LAN からしか繋げないようにしとく.

これで,PC から WiFi 経由で Android につなげるようになった.vi とかも普通に使えて快適ヽ(´ー`)ノ

2012年11月4日日曜日

Galaxy Note root 化でハマる

GalaxyNote 使って一日で root 化を決行w

手順自体は確立してるのでここの手順通りにやってみたけど,Odin で Tegrak-Kernel-Build-40-for-SHV-E160S-UH03.recovery.tar を焼いた後のボリュームUP+ボリュームDOWN+電源ボタンを長押し 後の画面が写真と違う… どうやら Tegra(略).tar がうまく焼けていないっぽい.

ん~? と思って情報収集してみたら

301 :名無しさん@お腹いっぱい。:2012/09/16(日) 11:11:32.09 ID:sPyTblZH
OldinでTegrak-Kernel-Build-32-for-SHV-E160S-FA09.recovery.tarを焼いたのですが
リカバリーモードで立ち上げると純正リカバリ(Android system recovery <3e>と表示)が立ち上がりSuperuserが適用出来ません
Oldinは1.85と3.04両方で試しました(Tegrak-Kernel-Build-40-for-SHV-E160S-UH03.recoveryも試しました)
Oldinではコンプリートと出て再起動するのですが焼けていないということでしょうか?

303 :名無しさん@お腹いっぱい。:2012/09/16(日) 12:27:14.66 ID:AXD/EZo4
>>301
初日にwi-fi経由でバージョンアップした時そうなったよ。
GBロムをOdinで焼き直し、KiesでICS。それで直ったよ。

なにい~!!Σ( ̄□ ̄;
開梱した直後に Wi-Fi で ICS に update しちまったよ.orz
ROM 焼き直したら一生懸命 Desire と同じ環境を構築したのがやり直しかぁ,と思ったらその直後のカキコで

304 :名無しさん@お腹いっぱい。:2012/09/16(日) 14:01:12.16 ID:sPyTblZH
OdinでICSを焼き直してからリカバリを焼いたらいけました
GBを焼き直してからKiesでICSにアップの方が良いですかね?

あ,もっかい ICS ROM を上書きするだけでいけるのね.というわけでここを見ながら標準 ICS を上書き.
その後は一般的なここの手順通りで,環境を保ったまま無事 root がとれた.ちなみに使ったファイル群は以下のとおり.

Odin3_v3.04.zip
SC-05D_DCM_1_20120822094137_vaitggs68r.zip
Tegrak-Kernel-Build-40-for-SHV-E160S-UH03.recovery
Superuser-i717-ICS-signed.zip

おかえりドロイド君w

-----
自分的覚書:
●セルスタンバイ問題の参考→ここ
switch の書き換え箇所は 3, 13 だとダメだった
2, 3, 12, 13 で ok

●ICS のコンパス修正
423 :5zen ◆vdwCDXXWO8dh :2012/11/13(火) 14:21:44.42 ID:NIJsoNTe
GPS治ったかも。

ttp://5zen.info/android/SC05D/ICS_JB/system/lib/hw/

この2個のファイルを該当のフォルダに突っ込む。
パーミッションは644で再起動
459 :名無しさん@お腹いっぱい。:2012/11/13(火) 21:13:12.91 ID:s7YXq4us
>>458
本当に感謝します
あと自分がやったのは

sensors.msm8660.soだけを
/system/lib/hw/ フォルダに移動
パーミッションを644に変更して再起動

これだけです

2012年11月3日土曜日

情報を制する者が戦いを制する

IS01 の 2年契約が今月で終わりなので,良い MNP 先が無いかと情報収集し始めたんだけど,良い条件のやつは関東ばかり.
関西でかつての IS01 並の好条件はないなー,と思ったら,意外にも我がホームグラウンドの平和堂で SC-05D が一括 \0 商品券 \30,000 キャッシュバックという (自分が住んでいる地域では) ウルトラ好条件の情報入手!
というわけで Galaxy Note SC-05D ゲット.
ちなみに次の日に行ったら既になくなっていた.情報戦に勝利www

今後 2年間の運用費は以下のとおり.ちなみに Xi スマホ割で 1年間は基本料 \780 がタダなのと,家族セット割もつけたので,請求額から最大 \10,500 引き,で 2年間分の基本料がタダ.
本体
0
コンテンツ外し (頭金)
1,575
事務手数料
3,150
基本料 (2年間)
0
MNP転出費
2,100
キャッシュバック
-30,000
合計
-23,175
Galaxy Note 本体と \23,000 のお小遣いゲットwww
しかもいまいちクセのある IS01 と違って,古くなった Desire の後継として十分使える機種だからメインスマホの更新もできて一石二鳥ヽ(´ー`)ノ

で今回 get した docomo SIM (音声通話回線) は desire に挿して,Galaxy Note には IIJ mio の sim を挿して運用することにした.
IIJ mio の sim は普通サイズだったのでカッターで切って microSIM サイズに加工.その切って余った切れ端を docomo の microSIM にセロテープで貼り付けて普通サイズの SIM カード完成.

←変造紙幣並みのクオリティ(笑) これでも普通に desire で動いた.

-----
全然関係ないけど,ランニングコストを抑えるべく 2年前いろいろ方策を練った Desire + IS01,結局過去 2年間でどれだけの金がかかったのか計算してみた.
Desire47,937
b-mobile U300*226,963
Wimax*311,400
b-mobile Fair*217,258
IS013,150
ユニバーサルサービス料総額168
合計106,876
うん,まぁわかってたけど,上の Galaxy Note と比べると,わざわざイギリスから輸入してたのとかが馬鹿らしくなってくるw

2012年10月20日土曜日

レブリミット警告灯再び

~~~これまでのお話~~~
・LED でレブリミット警告灯を自作してた
・なつやすみのこうさく感が半端無かったので撤廃して Android でレブリミット警告を表示してみた
・画面が暗くて昼間は役に立たない←いまここ

はっきり言ってサーキットでは LED のスピード表示とかは見ないし,LED 1灯だけのレブリミット警告灯でも作りなおすかなぁ,とか思ったけど,よく考えたら Android のカメラのフラッシュライトが使えるんじゃね? と思ってやってみた.
フラッシュを光らせること自体は簡単に出来たが,フラッシュは画面の反対側についているので光を画面側に持ってこないといけない.というわけで,光沢のある金属板で反射鏡作ってみた.

直視するとヤバイくらいの光量なだけあって,実際に昼間に車で走ってみても点灯してるのがわかって良い感じヽ(´ー`)ノ


なつやすみのこうさく感が薄れたかどうかは定かではない.

2012年10月7日日曜日

なんかエラー出て動かへんバスター

パソコンに詳しくない人から help を求められた時によく言われる言葉「なんかエラー出て動かへん」.
受ける側としては情報量 0 でエスパーレスするのも不可能で,ウチの親からもこんなかんじで最近サポート工数が増えてきたので,なんかエラー出て動かへんバスタースクリプト作成.

動作としては,スクリーンショットを撮ってメールした後再起動するだけwww これをワンタッチアプリ起動ボタンに割り当てて,なんかあったらここを押せと教えておく.ほとんどの場合再起動すれば親にとっても既知のステートに戻るし,「なんかエラー」よりスクリーンショットのほうが情報エントロピーは無限大ヽ(´ー`)ノ 本当にまずい状態だったのならその後の対応も取りやすい.

というわけでその hta スクリプト置いときます
スクリーンショットを撮るのは WinShot を使っているので別途ダウンロードが必要.

2012年9月4日火曜日

久々に鈴鹿サーキット

って 2日ぶりやんけ!
アホやな俺も.

5月にあった鈴鹿サーキット先導車付き体験走行会の拡大版なるものがあって,軽く申し込んでみたらまた当たったw ので行ってきた.
今回は \1,500 で 9周くらい× 2セット.前も書いたけど先導車付きと言いつつスピードは結構出せて,あとコーナーによっちゃ減速~脱出加速と,マジ走りしようと思えばできる (ホントはダメなんだろうけど).

で,まず 1本目.天気が曇りでぎりぎり持つかな,と思ったら,走行開始直後に豪雨(;´д⊂)コースに川ができるくらいの雨で,ウォータースクリーンで 20m 前が見えねぇ.しかも自分の直後の車が某大型バンだったので,突っ込んでこないかそれだけが気になって全然楽しくねぇ orz
どんだけ酷いか車載動画上げたかったけど,「車載動画は YouTube とかに上げたらダメ!」って言われたので,車載静画を載せてみるテスト.直前にセーフティカーがいるんだけど,西ストレートとかフラッシュライトしか見えないw

2本目は,雨は上がってセミウェット.まあ今回のスピードレンジなら問題ない程度に乾いていたので,俄然楽しくなってきた!! と思ったら,まさかの赤旗.某ドイツ車がひっくり返ってた ((((;゚д゚))))ガクガクブルブル
幸いドライバーは無傷のようだったけど,ああ,事故処理でこの走行会もタイムアップかなぁ…,と思ったら,予定を後ろにずらして再開ヽ(´ー`)ノ 2本目の 8周くらいは楽しめた.

あと,SMSC に入ったらエリで本コース走れるかダメ元で係員に聞いてみたら,
・オープンカーはロールケージ必須だが,エリは数年前に,特例で年式によっては走れるようになったはず
・(自分の車見て) これはいけるんじゃないかなぁ? 多分
みたいなこと言ってた.ひょっとしてエキシージと混同されてるのかもしれないけど,マジで入れるんだったら真剣に検討してみよ.

2012年9月3日月曜日

やっぱ車はエンジン音が命

鈴鹿サーキット 50周年アニバーサリーデーに行ってきた.

往年のレースカーとか有名な元・現役レーサーとかいっぱい来てそれだけですごかったけど,なんといっても自分的一番の目玉は マツダ 787B.
4ローターのロータリーサウンドが聞けて,しかもそれがサーキットの全開走行時なんて,この先めったに無いと思う. (何かのイベントで狭いところでエンジンかける程度は,たまにやってるみたいだけど)

しょぼいスマフォの動画撮影でしか残せなかったことだけが心残りだけど,実際に聞いた 4ローターの音は期待通りのチョー素晴らしい高音だった.


あと,いろいろなイベントの合間にカート乗ってきたら,無事 A ライがとれた.

いろいろと満足ヽ(´ー`)ノ

2012年8月27日月曜日

Google sites に twitter ガジェットを貼り付ける

2013/6/30 追記:
twitter のなんかの仕様が変わったらしく,以下の方法はダメになったみたい.
こちらの方法でいけた.

------------
表題通りのことがしたくって,ググレカス先生に聞いてみたけど,先人たちが公開している方法は今現在使えなくなっているみたい.だけどいろいろもがいているうちにできたので,方法を公開しとく.

大筋のやり方は「Twitter の リストウィジェット を、Google サイト にガジェットとして貼り付ける」の通り.
で,ここの「3. Google Gadget Editor によるガジェットの作成」で Hello world をツイッター公式ガジェット作成ページで取得した JavaScript に置換する手順があるけど,ここで一手間加える.

twitter から取得した JavaScript が以下のものだとする.
<script charset="utf-8" src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
   (...省略...)
}).render().setUser('hoge').start();
</script>
結論から言って,これの先頭に書いてある http://widgets.twimg.com/j/2/widget.js のインクルードがうまくいってないっぽいので,直接埋め込んでしまうw
まず http://widgets.twimg.com/j/2/widget.js をダウンロード.そして最初に取得した JavaScript の先頭行を消し,それの <script> の直後の行に,あとからダウンロードした widget.js の内容を全部埋め込んでしまう.
<script>
(... widget.js の内容...)
new TWTR.Widget({
   (...省略...)
}).render().setUser('hoge').start();
</script>
こうしてできた新しい JavaScript 全体を,Hello world と置き換える.
それ以外の手順は上で紹介したサイトのやり方通り.

実際になると,こんなかんじになる.

2012年8月14日火曜日

プログラマ ≠ デザイナ

VSD for GPS を更新しました.
配布ページはこちら

ぱっと見,デザイン的には大して変わっていように見えるけど,今回の目玉は「スキン機能」,つまり画面のデザインを変えられるようになった.

また,スキンの作り方は追々情報公開していく予定なので,好きなようにユーザーがデザインを作れるようになる.

←今までとガラっと雰囲気を変えてみた感じでは,こんなのも作れるようになる.
スキンの実態は JavaScript なので,暇な人は vsd_skins\*.js とか見てくれたら,だいたい雰囲気は掴んでもらえるはず.

で,TrackVision とかみたいに華やかなデザインいっぱい作って公開したかったけど,
俺にそんなデザインセンスは無かった(;´д⊂)
一番上のやつも,適当に光沢出してカーボン柄貼りつけただけだし.

というわけであとはユーザーの皆さんに期待w
デザイン作ってくれる人が現れたら,その情報を配布ページでまとめて公開とかできたらいいなぁ,とか考えてます.

-----
どうでもいいおまけ.
←最初に VSD を公開したときは 14本あったスライダバーが

今や 5本に…w
なぜかバージョンアップするたびに設定項目が削られていく謎.

2012年7月28日土曜日

冷やしデザイン,はじめました ~in 2012夏~

プロジェクト V8 の続き.

で,VSD for GPS に Google V8 を組み込んで結局何がしたかったのかというと,今 VSD の画面デザインはハードコーディングされていてユーザにはいじる余地がないので,画面描画を JavaScript で制御できるようにしておけば,ユーザが自由にデザインを作れて,要はスキン機能のようなものが実現できる.

で,あらかた動き始めたので,テストがてらめっちゃイケてるメーターつくってみたよ!!

シブい…我ながらシブ過ぎちゃうぜ.

ちなみにこの時の JavaScript はこんな感じ.
今までは円とか線とかプログラムで描いてメーター画像を生成してたけど,画像ファイルを読み込めるようにしておけば,かなりデザインの自由度が広がるはず.
var vsd = new Vsd;
var img = new Image( "d:\\dds\\vsd\\vsd_filter\\meter.png" );
var font = new Font( "Impact", 50 );

function Draw(){
    // メーター画像描画
    vsd.PutImage( vsd.Width - img.Width, vsd.Height - img.Height, img );
    
    // メーター針描画
    vsd.DrawNeedle( 981, 613, 130, 150, 30, vsd.Speed / 180, 0xFF0000, 3 );
    
    // 適当に文字列描画
    vsd.DrawString( 920, 650, ~~vsd.Speed, font, 0x00FF00 );
    vsd.DrawString( 200, 300, "hoge fuga piyo", font, 0x00FF00, 0x0000FF );
}

2012年7月22日日曜日

V8 エンジン搭載完了ヽ(´ー`)ノ

Google V8 の「初期化・コンパイル」と「スクリプト実行」の関数スコープを分離する,がうまくいった.ただし正しいやり方なのかどうかは不明(;´д⊂)

まず,クラスを新規に作成し,初期化・コンパイルルーチンである Load() とスクリプト実行ルーチンである Run() に分ける.
Load() で構築されかつ保持しておかなければならないオブジェクトは,メンバ変数に保存しておく.ただし,Script::New() したハンドルは ( Local<> なハンドルなので ) メンバ変数に保持しただけでは×なので,handle_scope.Close( script ) とすることで,現在のハンドルスコープを破棄しつつ script はその上位のハンドルスコープにコピーされる.
あと Run() で Context::Scope context_scope( ... ); でコンテキストに入っているけど,コンパイル時にも何らかのコンテキストに入っておかなければならないらしいので,ダミーで Context::Scope context_scope( ... ); やっている.
一番やばそうなのは,一番最初の v8::HandleScope を関数ローカル変数としてではなくメンバ変数で (すなわち new で) 生成していること.Google のドキュメント
Note: The handle stack is not part of the C++ call stack, but the handle scopes are embedded in the C++ stack. Handle scopes can only be stack-allocated, not allocated with new.
とあるように,HandleScope は new で作ってはいけないのだが,いわば First-new-Last-delete さえ守れば多分大丈夫と自分を信じることにする(笑)

以下はコードの断片.足りない関数とかは v8/samples/shell.cc とかから持ってきてくらさい.
class CScript {
  public:
    CScript( void );
    ~CScript( void );
    
    BOOL Load( char *szFileName );
    BOOL Run( void );
    
  private:
    v8::Persistent<v8::Context> m_context;
    v8::Handle<v8::Script> m_script;
    v8::HandleScope m_handle_scope;
};

/*** print ******************************************************************/

// 関数オブジェクト print の実体 
Handle<Value> Func_print(const Arguments& args) {
  String::AsciiValue str(args[0]);
  DebugMsgD("%s\n", *str);
  return Undefined();
}

/*** コンストラクタ *********************************************************/

CScript::CScript(){
    m_context.Clear();
    m_script.Clear();
}

/*** デストラクタ ***********************************************************/

CScript::~CScript(){
    m_context.Dispose();
}

/*** ロード・コンパイル *****************************************************/

#define SCRIPT_SIZE ( 64 * 1024 )

BOOL CScript::Load( char *szFileName ){
    // 準備
    HandleScope handle_scope;
    
    // グローバルオブジェクトの生成
    Handle<ObjectTemplate> global = ObjectTemplate::New();
    
    global->Set(
        String::New( print ),
        FunctionTemplate::New( Func_name )
    );
    
    // グローバルオブジェクトから環境を生成
    m_context = Context::New( NULL, global );
    
    TryCatch try_catch;
    
    // ダミーのスコープを生成  Script::New するときは
    // 何らかのコンテキストに Enter しておかなければならないらしい
    Context::Scope context_scope( m_context );
    
    char *szBuf = new char[ SCRIPT_SIZE ];
    
    // スクリプト ロード
    FILE *fp;
    if(( fp = fopen( szFileName, "r" )) == NULL ){
        // エラー処理
        return FALSE;
    }
    
    int iReadSize = fread( szBuf, 1, SCRIPT_SIZE, fp );
    fclose( fp );
    szBuf[ iReadSize ] = '\0';
    
    Handle<String> ScriptBody = String::New( szBuf );
    
    delete [] szBuf;
    
    Handle<Script> script = Script::New(
        ScriptBody, String::New( szFileName )
    );
    if( script.IsEmpty()){
        // Print errors that happened during compilation.
        ReportException( &try_catch );
        return false;
    }
    
    m_script = handle_scope.Close( script );
    return TRUE;
}

/*** Run ********************************************************************/

BOOL CScript::Run( void ){
    HandleScope handle_scope;
    TryCatch try_catch;
    
    // 環境からスコープを生成
    Context::Scope context_scope( m_context );
    
    Handle<Value> result = m_script->Run();
    
    if( result.IsEmpty()){
        assert( try_catch.HasCaught());
        // Print errors that happened during execution.
        ReportException( &try_catch );
        return FALSE;
    }else{
        assert( !try_catch.HasCaught());
        if( !result->IsUndefined()) {
            // If all went well and the result wasn't undefined then print
            // the returned value.
            String::Utf8Value str( result );
            const char* cstr = ToCString( str );
            DebugMsgD( "%s\n", cstr );
        }
        return TRUE;
    }
    
    return TRUE;
}

-----
以下自分用メモ
・v8 を shared library でコンパイルするには,gyp の実行時以下のコマンドラインで実行.
third_party\python_26\python build\gyp_v8 -Dcomponent=shared_library

・pdb 不要な形式で作成 (/Z7)
standalone.gypi の 'DebugInformationFormat': '3'→'1',

2012年7月21日土曜日

V8 エンジン搭載

# 以下,「できない」と書いてるのは「ぼくにはとてもできない」の意味

VSD for GPS に Google V8 を搭載することにした.
で,色々なサンプルをみてると,だいたい次のような流れになっている.
main(){
  V8初期化処理;
  スクリプトコンパイル;
  while( ... ){
    スクリプト実行;
  }
}
ここで注意しなければならないのは,V8 の作りとして,初期化・コンパイルで構築されたオブジェクトが生存していることが前提で,すなわち
init(){
  V8初期化処理;
  スクリプトコンパイル;
}

run(){
  スクリプト実行;
}

main(){
  init();
  while( ... ){
    run();
  }
}
みたいなことが単純にはできない.なぜなら,init() を抜けた時点で init() 内で構築されたオブジェクトが破棄されてしまうから.
ちょっと C に詳しい人なら (゚Д゚)ハァ? 何言ってんだコイツは,と思う人がいるかもしれない.でも俺が理解する限り V8 がそうなってるんです.特に HandleScope とかが独自のスタック構造になっていて,init() 内のオブジェクトを生かしたまま init() を抜けるとかができない.

で,ここで問題になってくるのが,VSD は AviUtl のプラグインだということ.大雑把に言ってプラグインとしてユーザが定義するのは 1フレーム分の画像を処理する関数で,1フレーム処理するごとにプラグイン関数を抜けて AviUtl に制御を返してやらなければならない.
ということは,プラグイン関数の中で毎回 初期化・スクリプトコンパイル・スクリプト実行 を行なってやらなければならない.数千フレームある動画をエンコすると数千回コンパイルが起こるわけでwww あほらしすぎる(;´д⊂)

んー,どうしたものか.

2012年7月1日日曜日

Win7 の avisynth DirectShowSource() でハマる

昔入れた WindowsServer2008R2,どうもマルチメディア系の動作が変で使いにくかったので,放置状態だった.で,ひょんなことから Win7 Ultimate を \4,600 で購入www 中国からの通販でもなんか平気になってきた自分…恐ろしい子!

んで,Win7 に本格的に乗り換えようといろいろ設定してたら,avisynth の DirectShowSource() で mp4 を読もうとすると,「Media Player Classic はグラフ中のピンのいくつかを再生できませんでした (云々かんぬん)」で怒られる.
avisynth は 1.5 倍再生とか VSD for GPS とかで多用しているので,これが動かないと痛すぎる.(;´Д⊂)
こういう時はたいてい必要なコーデックが足りてないと怒られるけど,ffdshow + MP4 splitter ちゃんと入れてるけどなぁ.

でいろいろもがいているうちに,なぜか avs 再生した時は ffdshow が使われてなさそうなことがわかった.
Win7 では OS 標準で mp4 デコーダとかを持ってるはずだけど,インストールされている DirectShowFilter のどれを使うかっていう優先度はどこで決めてるんだろ? と思ってたどり着いたのがここ
なるほど,メリット値ってので優先度が決まるのね.で DirectShow Filter Tool で ffdshow の優先度見てみたら,ほぼ最優先じゃん orz

んーと思って,さらにググって見つけたのがここ
ここをみると,Win7 からはメリット値を無視して (!!!) マイクロソフト謹製のデコーダしか使わず,ffdshow とかは使わないらしい.
そう聞くと,MPC で mp4 は問題なく再生できたこと (MPC はメリット値を無視しない) も,avisynth の DirectShowSource() で問題がでたことも,WinServer2008R2 ではこの問題が起こらなかったこと (2008R2 には MS 謹製コーデックは入ってない) も,全てに合点がいく.

で,Win7DSFilterTweaker というツールで Win7 でもデコーダの優先順位を設定できて,avisynth の DirectShowSource() でも無事 ffdshow が使用された.

てか,中途半端なウンコデコーダを強制的に使わせてエラー吐くとか,ヤメテクレ(;´Д⊂)

2012年6月20日水曜日

至高の PC 環境

自分的に理想の PC 環境構築.
コンセプトは,
「俺の業務中の姿勢の究極の姿」w

要は,ほとんど寝そべった姿勢で PC をいじりたかったわけよ (いわゆるゴロ寝 PC).
そのために,長さが 180cm の座椅子とモニターアームを購入.モニターは上側が手前に倒れる角度で,寝そべった姿勢でも首が疲れない.

ちょっと問題なのがキーボードで,今のとこ太ももに乗せて使うしかない.それ専用の小さいテーブルが必要かも.もしくは IS01 のキーボード・トラックボールを PC の無線キーボード・マウス代わりに使えたらいいかも.

んー,なんかどんどん廃人になっていく気がするwww

2012年6月2日土曜日

IIJmio + Fusion IP-Phone SMART は ¥945/月 運用の夢をみるか

データ通信費を削減するため,sim を b-mobile Fair から IIJmio に変えてみた.

で,IIJmio は公式では 128kbps 制限を謳っているが,実際にはそれを下回ることのほうが少ないらしいので,速度計測してみた.


sim7時台
電車内
12時台
会社
18時台
電車内
20時台
自宅
料金・通信制限
IIJmio161Kbps153Kbps187Kbps180Kbps初期費用¥3,150 + ¥945/月
128Kbps制限,転送量無制限
b-mobile Fair870Kbps179Kbps380Kbps1.3Mbps¥8,350/120日 (月換算: ¥2,116/月)
速度制限なし,転送量 0.93GiB/120日
b-mobile U300-80Kbps--¥13,409/185日 (月換算: ¥2,205/月)
300Kbps制限,転送量無制限
噂通り 128kbps 以上の速度が出ている.
嬉しいのは 12時台の落ち込みが少ないことで,体感的にも 12時台は Fair ともそんなに変わらなかった.b-mobile は電波が混んでいる時の落ち込み方がクソ (U300 とか接続タイムアウトまで起こしてたし).

というわけで,IIJmio への乗り換えは正解ヽ(´ー`)ノ
U300 は完全に要らない子だな.


で,最近 Fusion IP-Phone SMART というサービスが始まったので試してみた.これは月額基本料無料で電話番号がもらえるので,これが使えたら ¥945/月でデータ通信し放題 & 音声通話回線保持が出来るのでメリットが大きい.

で,Fusion IP-Phone SMART 公式で案内されている AGEphone を入れてみたところ,音声が 10秒に 1秒くらい無音になって電話として使うのはかなり厳しい.WiFi だと問題なかったので,さすがに 180Kbps くらいでは厳しいっぽい.
それよりも問題なのは,着信 OK にしとくとバッテリがすごい勢いで減っていくwww 10%/h くらいの勢い.ちょっと普通の携帯電話代わりに使うのは無理な感じ.

¥945/月 運用の夢は敗れ去った(;´д⊂)

2012年5月26日土曜日

笠取山分屯基地

毎年行こうと思ってたらいつの間にか終わってて,ずっと行けなかった笠取山分屯基地の基地祭(?) に行ってきた.

←基地全貌.航空自衛隊のレーダー基地だそうで,基地の規模としては小さく,祭りの規模としても地味っちゃ地味.

軽装甲機動車.見た目がゴツい以外は普通の車かと思ったら,ボディとか全部 15mm くらいの鉄板で組まれてたw
走ってる姿も見たけど,走ってる様子は乗用車よりクレーン車とかの重機に近かった.まぁコマツ製作所製なので納得.


お目当てその 1,T-4 の展示飛行.スマフォで録画したので残念画質だけど.
ちなみに 3000mm 望遠レンズとかの本気組がけっこういたw

お目当てその 2,SH-60J.
これもどっかから飛来してきて,ヘリの着陸を間近で見れた.

ローターブレードももうちょっとでさわれそう (だけどダメって言われてたのでやめといた)

駐車場から基地までピストン輸送する,コールサイン「ホーク2」
運転手の自衛官が出発時に
「バーディ,こちらホーク2,駐車場を出発する」
みたいな交信してたw 無駄にミリタリーwww


その他の展示物は震災での救助活動とかのアピールで炊事車とか給水車とか後方支援車両の展示が多かった.個人的には AH-1S とかパトリオットとか期待してたんだけど.

2012年5月14日月曜日

鈴鹿サーキット体験走行

「鈴鹿サーキット無料先導体験走行」なるものに応募して当選したので行ってきた.
先導車付きながら,鈴鹿フルコース 4周くらいをタダで走らせてもらえるというヒジョーに太っ腹なイベント.

先導車つきと言いつつ,けっこうスピードは出せて,ホームストレートとかバックストレートとかの途中までは全開加速できるので,173km/h までは出せた.

本コースは西サーキットを 1回走ったことがあるだけだけど,やっぱ本コースは楽しいヽ(´ー`)ノ
それがタダであればなおのことwww
こういうの体験しちゃうと SMSC 入りたくなってくるけど,エリの場合ロールバー付けないとダメっぽいから,金銭的に無理だなぁ(;´д⊂)

体験走行会が終わった後はいろいろ施設見学タイム.
まずは表彰台.
F1 とかでも使ってるやつ.

管制室(?)
これは楽しそうwww 一日中ここに引きこもってみたいw
HDD に全映像を録画してるそうで,直前にコースアウトした車のリプレイとか写してた.

F1マシン.
たぶんこれ,昔遊園地の方に飾ってあったやつじゃないかな.触れる程度なら OK と言われたので,コックピットの中とか撮り放題だった.

久々に社会科見学してるみたいで楽しかったっす.


帰りに遊園地のカート乗ってこようと思ったけど,舞洲のライセンス切れてた(;´д⊂)

2012年4月29日日曜日

5年振りの集結

5年振りにジムカメンバー集結!

何故かこの集まりには,直前に休出食らったり直前に原チャのダイレクトアタック食らったりで参加できないことが多くて,今回もなんかあるんじゃないかと内心びびってたけど,今回は特にドラマは何もなく,無事雁ヶ原に到着.

今回雁ヶ原に集いしメンバーは…
・N田サン … SNEAKER 装着なのになぜか速いノーマルカプチ
・9サン…オバフェン & 中心からズレたエンブレム & なんとなく色が違うバンバー と今回も突っ込みどころ満載な Opti
・Kサン … 5年で 12,000km しか乗ってなくてディーラーに怒られたらしいアコードユーロR
・N村クン … 前回よりマフラーが静かになってたインテR.前のは穴開いてたらしいw
・Fサン … Fit + スキーキャリアなのにタイヤは AD08 と本気.電気ポットやらインスタントスープやらやたらと食料が充実

で,去年雁ヶ原にきた時の経験を元に,今回はジムカ用スペシャルアイテム (ノーマルホイール & 溝なしタイヤ) を投入.
Q: エリーゼのくせに遅いね?
A: ウンコタイヤ食わねーわwww
てな言い訳の準備も完璧(汗
走りの方は,案の定カウンター当てまくりでこれはこれで面白いw どれだけタイヤすり減らしてもどうせ廃タイヤ寸前だし精神的にも優しいヽ(´ー`)ノ

終わったあとは恒例の銭湯 & 焼肉.
また近いうちに集まれたらいいね.

-----
↓一番楽しそうに走ってた動画

2012年4月22日日曜日

エアクリ交換

eliseparts.com のエアクリ (Induction for S2 Elise) ゲットヽ(´ー`)ノ

そろそろエアフィルタの交換をしようと思っていたところ,eliseparts.com で偶然見つけて,エアクリ・エアクリBOX・ホースとか必要な物すべてセットで \18k くらいは安いんじゃなかろうか,とポチッとな.
エアクリ BOX へのホースがノーマルより 2cm くらい太くなってるし,インテークのところにつけるアダプタでインテーク外側の空気を直接吸えるので,ノーマルより吸気効率アップが期待できそう.

取り付けは左後輪のタイヤハウス内のカバーを外すのが面倒なのと,アダプタがカウルに干渉して付けにくかったくらいで,とくに問題なく付けられた.

で,実際に乗ってみた感想.
吸気音は,アイドルの時に「シャー」という音が聞こえるようになった.はっきり言って耳障りwww 走行中も吸気音が聞こえるようになったが,マフラーのほうが音でかいのであんまりわからん.ブリッピングとかの音が大分変わった.
体感馬力とかは上がるかと期待したが,んーこれも変わらんね.
というわけで,エンジンルームがちょっと華やかになっただけだった(;´д⊂)


で終わったらちょっと悲しいので,県立自動車動力試験場(謎) に車持ち込んでパワーチェックしてみた.
昔マフラー変えた時にパワーチェックしたやつと比べてみたら↓
うそくせーw エアクリごときで 10ps もポンと上がるわけがないwww
前測ったのいつだっけ? と blog 読み返してみたら 8月かぁ.多分気温が 10度くらい違うと思うので,多分そのせいかな.
美浜の 5月/8月に走ったログを比べると馬力差がだいたい 5ps 位なので,のこり 5ps くらいがエアクリ分で上がったってことか?

8月にもっかい測り直そう.

2012年3月31日土曜日

コレジャナイ Android アプリ

MtkDLut の Android 版のような機能ショボイもの作成中.
機能としてはログのダウンロード・消去とログ Hz の設定だけだけど,これができたら出先で PhotoMate887 の Flash がいっぱいになってもスマフォにログを退避できたりして便利.

で,やってみているんだけど,どうも Bluetooth 経由の受信データが欠落する.
こんなふうに↓
$GPRMC,145602.100,A,35xx.xxxxxx,N,135xx.xxxxxx,E,0.756,262.36,300312,,,A*5E
$GPGGA,145602.200,35xx.xxxxxx,N,135xx.xxxxxx,E,1,,,126.783,M,,,,*2C
$GPRMC,145602.200,A,35xx.xxxxxx,N,135xx.xxxxxx,E,0.757,262.59,300312,,,A*56
5xx.xxxxxx,E,1,,,126.883,M,,,,*28
$GPRMC,145602.700,A,35xx.xxxxxx,N,135xx.xxxxxx,E,0.740,264.02,300312,,,A*53
$GPGGA,145602.800,35xx.xxxxxx,N,135xx.xxxxxx,E,1,,,126.905,M,,,,*2B
$GPRMC,145602.800,A,35xx.xxxxxx,N,135xx.xxxxxx,E,0.748,264.31,300312,,,A*57
$GPGGA,145602.900,35xx.xxxxxx,N,135xx.xxxxxx,E,1,,,126.930,M,,,,*25
$GPRMC,145602.900,A,35xx.xxxxxx,N,135xx.xxxxxx,E,0.752,264.60,300312,,,A*50
xx.xxxxxx,N,135xx.xxxxxx,E,1,,,126.990,M,,,,*25
$GPRMC,145603.300,A,35xx.xxxxxx,N,135xx.xxxxxx,E,0.719,265.51,300312,,,A*56
$GPGGA,145603.400,35xx.xxxxxx,N,135xx.xxxxxx,E,1,,,127.017,M,,,,*2E
行頭が $ でない行はそもそもデータが壊れている.

BT との通信やり取りは,PhotoMate887 へのコマンド / からのレスポンスと,NMEA データの 2つがやり取りされてるけど,NMEA 出力頻度が高いとどこかのバッファがオーバーフローして PhotoMate887 からのレスポンスがかき消されるっぽい?

PC+BT ドングル⇔PhotoMate887 だと欠落しないので,Android 固有の問題なのかなぁ.

PhotoMate887 の NMEA 出力を全部 OFF にすれば Android 側は問題ないんだけど,今度は PC の本家 MtkDLut が "No signal." とか言っておかしくなるし.
ンー,どうしたもんか.

アプリアイコンも作ってみたが.コレジャナイ感がハンパねぇ(;´д⊂)
-----
一応データ欠落も解決して完成したので公開しとく.→MtkUtility
・Android2.2 以降用
・BlueTooth 経由の NMEA ログ出力頻度 (Flash へのログ書込み頻度のことではない) を勝手に変更します.
・PhotoMate887 と 1分以上接続できないときは,アプリを再起動するよろし
・ログが消えても泣かない

2012年3月19日月曜日

Android Bluetooth プロジェクト完了

Bluetooth モジュールの使い方は一通りわかったので,今日はデータロガー (H8 マイコン) に接続し,Android 側のソフトも Bluetooth 接続に改造してみた.

Android 側は Bluetooth Chat という優秀なサンプルがあるので,ここから必要なコードをコピペしたらほぼ終わった.ちょっとハマったのは,Bluetooth のマスター/スレーブと BluetoothSocket のサーバ/クライアントを混同していたことで,要は Desire が Bluetooth マスターであり BluetoothSocket のクライアントであった.
BluetoothSocket さえ取得してしまえば後は Ether だろうとファイルだろうと扱いは同じなので,コードの修正もそんなに多くなく,無事接続完了ヽ(´ー`)ノ

一番時間かかったのは,本題とは関係がない,接続先の Bluetooth デバイスの設定を一覧から選ぶ処理www

終わってみれば大した障害もなく簡単にできた.
世間では Android Open Accessory なる物がでてきて,組込みとかのハードが開発できるようだが,手軽さで行ったらこっちの Bluetooth シリアル変換使ったほうが上だろうな.

これで晴れて Fonera+ はお役御免に.

2012年3月17日土曜日

Android と BlueTooth 接続

BlueTooth⇔シリアル通信モジュールを Get ヽ(´ー`)ノ
この手のモジュールは日本では¥3K~4K くらいが最安値なんだけど,DealExtreme の SKU 104299 は破格の $8.20 (¥700 くらい).そのかわりマニュアルとか一切のドキュメントが無いという人柱臭がプンプンしまくるデンジャラスな一品www
とはいえ,先人たちがいろいろ解析してくれてるみたいなので,失敗しても¥700 (しかも中国からなのに送料無料) ならいいや,ということでポチッとな.

で,今日届いたので早速試してみる.内容物は,BT 基盤とケーブル一本のみ.
シリアルは RS-232C といいつつ電圧は 3.6~6V のようなので,PC とつなぐには電圧変換がめんどくさいので,とりあえず上の写真の通り Fonera+ のシリアルポートにつないでみた.この時に,Fonera+ への Ethernet 通信を全部シリアルポートに垂れ流すようにしているので,PC から Fonera+ へ接続すれば BT モジュールへのシリアル通信ができる.
BT モジュールはデフォルトで 9600bps なので,Fonera+ のシリアルポートもそのように設定する.

で,この BT モジュールには 2 つのモードがあって,一つは BT モジュールへの設定モード,もう一つは BT モジュールへのシリアル通信を BT 電波に垂れ流すモード.
BT モジュールへの設定は AT コマンドで行い,使えそうな AT コマンドはここの 2012/1/21 の書き込みにあった.↓↓↓
AT+VERSION 
  Returns the software version of the module
AT+BAUDx 
  Sets the baud rate of the module 
  1: 1200 
  2: 2400 
  3: 4800 
  4: 9600 (Default) 
  5: 19200 
  6: 38400 
  7: 57600 
  8: 115200 
  9: 230400
AT+NAME
  Sets the name of the module
  Any name can be specified up to 20 characters
AT+PINxxxx
  Sets the pairing password of the device
  Any 4 digit number can be used, the default 
  pincode is 1234
AT+PN 
  Sets the parity of the module

まず "AT" とだけ送ってみたら,"OK" が返ってきた.うっしゃあ,まずは BT モジュールとの通信が成功.
次にボーレートを 38400bps にするために "AT+BAUD6" を送ってみたら,"OK38400" が返ってきた.ここでちょっとハマったのは,TeraTerm で実験するとき,キーボードで手打ちするとコマンドが認識されないので,予めコマンド文字列をコピーしておいて TeraTerm にペーストすることと,改行文字は一切入れないこと.

BT モジュール⇔シリアルポートの通信・設定は成功したので,お次は BT モジュール⇔Android との通信をテスト.Android 側のアプリは,SENA BTerm Bluetooth Terminal をつかってみた.

ここで問題になるのが,BT モジュールをデータ垂れ流しモードにどうやって切り替えるのかということ.上の AT コマンドが載っていた投稿は「pin34 を…」とか書いてるけど,この方法だと余計な配線が必要なので,何か別の方法を模索していたんだけど,単純に BT モジュール⇔BT マスター の接続が確立すると垂れ流しモードに切り替わるっぽい.(そしてマスターとの接続が切れるとまた設定モードに戻る.)
垂れ流しモードでは当然ながら AT コマンドを送ってもそれが垂れ流されるだけなので,BT モジュールの設定はマスターと通信が確立する前に済まさなければならないっぽい.
ただし,ボーレートなどの設定はどこかに保存されているらしく,BT モジュールの電源を入れなおした後も変更した設定が有効だった.

こうして,無事に BT モジュール⇔Android 通信が成功ヽ(´ー`)ノ PC の TeraTerm で打った文字が BT 経由で Android に表示される.
接続が確立すると,BT モジュールの赤 LED が点滅から常時点灯に変わる.

Fonera の起動メッセージも BT 経由で表示できた.


値段の割に機能も必要十分で,当初の心配とは裏腹に制御も簡単で,結構遊べる一品.
これで,エリーゼから無線 LAN ルータが下ろせるよwww

2012年3月11日日曜日

マフラー磨き

リアナンバープレートステーを外したお陰でマフラー丸出しになって,なんとなくレーシーになったのはいいんだけど,マフラーが焼き付いていて見栄えがあまりよくない.
という訳で,定番のヤケトールを買ってきて磨いてみた.

これが施行前.

みんカラとかで他の人の施工しているのを見ても,1~2分でピカピカ! みたいな記事ばっかりなので,自分もパイプ全部ピカピカにしてやんよ! ってな意気込みでキコキコ磨いてみたけど,ヒジョ~に緩慢なペースでしか綺麗にならず(;´д⊂)

これが施行後.

20分位かけてやっと片方のテールパイプが綺麗になった.ここですでにやる気を喪失していたけど,片方だけ綺麗ってのもあんまりだなぁと,頑張ってもう片方のテールパイプも磨く.
ホントは奥に見えるパイプも磨きたかったけど,このペースだと磨ききる気がしなかったので諦めたヽ(´ー`)ノ 自分には磨きは極められないっす.

んーなんかやり方間違ってんのかなぁ?

2012年3月10日土曜日

https proxy 経由で Net::Google::Calender を使う

Aipo と Google カレンダー連携」で,perl スクリプトから python スクリプトを呼ぶという汚い実装をしていたのだけど,perl にも Net::Google::Calender があって,perl だけで完結して Google カレンダーを操作できそうなので,やってみたらハマった(汗

まず cygwin に Net::Google::Calendar 入れようとしたらうまくいかない.ここを見ながら無理やりインストール.

次に,Aipo を運用している某所はプロキシサーバ経由で http / https アクセスしなければならないので,まずここを見ながら,$ENV{HTTP_PROXY} $ENV{HTTPS_PROXY} を設定してみたら,「500 SSL negotiation failed:」とかで失敗した.
そこで,Net::Google::Calender が内部で使用している LWP の,proxy 経由の https 方法を検索して見つけたのがここ.LWP は proxy 経由の httpsをうまく扱えないので,ちょっと変わった設定をする必要がある.

ここで気を付けなければならないのは,$ENV{HTTPS_PROXY} = ... をした後 $ua->env_proxy; を呼んでしまうと,LWP が proxy 経由の https を処理しようとして (? ココらへんは仕組みがよくわからない),結局うまく動かない.
ここらへんのコードだと $ENV{HTTPS_PROXY} 設定後に $ua->env_proxy; を呼んでいるのだが,うちでは $ua->env_proxy; を外さないとダメだった.

で,そのように設定して Net::Google::Calender を動かしてみたら,
「500 Server closed connection without sending any data back at /usr/lib/perl5/site_perl/5.10/Net/Google/Calendar.pm line 619.」
とかで失敗.

んーと思って,Net::Google::Calender の new メソッドを見てみたら,
sub new {
    my ($class, %opts) = @_;
    $opts{_ua}   = LWP::UserAgent->new( max_redirect => 0 );
    $opts{_ua}->env_proxy; ←★★ここ★★
    $opts{_auth} = Net::Google::AuthSub->new( service => 'cl' );
    $opts{_cookie_jar} = HTTP::Cookies->new;
    $opts{no_event_modification} ||= 0;
    my $self = bless \%opts, $class;
    $self->_find_calendar_id if $opts{url};
    return $self;
}
変なところに env_proxy; が入ってる(;´д⊂)
という訳で,結局 Calender.pm の上記の行をコメントアウトしたら,うまく動いたヽ(´ー`)ノ

という訳で以下コード.
Net::Google::Calendar 部分のコードや設定はこちらを参考にさせていただいた.
以下のコードを utf-8 で保存して $UserName, $Password, $ProxyURL の設定を各自の設定に書き換えれば動くはず.
#!/usr/bin/perl -w

use encoding 'utf-8';
use Encode qw(from_to);
use DateTime;
use Net::Google::Calendar;
use strict 'vars';

# 設定
my $UserName    = 'hoge.fuga@gmail.com'; # xxxx@gmail.com
my $Password    = 'password';
my $ProxyURL    = 'http://proxy.server:8080';   # proxy がいらない場合は '' にする

# stdin を全部読み込んでいったん utf-8 に変換
$_ = join( '', <> );
from_to( $_, 'jis', 'utf-8' );
@_ = split( /\s*\x0D*\x0A/, $_ );

# メールのパース

my $Summery;
my $Location;
my $Description = '';
my $DateStart;
my $DateEnd;
my $AllDay  = 0;

while( $#_ >= 0 ){
    $_ = shift( @_ );
    
    if( $_ eq '[予定]' ){
        $Summery = shift( @_ );
    }elsif( $_ eq '[日時]' ){
        $_ = shift( @_ );
        if( m#(\d+)/(\d+)/(\d+)\s+(\d+):(\d+)[^\d]+(\d+):(\d+)# ){
            # 時間指定あり
            $DateStart = DateTime->new(
                time_zone   => 'local',
                year        => $1,
                month       => $2,
                day         => $3,
                hour        => $4,
                minute      => $5,
                second      => 0
            );
            
            $DateEnd = DateTime->new(
                time_zone   => 'local',
                year        => $1,
                month       => $2,
                day         => $3,
                hour        => $6,
                minute      => $7,
                second      => 0
            );
        }elsif( m#(\d+)/(\d+)/(\d+)# ){
            # 時間指定なし
            $DateStart = DateTime->new(
                time_zone   => 'local',
                year        => $1,
                month       => $2,
                day         => $3,
                hour        => 0,
                minute      => 0,
                second      => 0
            );
            
            $DateEnd = $DateStart->add( days => 1 );
            $AllDay = 1;
        }else{
            # よくわからない時間指定,とりあえず脱出
            exit( 0 );
        }
        
    }elsif( $_ eq '[場所]' ){
        $Location = shift( @_ );
    }elsif( $_ eq '[内容]' ){
        while( $#_ >= 0 ){
            $_ = shift( @_ );
            last if( $_ =~ /^\[/ );
            
            $Description .= "\n" if( $Description ne '' );
            $Description .= $_;
        }
    }
}

# ログイン
my $Cal = Net::Google::Calendar->new();
if( $ProxyURL ){
    # proxy 設定
    $Cal->{_ua}->proxy( 'http', $ProxyURL );
    $ENV{ 'HTTPS_PROXY' } = $ProxyURL;
}
$Cal->login( $UserName, $Password );

# イベントのエントリー
my $Entry = Net::Google::Calendar::Entry->new();
$Entry->title( $Summery );
$Entry->content( $Description ) if( $Description );
$Entry->status( 'confirmed' );
$Entry->location( $Location )   if( defined( $Location ));
$Entry->transparency( 'opaque' );
$Entry->visibility( 'private' );
$Entry->when( $DateStart, $DateEnd, $AllDay );
$Cal->add_entry( $Entry );

2012年2月26日日曜日

出っ歯矯正

日本のナンバープレートはヨーロッパのより縦長なので,リアのナンバープレートがディフューザーからはみ出している.
←こんなふうに.

これが気に食わなかったので矯正しようと.

という訳で,エリ定番のナンバープレートステー外しを決行.やり方は銀えりさんのところに載ってたやり方そのまま.ディフューザー吊り下げロッドはまだ作ってないけど↓で作りました,このやり方なら強度的に要らなさそう.

ナンバープレートのハミ出しも治って満足.
マフラーもむき出しになってシブいヽ(´ー`)ノ けどマフラー焼けまくってて今度は見栄えが気になるな…んー,今度磨くか.
エンジン下とかも少しは見えやすくなったので,今度オイル漏れしたらすぐ気づけそう(汗

市販のナンバープレートステー & ディフューザーロッド キットを買えば済むんだけど,これが ¥3万超えとか意味わかんねぇとても買えないっす.

-----
ディフューザーロッドも作成したので,作成過程を紹介.

ノーマルのナンバーステーを分解後,アルミ地の板だけを再利用し,写真のように T 字型にカット.この板に穴を開け,ナンバープレートを直にボルト止めする.

ディフューザーロッドは既存の部品の組み合わせで作るため,自分のアイデア & 近所の店の品揃えw で完成度が決まる.今回はリンケージロッドっぽさを出したかったので,全ネジ (寸切ボルト) をベースにモノタロウで調達した部品で組んだ.ネジ代とかも全部含めて \5,000 ほど.出来る限りステンレスで組んだので,鉄で良ければもうちょっと安いはず.

ロッドの上部は,ボディカウルやトランク底に固定する人が多いようだが,自分はボディ・車体に穴を開けるのに抵抗があったので,ナンバープレートステーにステンレスブラケットを取り付け,そこにピロボールを固定した.
わざわざステンレスブラケットをつけたのは,取り付け位置を下げてピロボールが見えるようにするためだけw 見えなくてもいい人は,直接ナンバープレートステーにピロボールをボルト止めで OK.

完成図.
目論見通り,ピロボールがちゃんと見えて,自己満足度アズマックスヽ(´ー`)ノ

んー,カコイイ(笑)

2012年2月4日土曜日

そんなふうに考えていた時期が俺にもありました.

前回交換時から 1年経ったので,オイル交換を実施.2,000km しか走ってないけどw

で,今までのようにジャッキアップ→ボルト 13本外し→ディフューザー外し→車体下に潜り込んでドレンボルト外し,はもう嫌だ! というわけで,オイルチェンジャーを買ってみた.
これだとオイルレベルゲージのとこからホース突っ込んでポンプ動かすだけなのでかんたん.毎年オイル交換はなんかトラブルが起こるけど,今年は楽勝だな.
そんなふうに考えていた時期が俺にもありました.
車体下の大量のオイル漏れを見つけるまでは(;´д⊂)

オイル交換なんてやってる場合じゃねぇ,と抜いたオイルを車体に戻し,結局ディフューザー外しを強いられるハメに(;´д⊂)
ドレンボルトとかオイルフィルターの緩みだったらいいな (それはそれで怖いけど) という願いも虚しく,全然違う所が広範囲にわたってオイルまみれ.
んー,もう入院させるしかないね…

-----
車が治ってきた.漏れてたのはエンジンオイルではなくミッションオイルだったらしい.なんかギアのセレクターシャフト? とか言うとこのパッキンが外れてたらしい.「こんなとこが外れるのは珍しい」って店の人も言ってた(笑)

で,改めてオイルチェンジャー使ってみた.
・エンジンが冷えてるとオイル吸いにくい
この季節,エンジンが冷えてるとオイルが硬くてなかなか吸わない.15分で 0.5L 位しか吸わなかったので中断して暖機したw
暖機した後は快調に吸ってくれて,15分位で 3.5L 吸い終わった.

・上抜きだと 0.5L くらい吸えない
いつもドレンボルトから抜いたときは 4L 缶を入れるとちょうどだったのが,今回は 3.5L くらいでオイルレベルゲージ的にちょうど位になった.つまり 0.5L 位は吸えないで残っていることになる.フロントだけ持ち上げるとかすればまた状況は変わるかもしれないけど.
まぁアンダーパネル外しの手間を考えたら,0.5L 古いオイルが残るのは妥協しよう.

2012年1月24日火曜日

3台目 DD-WRT

そろそろ Gb Ether のルータがほしいなと思って物色してたら,Buffalo WZR-HP-AG300H が安くなってたので ¥6,600 で Get.
こいつのいい所は,CPU 680MHz, MEM 128MB,Flash 32MB という家庭用ルータにしては豪華なスペック.数値的なスペックだけで言えば PentiumII 位の PC と変わらん.おまけに USB もついてるのでファイルサーバにもなってくれるし.

つうわけで,一度も普通に使うことなく,箱開けて速攻で DD-WRT ファームを流し込んだ.
今のところルータ・WiFi の動作に何の問題も無く安定している模様.USB-HDD の SMB マウントも問題なく動作した.

メモリ余りすぎwww
WNDR3300 とはちがうのだよWNDR3300 とは!

CPU パワーやストレージ容量に余裕ができたので,http サーバとか svn サーバとかいろいろ入れて遊べそう.

-----
せっかくなんで通信速度測ってみた.

(1) LAN速度
PC --- (通信機器) --- (有線 or Wifi) --- WZR-HP-AG300H
の接続で,PC・WZR-HP-AG300H で iperf を実行.
通信機器設定通信速度
PC オンボード GbEther有線195Mbits/sec
PC オンボード GbEther有線, Jumbo Frame (9KB)260Mbits/sec
GW-US300MiniS11n/g44.4Mbits/sec
WNDR330011n/g20.6Mbits/sec
WNDR330011a24.9Mbits/sec
WNDR330011n/a26.4Mbits/sec
んーGbEther と言えど,実効速度はこんなもんか? Jumbo Frame の威力はすごいけど.
あと気になったのが無線 LAN の遅さで,WZR-HP-AG300H とは 2m ほどしか離れておらず,どれもフルスピートでリンクできていたにも関わらず,かなり遅め (;´д⊂)計測結果から見て,WNDR3300 が足を引っ張っている可能性が高いが.

(2) WAN速度
PC --- (有線) --- (ルータ) --- 外部速度計測サイト (Radish)
の接続で,速度計測サイトで計測.
通信機器通信速度
WNDR330042Mbits/sec
WZR-HP-AG300H78Mbits/sec
WAN との通信はかなり速くなった.これだけでも買い換えた価値あり.実際のファイル転送でもこれくらいの差は出ている感じ.

2012年1月2日月曜日

AT 限定解除


大分前に AT 限定解除していたので,初めて MT 車乗ってきた.

舞洲インフィニティサーキットのミッションカート(笑)

タイム的には (まだ乗り慣れてなくて) ゴールドカートより遅いんだけど,2ストの甲高いエンジン音とシーケンシャルシフトの操作で気分だけはめっちゃレーシー.やっぱ MT は楽しいっすヽ(´ー`)ノ

前回乗りそこねたときにあれだけ苦労した押しがけも,今回は一発で成功.これで罰ゲームみたいな押しがけ特訓風景をギャラリーに生暖かい目で見られる心配もねぇ.と油断したのがいけなかった.
コース上でスピン等でストップしてしまったらエンスト→コース上で押しがけ をしなければならず (とっさにクラッチ切ればセーフだけどそんなスキルはねぇ),しかもそれを何回もやってしまってどんどん体力を奪われる→ますます押しがけ成功率が下がる,いうのをやらかしてしまって,結局罰ゲームみたいな感じに(;´д⊂)

初めて MT 乗る人は,恥を晒さないよう他の客が少ない時をお勧めしますcrz