Translate

2010年11月22日月曜日

くたびれきったあとのOCZSSDPATA1-64G18のベンチマーク結果?



前回はずしたOCZ製SSDをUSBに繋ぎ直し
CristalDiskMark3を実行してみた。

USB接続して1000GBで実行..

したんだけどこれがなんと
時間もかかってしまった!

結果は..
4時間待たされた挙句エラー..



とりあえず取れていた結果も
もう見るも無残な結果が..



ひどい、これでよく実業務に使っていたなおれ。
我慢強い子に育ったんじゃないか..


業務につかうPCでSSDを使う場合は
導入当初いかに早くても
プチフリ対策はやっておくべきだ。

実はOCZ製SSDを
性懲りも無く
RunCore製のSSDに換装
したのだけど、
以下の対策は実施しておいた。

・FAT32で使う
 32GBでパーティションは分割することは
 我慢してもやるべき
・レジストリ書き換えてOSデフラグをオフ
 DiskKeeperは使ってはいけない
・ハードディスクのプロパティで書き込みキャッシュをオフ
・ページファイルは無し
 ただしメモリが足りなくなると突然死してしまう
・My Documentなど上書き頻度の高いユーザファイルは
 HDDデバイス上に移動する
 NASとかを使おう
・Symantec AntiVirusの起動時クイックスキャンをオフ
 定時スキャンは欠けているのでSymantecサイトを見ながら
 オフにする

これで有効かどうかはわからないが、
もうしばらくX40を本気で使うつもりなので
結果はおいおい身を持って知ることになるかな..




OCZ製SSDへ換装したX40のBlog記事は結構観るけど
遅くなってだめになるまで使い切った話は
あまりネットでは見ない。

X40をそこまで使い込んでいる人はいないのかもしれない..

2010年11月20日土曜日

ThinkPad X40をOCZ製SSDに換装して大失敗する


今年4月に
ThinkPad X40のHDDのかわりに
OCZ PATA 1.8" 64GB SSD
OCZSSDPATA1-64G18
を載せた。

確かに起動は速くなったけど
文字入力がたまに待たされる。

夏頃どうにかならないか
調べてみてはじめてプチフリを知った。

というよりSSDについて初めて勉強した。

このとき時すでに遅しだったのだけど
HDDのころから使っていたDiskKeeperを
まだつかっていた。

ページファイルもデフォルトの
2GBばりばりつかっていたし..

ああ64GBだからNTFSしてたけど
これもだめなのか..

しかもこのSSDが
悪名高きJMicronコントローラを搭載している
事が分かった。


とはいってもばりばり仕事で使っているわけで
交換する時間もないのでNTFSのまま
このまま使っていた。

すると1週間前、
AntiVirusのrtvscan.exeが
エラーで落ちた後
毎回起動するたびに
このrtvscan.exeがうごいて
5文字ほど文字入力しては1分待つという
最悪の状況に。

でSymantec製品をこれまた1時間かけて
アンインストールしてみたけれど..
全然速度が速くならない。
多少プチフリ(というかもうプチではない)の
頻度が下がったが
使用には耐えない状態になった。

それでもメールスプールがこのPCに
あるからとつかっていたが..
金曜の夜シャットダウンしようとしたら
あまりにも遅くなりすぎて
シャットダウンボタンが押せない..


頭に来たので
速攻RunCoreのX40換装用SSDを購入して
付け替えた。

すると
なんと快適なこと..
X40ってこんな快適なPCだったのかと思うほど。

で外したSSDを付属のUSBインターフェイスにつないで
ベンチマークを使ったのだが..
読み込みテストの次の書き込みがエラーになる..



もうお亡くなりになったようだ..

最低だなOCZ製SSD..JMicronのほうかもしれんが..
これを読んだ人は絶対OCZ製..JMicronコントローラ搭載SSD
をCドライブで使おうと思わないでください。

被害者は俺だけでたくさんだ..

2010年11月18日木曜日

