2014年2月9日日曜日
余裕の音だ、馬力が違いますよ
カートで走ってきたので久々に動画 up.
久々に 6人集まるかと思ったら,一人は寒いとか言って出場拒否,もう一人は名神上で早すぎるマシントラブルでリタイアwww
レースの方は,コーナーで差されてストレートで抜き返すという自分としてはレベルの低いレースをしてしまったがw,まぁ楽しかったのでよしとしよう.
2014年2月8日土曜日
Desire + KitKat
この期に及んでまさかの Desire ネタ.Desire に Android4.4 (KitKat) が入れられることがわかったので,入れてみた.
もうすぐ 4年落ちの端末に最新 OS を入れるのは一見無謀に思えるけど,KitKat は非力な端末にも最新 OS を入れることに主眼を置かれて開発されたので,Desire でも期待が持てる.
入れたのは Evervolv の nightly build の 2014.02.07 版,
Google apps はこれには含まれていないので,Nikes の [KK] GApps Core - 2013/11/24 を入れた.
これらのインストール・初回起動後にここを見ながら a2sd を有効に設定.
で無事インストールが完了したのでしばらく使ってみた.
なんか普通に使えるw
心配していたハード的な不具合もなく,カメラ・GPS・WiFi・SMS 等も普通に動いた.
ただし Google マップや Chrome 等,重めのアプリで多少もっさり感は否めない.まあ入れた ROM 自体がまだ開発途中なので,今後のアップデートに期待.
長期的な安定性とか,バッテリの持ち具合なんかはこれから調べてみるつもり.
←お約束のツーショット.しかし,さすがはグローバル展開機種,こんなに古い機種でも最新 OS を移植してくれる人がいるとはありがたいヽ(´ー`)ノ.IS01 が一瞬で寿命を迎えたのとはえらい違いだ.
2014年1月6日月曜日
不動車納めと修理初め
あけおめ.
去年の年末のことなんだけど,エリでドライブ中に突然クラッチが切れなくなったw
前々から軽く前兆はあったけど,放置していたら突然一般道で悪化して死にかけたw 交差点の右折とか,車が途切れた時を見計らって 1速に入ったままセル回して車ガクガクしながら発進とか,ちょっと怖すぎるし,ペーパードライバーみたいで超恥ずかしいwww
で死にそうになりながら自宅に辿り着き故障原因を確認.
ozzinger さんはクラッチ交換で完治したそうですが,ウチのはクラッチペダル踏んでも徐々に油圧が抜けているっぽい.ということは,マスターシリンダーかレリーズシリンダーのどちらかが壊れたっぽい.
普段ならディーラーに持って行くところだけど,すでに不動車ということで,エリパーに部品発注して届いたので修理開始!
マスターシリンダーの取り外し・取り付け自体は,(アクロバティックな体勢を強いられること以外) 大したことなかったんだけど,手の届かないところに落ちたワッシャーの救出とか,いらんところで時間の大半を食ったw
レリーズシリンダーはボルトが固着していて断念.でも幸い壊れていたのはマスター側だったようで,エア抜きしたらクラッチ復活!! ヽ(´ー`)ノ
今年の自分へのお年玉は,クラッチが切れる安心感! ←ナニソレ... orz
去年の年末のことなんだけど,エリでドライブ中に突然クラッチが切れなくなったw
前々から軽く前兆はあったけど,放置していたら突然一般道で悪化して死にかけたw 交差点の右折とか,車が途切れた時を見計らって 1速に入ったままセル回して車ガクガクしながら発進とか,ちょっと怖すぎるし,ペーパードライバーみたいで超恥ずかしいwww
で死にそうになりながら自宅に辿り着き故障原因を確認.
ozzinger さんはクラッチ交換で完治したそうですが,ウチのはクラッチペダル踏んでも徐々に油圧が抜けているっぽい.ということは,マスターシリンダーかレリーズシリンダーのどちらかが壊れたっぽい.
普段ならディーラーに持って行くところだけど,すでに不動車ということで,エリパーに部品発注して届いたので修理開始!
マスターシリンダーの取り外し・取り付け自体は,(アクロバティックな体勢を強いられること以外) 大したことなかったんだけど,手の届かないところに落ちたワッシャーの救出とか,いらんところで時間の大半を食ったw
レリーズシリンダーはボルトが固着していて断念.でも幸い壊れていたのはマスター側だったようで,エア抜きしたらクラッチ復活!! ヽ(´ー`)ノ
今年の自分へのお年玉は,クラッチが切れる安心感! ←ナニソレ... orz
2013年10月27日日曜日
OLE はひろいーな おおきーなー
OLE に関わって初めて知ったけど OLE の仕様って巨大なんだなぁ.名前付き引数とかイベント通知とか初めて知ったけど,まぁ使わないし実装しなくていいや,というわけで,Excel は動いたので本命の XMLHttpRequest を動かすことにする.といってもほとんどのメソッド・プロパティはそのままで動くので,新規に実装すべきは onreadystatechange の callback くらい.
OLE サーバ側から JavaScript 関数を呼ぶってどうやるんだ? と思っていたら,答えはほとんどここに載っていた.要は onreadystatechange プロパティには IDispatch を登録して,XMLHttpRequest からコールバックされるときは Dispatch ID = 0 で Invoke されるみたい.Invoke されたら改めて JavaScript の Function Call をすれば良いと.
でやってみたら,なんか中途半端に動かねぇ(゜ーÅ)ほろり
相手先サーバ (Google) から「405 The requested method -1 is inappropriate...」ってレスポンスが返ってきた.-1 ってなんだよwww 普通ここ POST とか GET でしょ? と悩むこと 1時間,スクリプトの open メソッドを眺めていたら,
という訳で,Google Maps のジオコーディングが無事動いた.これがやりたかっただけなのにすげー回り道したwww
OLE サーバ側から JavaScript 関数を呼ぶってどうやるんだ? と思っていたら,答えはほとんどここに載っていた.要は onreadystatechange プロパティには IDispatch を登録して,XMLHttpRequest からコールバックされるときは Dispatch ID = 0 で Invoke されるみたい.Invoke されたら改めて JavaScript の Function Call をすれば良いと.
でやってみたら,なんか中途半端に動かねぇ(゜ーÅ)ほろり
相手先サーバ (Google) から「405 The requested method -1 is inappropriate...」ってレスポンスが返ってきた.-1 ってなんだよwww 普通ここ POST とか GET でしょ? と悩むこと 1時間,スクリプトの open メソッドを眺めていたら,
xhr.open( "GET", url, true );
true ってもしかして -1 (0xFFFFFFFF) なんじゃね? とふと気づいてxhr.open( true, url, "GET" );
ってやったら動いた(;´д⊂)Invoke 時の引数の順番が逆になってた…という訳で,Google Maps のジオコーディングが無事動いた.これがやりたかっただけなのにすげー回り道したwww
2013年10月25日金曜日
拡張性に魂を縛られた人々(2)
Google V8 に ActiveXObject サポートを追加する,の続き.とりあえず
ExcelSheet.ActiveSheet.Cells( 1, 1 ).Value = "hoge";
を通すことを目標にがんばる.
まず,Cells が関数じゃねぇというエラーについて.
Cells は GetFuncDesc() した結果,INVOKE_FUNC じゃなくて INVOKE_PROPERTYGET が返ってきている.つまり関数じゃなくて単なるプロパティとして v8 は扱うので,Cells() が function じゃねぇという指摘はごもっとも.
じゃ実際に Cells を Invoke した時に何が返ってきているかというと VT_DISPATCH が返ってきていた.つまり「ExcelSheet.ActiveSheet.Cells」ここまでは,ActiveXObject オブジェクトということになる.
ここで v8 に SetCallAsFunctionHandler というのがあったなぁとピンときた.
v8.h のコメントを読んでみると,「オブジェクトをファンクションコールのように呼んだ時に呼ばれるハンドラ関数を登録する」とのことで,ズバリそのものだった.このハンドラに,Cells の Invoke で得た ActiveXObject オブジェクト≒IDispatch に Invoke するハンドラを登録すれば良い (ハンドラ自体は普通の ActiveXObject オブジェクト のメンバ function を Invoke する関数と全く同じ).
問題は Cells の IDispatch のなんというメソッドを呼べばよいのか?
ここからはググっても明確なドキュメントが得られなかったので自分の推測になるが,おそらく _Default というプロパティが DispatchID 0 で登録されている決まりになっているらしく,_Default か DispatchID 0 かどちらかで Invoke するのが正解のようだ.
という訳で↓が動いたヽ(´ー`)ノ
Excel はそこそこにして,お次は本命の XMLHttpRequest に挑戦する.
ExcelSheet.ActiveSheet.Cells( 1, 1 ).Value = "hoge";
を通すことを目標にがんばる.
まず,Cells が関数じゃねぇというエラーについて.
Cells は GetFuncDesc() した結果,INVOKE_FUNC じゃなくて INVOKE_PROPERTYGET が返ってきている.つまり関数じゃなくて単なるプロパティとして v8 は扱うので,Cells() が function じゃねぇという指摘はごもっとも.
じゃ実際に Cells を Invoke した時に何が返ってきているかというと VT_DISPATCH が返ってきていた.つまり「ExcelSheet.ActiveSheet.Cells」ここまでは,ActiveXObject オブジェクトということになる.
ここで v8 に SetCallAsFunctionHandler というのがあったなぁとピンときた.
v8.h のコメントを読んでみると,「オブジェクトをファンクションコールのように呼んだ時に呼ばれるハンドラ関数を登録する」とのことで,ズバリそのものだった.このハンドラに,Cells の Invoke で得た ActiveXObject オブジェクト≒IDispatch に Invoke するハンドラを登録すれば良い (ハンドラ自体は普通の ActiveXObject オブジェクト のメンバ function を Invoke する関数と全く同じ).
問題は Cells の IDispatch のなんというメソッドを呼べばよいのか?
ここからはググっても明確なドキュメントが得られなかったので自分の推測になるが,おそらく _Default というプロパティが DispatchID 0 で登録されている決まりになっているらしく,_Default か DispatchID 0 かどちらかで Invoke するのが正解のようだ.
という訳で↓が動いたヽ(´ー`)ノ
var ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet.Application.Visible = true;
ExcelSheet.ActiveSheet.Cells( 1, 1 ).Value = "This is column A, row 1";
ExcelSheet.SaveAs("TEST.XLS");
ExcelSheet.Application.Quit();
Excel はそこそこにして,お次は本命の XMLHttpRequest に挑戦する.
2013年10月22日火曜日
拡張性に魂を縛られた人々
Google V8 に ActiveXObject サポートを組み込んでみるテスト.
これができたら,VSD for GPS の拡張性が飛躍的に上がって,例えば Excel 起動してセルに値書き込んで保存とか JavaScript で制御できる.
そんな機能いらねぇしwwww
まぁログリーダで任意のプログラム起動できるし,XMLHttpRequest が動いたら GeoCoding とかできるかもしれんし,そこら辺は使い道あるんじゃなかろうか.
まぁぶっちゃけそこに山があるから登る的な感じで拡張性を広げたかっただけ.
という訳で実装開始.
とりあえず C++ オブジェクトの IDispatch をラップする JavaScript オブジェクトの ActiveXObject を設計.
普通は V8 の SetNamedPropertyHandler で,メソッド・プロパティが参照されるたびに IDispatch::GetIDsOfNames() して IDispatch::Invoke() するのが素直なんだろうけど,これだと毎回名前→ID 変換テーブルを舐める気がして,V8 のJIT を生かせないような気がしたので,new ActiveXObject された時に全メソッド・プロパティをオブジェクトに登録することにした.これだと for( hoge in obj ) とかも問題なく動くので結果的に楽.
で,Excel を起動することろまではたどり着いたが,
ExcelSheet.ActiveSheet.Cells( 1, 1 ).Value = "hoge";
で Cells は関数じゃねぇ! って怒られた.先は長い…
これができたら,VSD for GPS の拡張性が飛躍的に上がって,例えば Excel 起動してセルに値書き込んで保存とか JavaScript で制御できる.
そんな機能いらねぇしwwww
まぁログリーダで任意のプログラム起動できるし,XMLHttpRequest が動いたら GeoCoding とかできるかもしれんし,そこら辺は使い道あるんじゃなかろうか.
まぁぶっちゃけそこに山があるから登る的な感じで拡張性を広げたかっただけ.
という訳で実装開始.
とりあえず C++ オブジェクトの IDispatch をラップする JavaScript オブジェクトの ActiveXObject を設計.
普通は V8 の SetNamedPropertyHandler で,メソッド・プロパティが参照されるたびに IDispatch::GetIDsOfNames() して IDispatch::Invoke() するのが素直なんだろうけど,これだと毎回名前→ID 変換テーブルを舐める気がして,V8 のJIT を生かせないような気がしたので,new ActiveXObject された時に全メソッド・プロパティをオブジェクトに登録することにした.これだと for( hoge in obj ) とかも問題なく動くので結果的に楽.
で,Excel を起動することろまではたどり着いたが,
ExcelSheet.ActiveSheet.Cells( 1, 1 ).Value = "hoge";
で Cells は関数じゃねぇ! って怒られた.先は長い…
2013年10月8日火曜日
雁ヶ原
ozzinger さん & Nさんと久々に雁ヶ原に行ってきた.今回はたいした車載を撮れなかったので写真中心で.
←本日集まったメンバー.
そしてその他には誰もいないw
目的の半分はこれを見に来たと言っても過言ではない.ozzinger 号の全塗装.
ソリッドな黄緑ではなくメタリックが入っていたので,太陽光の下では非常に鮮やかな緑だった.
そしてバッタも緑を求め寄ってくるw
昼飯のソースカツ丼.勝山の名物らしい.結構うまかった.
ozzinger さんに撮ってもらったベストショット.フルカウンターを当てているので多分スピン直前と思われますwww
が写真にするとそれなりにカコイイ!!
この日は頑張って 16:50 までは遊んだw
2013年9月23日月曜日
Galaxy Note で Windows8.1 を動かしてみた話
いきなりオチから言えば,Galaxy Note で Win8.1 マシンにリモートデスクトップ接続しただけって話なんだけど.
Windows8.1 の preview 版が公開されていたので,VirtualBox にインストールしてみた.かくいう自分は Windows のタッチパネル UI に否定的だったので Win8 はハナからスルーだったけど,Android のタッチパネルで Win8 を操作できたら何か使い所が見えてくるかもしれないと思い,Galaxy Note でリモートデスクトップ接続してみた.
といっても普通のリモートデスクトップ接続ではマウス+キーボードをタッチパネルでエミュレートするだけなので,厳密に Win8 のタッチ操作を再現できるわけではない.ということで Win8 のタッチ操作ができるリモートデスクトップソフトを色々探してみたら Splashtop2 というソフトが見つかった.
という訳で Win8.1 を使ってみた感想.
タブレット UI の範囲内で使っている限りは,普通のタブレットだった(笑) できることは Android と変わらんし,これなら Win8 を選ぶ理由は見当たらない.
デスクトップ UI の方は,予想していた通りタッチパネル操作との相性は最悪だった.Galaxy Note の画面が小さいことを差し引いても,タッチパネルよりマウスのほうが 100倍快適.
例えば 24inch モニタで全画面でブラウザ見るとかありえないし,そうするとデスクトップ PC ではデスクトップ UI を使うことが前提で,そうするとタッチパネルは無用の長物なわけで.
Microsoft はタブレット PC OS とデスクトップ PC OS は分けて開発してくれ(;´д⊂)
Windows8.1 の preview 版が公開されていたので,VirtualBox にインストールしてみた.かくいう自分は Windows のタッチパネル UI に否定的だったので Win8 はハナからスルーだったけど,Android のタッチパネルで Win8 を操作できたら何か使い所が見えてくるかもしれないと思い,Galaxy Note でリモートデスクトップ接続してみた.
といっても普通のリモートデスクトップ接続ではマウス+キーボードをタッチパネルでエミュレートするだけなので,厳密に Win8 のタッチ操作を再現できるわけではない.ということで Win8 のタッチ操作ができるリモートデスクトップソフトを色々探してみたら Splashtop2 というソフトが見つかった.
という訳で Win8.1 を使ってみた感想.
タブレット UI の範囲内で使っている限りは,普通のタブレットだった(笑) できることは Android と変わらんし,これなら Win8 を選ぶ理由は見当たらない.
デスクトップ UI の方は,予想していた通りタッチパネル操作との相性は最悪だった.Galaxy Note の画面が小さいことを差し引いても,タッチパネルよりマウスのほうが 100倍快適.
例えば 24inch モニタで全画面でブラウザ見るとかありえないし,そうするとデスクトップ PC ではデスクトップ UI を使うことが前提で,そうするとタッチパネルは無用の長物なわけで.
Microsoft はタブレット PC OS とデスクトップ PC OS は分けて開発してくれ(;´д⊂)
2013年9月14日土曜日
VHD をダブルクリックで接続する
Windows7 から,VHD を接続して中のファイルを Win7 の機能だけで触れるようになったけど,手順を踏まないとマウントできないので,vhd ファイルを W クリックするだけで vhd を接続できるスクリプトを書いてみた.
ダウンロードはこちら
使い方:
ダウンロードはこちら
使い方:
- 普通は Administrator アカウントが無効になっているので,管理ツール→コンピュータの管理→ローカルユーザとグループ→ユーザ の Administrator を W クリック→アカウントを無効にする のチェックを外す
- ダウンロードした vhdmount.js を "C:\Program Files (x86)\utils\vhdmount.js" に置く (どこでもいいけど,次の .reg で指定している場所がそこになっている)
- ダウンロードした vhdmount.reg を W クリックしたら vhd の関連付けがなされる
- これで .vhd を W クリックしたらマウントができるようになるけれど,初回だけは Administrator のパスワードを入力する必要がある.コマンドプロンプトウィンドウが開いて「Administrator のパスワードを入力してください:」と出ているはずなので,パスワードを入力.次回以降は聞かれない.
- vhd 接続を解除するときは,同 vhd ファイルを右クリック→アンマウント を選ぶ
2013年8月23日金曜日
IIJmio + Fusion IP-Phone SMART は ¥945/月 運用の夢をみるか (2)
一年前に試したこのネタ,前回は
・通話アプリのバッテリ消費が酷く,待ち受けには耐えられない
・(通信速度が足らず?) 通話が途切れて,通話が困難
という訳で玉砕したのだが,あれから状況が変わったので再び試してみた.
まずアプリに関しては,Fusion IP-Phone SMART の公式 Android アプリが公開された.これはプッシュ通知に対応しているので,要はアプリを起動していなくても着信ができる.
実験してみたところ,一度アプリを起動すればその後終了しても,もしくはタスクキラーでアプリを Kill しても着信できた.これでバッテリの問題は解決された.
ただし OS 再起動後に一度もアプリを起動していないと着信できない模様.あと,WiFi 接続が有効でスリープ中だとプッシュ通知が効かなかった.おそらく,
・WiFi 接続時は 3G データ通信は OFF
・スリープ中は WiFi も省電力モードになって外→Android のパケットが受け取れない
ってことになってるんだと思う.
次に通話品質を試してみたら,前回のように音が無音でとぎれるようなこともなく,(音質はいいとは言えないものの) 通話には全く問題がなかった.IIJmio は月 500MB までは速度無制限 (遅い時で実測 320Kbps ほど) になったので,音声通話に必要な帯域が確保できるようになったのだろう.
というわけで,全く普通の携帯電話として運用できることがわかった.
音声回線+定額データ通信が ¥945/月 で運用できるし,通話料もドコモ (¥21/30秒) に比べて安い (¥8.4/30秒) し,端末の 2台持ちからも開放されるし,いいことづくめヽ(´ー`)ノ
・通話アプリのバッテリ消費が酷く,待ち受けには耐えられない
・(通信速度が足らず?) 通話が途切れて,通話が困難
という訳で玉砕したのだが,あれから状況が変わったので再び試してみた.
まずアプリに関しては,Fusion IP-Phone SMART の公式 Android アプリが公開された.これはプッシュ通知に対応しているので,要はアプリを起動していなくても着信ができる.
実験してみたところ,一度アプリを起動すればその後終了しても,もしくはタスクキラーでアプリを Kill しても着信できた.これでバッテリの問題は解決された.
ただし OS 再起動後に一度もアプリを起動していないと着信できない模様.あと,WiFi 接続が有効でスリープ中だとプッシュ通知が効かなかった.おそらく,
・WiFi 接続時は 3G データ通信は OFF
・スリープ中は WiFi も省電力モードになって外→Android のパケットが受け取れない
ってことになってるんだと思う.
次に通話品質を試してみたら,前回のように音が無音でとぎれるようなこともなく,(音質はいいとは言えないものの) 通話には全く問題がなかった.IIJmio は月 500MB までは速度無制限 (遅い時で実測 320Kbps ほど) になったので,音声通話に必要な帯域が確保できるようになったのだろう.
というわけで,全く普通の携帯電話として運用できることがわかった.
音声回線+定額データ通信が ¥945/月 で運用できるし,通話料もドコモ (¥21/30秒) に比べて安い (¥8.4/30秒) し,端末の 2台持ちからも開放されるし,いいことづくめヽ(´ー`)ノ
登録:
投稿 (Atom)