位置情報プロバイダnetworkの怪

Androidの位置情報プロバイダは
2つですが、
そのうちnetworkのほう
自宅で見ているとタイミングでぶれがあることに気づいた。

そこで調べてみた。

プロバイダがnetworkの場合は
キャリアの基地局情報から入手されるのだけどが、
WiFiがオンの場合はルータから位置情報を
特定しているそうだ。

キャリアの基地局情報は
アンテナ基地局の位置から場所を特定するのだけど
厳密なロジックは
キャリア別に精度が異なっているらしい。

私はdocomoのHT-03Aしかもっていないので
ほかのキャリアのAndroid携帯で同地点で調べることができないが
おそらくWiFiオフの場合はおそらく違う結果になる。

WiFiがオンの場合はルータから入手とあるけど
自宅のルータには位置情報を設定していないし
そもそも正確な位置自体がわからない。

どうもWiFiがオンでかつGPSが有効な場合に
Google Mapを起動すると
そのときえられた位置情報をGoogleへ送っているらしい。

顧客情報の利用を許可とかしていないとたぶん送られないので
そうではない設定で使っていれば勝手には使われないとは思うけど。

うーん、WiFiがオンかつGPSも有効なんて状況めったにないんじゃないのかな..
昔はGoogle Carsで取得していたらしいんだけど
法律上の問題とかで今はこの方式になったんだって。

WiFiがオンだと基地局を使わないので
自宅だと精度がよくないんだよなあ..


こんどGoogle MapをWiFiがオンでGPSが使えるベランダで使って
精度が上がるか試してみようっと。

2010年11月5日金曜日

Amazon RDSへ大量データ投入

ある検証アプリでAmazon RDSを使っているのだけど、
大量データ
(といっても110万件程度のデータだが)
をローカルのPCからJDBC経由で投入してみた。

が、大失敗。
投入が遅い遅い。
今回はリージョンをシンガポールしていたので
日本からAWSを活用するには最も近い位置なのだけど、
約30時間もかかってしまった。

1分で約620件しかinsertできない..

適当に作ったプログラムなので
10件に1回コミットかけているにしても
この速度は遅すぎだ。

同一リージョンのEC2上からデータ投入すれば
もっと早いとは思うが、
これからRDSやEC2上にRDBつくって
ローカルからデータを投入しようとする人は
十分な時間を用意しておいてください。

2010年9月17日金曜日

HT-03Aの温度センサを試す

Xperiaになく、HT-03Aにはある機能として温度センサがあります。

どのくらいの精度なのかを試してみました。


SensorManager manager = (SensorManager)getSystemService(SENSOR_SERVICE);
Sensor s = manager.getDefaultSensor(Sensor.TYPE_TEMPERATURE);
manager.registerListener(this, s, SensorManager.SENSOR_DELAY_FASTEST);

Sensorインスタンスの情報から、
AK8976Aなる温度センサとわかる。

温度だけでなく、他のセンサ機能もついてるのか。
リンク先に写真があるけど、あんなにちっちゃいんだなあ..

上記ソースをonCreate()に書いて、SensorEventListener実装して
onSensorChanged()内でSensorEventのフィールドfloat[] valuesを参照する。

あ、values[0]に32.0と言う数字が入っている..
どうもこれが温度らしい、32ってことは摂氏か。

しかし..32度って..室内で私が熱くないって事は室温25度くらいなんですけど..

うーん本体内部温度かな..

しんばらくデータが取れないなと数分待つと
突然SensorEventがばらばらっと連続して動き出して、
またすぐにぱたっと動かなくなって..
が繰り返される。

イベント発生時精度変更も呼ばれるのだけど、
Accuracy(精度)毎回3.0なんですけど..

この動きは、AK8976A自体もしくはその周りのハード
の特性なんだろうか..

組み込み系は、とんとうといから、これ以上はわからない。

ので、今の特性を受け入れて使わないとなあ..

使おうとするなら、
最初に起動したときの温度から何度上昇したらなにか実行するとかくらい。

室温が急激に上がってきたら
音楽ならすとか?

..うーん、いらないなあ..


..Xperiaで無くなるわけだ..

2010年9月15日水曜日

HT-03Aで位置情報取得を試す

位置情報を取得するソースはブログにあるけど
実際に取得したデータは見あたらない。

ので、自分の携帯HT-03Aで試してみた。

ソースはここから拝借した。

AndroidManifest.xmlに
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
を許可する修正を忘れると全く動かないので注意。

provider name network gps
----------------------------------------------------------
enabled (利用): 可 可
accuracy (精度): 粗雑 精細
power req (利得): 低 高
monetaly c(料金): かかる かからない
req cell (通話): 可 不可
req netw (通信): 可 可
req sateli(衛星): 不可 可
sup altiti(高度): 不可 可
sup bearin(方位): 不可 可
sup speed (速度): 不可 可
---------------------------------------------------------
accuracy (精度):float 999.0 99.0
altitude (高度):double 0.0 99.0
bearing (方位):float 0.0 999.9999
latitulde (緯度):double 99.999999 99.99999999999999
longtitude(経度):double 999.99999 999.99999999999999
speed (速度):float 0.0 9.0
time (時刻):long 1283765634000 1283765634000

どうもGPSと携帯基地局(アンテナ?)の2種類の取得元が使えるようだ。
場所によってはGPS電波がとどかないとおもうのでnetworkだけになってしまう
場合もある。
このへんは対応できるアプリを作っておかないと。

あとリスナは必ず作って最新データを更新できるようにするコードにしないと
古い情報のまんまになってしまう。

精度は数字が小さい方が高精細ということらしい。

networkは緯度経度ともにfloatレベルのデータまでのようだ。

GPSだと高度や方位、速度などおもしろい情報が取れるようだが、
networkだと平面地図での位置までになってしまう。

当たり前だが、
Criteriaをデフォルトのままでベストプロバイダを取得すると
networkになってしまう。
屋内でも高精度で位置情報取れるプロバイダ(インフラ)作ってくれないかなあ..

2010年7月6日火曜日

ChartDroidの使い方を探す




















































































Android上にいろいろグラフを表示させてみたくなり、
いろいろしらべてみた。

普通は、Google Chart APIをWebView上にのせちゃうのが
手っ取り早いのかな。
 まあある程度はサイズも決められるし、なにより簡単だ。

それでもいいけど、
もっと見栄えが良いのはないかな、
とGoogleで検索していると、
Google CodeにChartDroidなるライブラリがあるのを知る。

で、
http://code.google.com/p/chartdroid/
にいってみると、
なかなかよさげな画面ダンプが
何枚かあった。

ということでダウンロードしようとしたら..APKファイル?

開発で使えるのAPK..

しょうがないので、SubVersionを使って
ローカルハードディスクにソースを入れるべく、


svn checkout http://chartdroid.googlecode.com/svn/trunk/  chartdroid-read-only


を実行してチェックアウトした。

で、トップレベルのchartdroid-read-onlyを
Eclipseでインポートすると、
Chartdroidプロジェクト以外赤バッテンだらけに..

ほかのプロジェクト3つのビルドパスに

Cartdroidパッケージをインポートするようにかえて、
プロジェクトのクリーンをかけたら

赤バッテンが全部消えた。

Chartdroidパッケージを外部参照させるように
アプリのワークスペースをつくればいいわけだ。


あとは、サンプルコードがあればつくれるな。

この3つのプロジェクトがサンプルっぽいな

とおもっていたら、案の定サンプルだった。

さがしてMinimalLineChartExampleを
実行してみると、
いくつかグラフを見ることが出来た。


※上のダンプはサンプルの一部

ほかのサンプルが動かない(強制終了)のは
1.6だからか..HT-03Aの限界なのか..

とりあえずこれらのサンプルをぱくって作って見ようか。


2010年5月25日火曜日

AndroidのGriViewにたくさんの画像を置く

平均500KBくらいのJPEG画像が8枚、
Amazon S3上においてあって、
これをAndroidのGridView上にサムネイルっぽく載せたかったのだけど..

OutOfMemoryでがんがん落ちる..

HT-03Aではせいぜい画像2枚までが限界で
それ以上だと画面遷移で3分以上かかってしまう..


Andoridは現在ヒープの上限を16MBにしている
というブログは読んだことがあるが、
実質データサイズ1MBくらいが限界のようだ。

で、Androidで処理するのはあきらめ、
Google App EngineにS3のデータを取得して
サムネイル画像に変換して返すサービスを1つつくって、
これをAndroidから使うように変更した。

かっこわるいがしょうがない。

これでグリッドを表示するのに3分30秒かかっていたのが
16秒に短縮し出来た。

Android玄人の皆さんはNDKを使うのかな..

2010年5月19日水曜日

GridView(Android)でページングする場合の更新方法













AndroidでGridViewをつかったページャをつくった。
各グリッドのイメージ表示にはBaseAdapterを継承して表示させている。このあたりはサンプルをGoogleって対応した。

GridViewへ画像データを表示させるのはサンプルが見つかったが、前ページ、次ページ画面のようなページングを行うためには、データが更新されたことをGridViewにつたえて再描画してもらわないといけない。

こういうときは、データを更新してから、
BaseAdapter#notifyDataSetChanged();
を次ページ・前ページボタン押下リスナ内に書いておけば
更新してくれる。

英語が苦手なので、このメソッドを見つけるのに3日くらいかかってしまった...

2010年4月15日木曜日

AndroidアプリからAmazon S3へファイルを格納する

Amazon S3上にAndroid側で作成したファイルをおきたくて、
S3のAPIドキュメントをよんでRESTClientでナントカつなげようとしたけど
うまくいかない..
たぶんAutorizationに設定する値が生だとだめなのかな..

で、なにか方法はないかなと調べてみると、

Amazon S3 Library for REST in Java

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=132

を見つけた。

これを使えばいいけど

をAndroidManifest.xmlに登録しないといけない。

そうしたらうまくいった。

AWSAuthConnection conn = new AWSAuthConnection(
ACCESSKEYID,
SECRETACCESSKEY,
false, ←trueだとhttps
"s3.amazonaws.com", ←
CallingFormat.getSubdomainCallingFormat());

Response res = conn.put(
BUCKETPATH,←トップのバケット名
"hogehoge/test.txt",
new S3Object(imageData(バイト配列), null),
null);

これでOK。

2010年4月13日火曜日

エミュレータ開発で変になることありませんか?

これは、私のPCだけの現象なのだろうか..

Android開発をThinkPadX40上で行っているのだけど、
何度かエミュレータ実行を繰り返していると、
Installing なるログがでたっきり何も反応しない。
Eclipseはそのまま動作するので
すでにエミュレータ上に反映されているように見える。
なので、エミュレータ上のアプリを実行してみるのだけど、
これが前の状態のまんま..

エミュレータは上げっぱなしで再実行しているので
問題があるのかなあとおもい、
エミュレータを上げ直してみるけど、だめ。

しょうがないとおもいeclipseをとめると..
なんか突然エミュレータがおきてきた。

なんかメモリが足りなくて処理が止まっているかんじ?

しょうがないので
たまに変だなと思ったら
エミュレータだけでなくEclipseも上げ直している。

..非効率きわまりない..

【ハーネスエンジニアリングを始める前に】gpt-oss:20b の入出力データから、LLMの動作を理解する

  1. はじめに 最近は、 Cursor や Antigravity などのAIエージェント前提の統合開発環境や、 Claude Desktop や Codex アプリ などのPC上のオブジェクト操作が可能なデスクトップアプリ、 Open Claw といったPC全体の...