2012年5月15日火曜日
2012年4月25日水曜日
GoogleDriveが高い
Googleさん困っちゃうな~
旧プラン | 新プラン | ||
---|---|---|---|
(年額) | (月額) | (年額) | |
20 GB | $5 | - | - |
25 GB | - | $2.49 | $29.88 |
80 G | $20 | - | - |
100 GB | - | $4.99 | $59.88 |
200 GB | $50 | $9.99 | $119.88 |
400 GB | $100 | $19.99 | $239.88 |
1 TB | $256 | $49.99 | $599.88 |
2 TB | $512 | $99.99 | $1199.88 |
4 TB | $1024 | $199.99 | $2399.88 |
8 TB | $2048 | $399.99 | $4799.88 |
16 TB | $4096 | $799.99 | $9599.88 |
2012年4月23日月曜日
Toshiba Bluetooth StackでContinua
Toshiba Bluetooth StackでContinua対応機器との通信するソフト開発について調べて見た。どうやらContinua対応機器とBluetoothで通信するにはHDP (Health Device Profile)に対応している必要があるようだ。
Toshiba Bluetooth StackのVersionについて
Toshiba Bluetooth PortalのNewsページによるとVer.7.00.10でHDPに対応し、Ver.7.10.10 でCountinuaのロゴを取得している。
2010-03-19:First Continua Health Alliance certified Toshiba Bluetooth Stack version 7.10.10 releasedまずはToshiba Bluetooth StackのVer.7.10.10以降が必要そうなので、手持ちのPLANEX:BT-MicroEDR2Xについて調べてみた。Toshiba Bluetooth Stackを採用しているが、2009/09/04以降にドライバのアップデートがされていないし、マニュアルを見てもHDPに対応していないようなので、Countinuaのロゴを取得する前のバージョンのようだ。
2009-10-22:New Toshiba Bluetooth Stack v7.00.10 with Windows 7 and HDP profile support released
いろいろ探したところ、Toshiba Bloutooth PortalのDownloadsページからVer.8.00.12をダウンロードできそうだが、「For TOSHIBA notebooks」となっているのでライセンス的に使用できない。(たぶんPLANEX:BT-MicroEDR2Xでも動くと思うが、大人なので我慢)
Bluetoothドングルについて
Toshiba Bluetooth Stackが付属していてVer.7.10.10以降のアップデータを公開しているドングルを購入する必要がある。最近のBluetoothドングル(特にBluetooth3.0対応)はToshiba以外のStackを採用していることが多いようだ。
「コンティニュア対応のBluetoothアダプター用最新ドライバー公開」という記事を発見したがToshibaスタックとは書かれていない。対応商品として以下の2つが紹介されていた。
- Bluetooth2.1+EDR対応 USBアダプター(class1)BSHSBD02BK
- Bluetooth2.1+EDR対応 USBアダプター(class2)BSHSBD03シリーズ
ついでにBluetooth3.0や4.0に対応しているBSHSBD04BK/BSHSBD05BK/BSHSBD08BKのマニュアルを確認したらToshiba製Stackではないようだ。
Toshiba Bluetooth Stack Software Development Kit(SDK)について
SDKの入手方法についてはToshiba Bloutooth PortalのKnowledgeページの「How to obtain the TOSHIBA Bluetooth stack SDK」に書かれている。SDKは無料だが"License Agreement for using SDK"に同意が必要、"License Agreement for using SDK"はhttps://aps2.toshiba-tro.de/bluetooth_sdk/Bluetooth.aspxからの申し込みが必要だとさ。めんどくさい、こんなんだからBluetoothはそれほどはやらないのか、、、、といっても東芝が得するビジネスモデルでもないからSDKをばら撒いても仕方がないのか?
とりあえず、申し込んでみたが回答待ちだ。
その他情報源
閥努 閻怒 の報われぬ日々でToshiba Bluetooth Stackについて書かれていた。
Bluetoothドングル、Ver.7.10.10以降のToshiba Bluetooth Stack、Toshiba Bluetooth Stack SDKがそろったらまたいろいろ調べよう。ところでSDKの開発環境はどうなっているのだろうか?Freeのコンパイラでも開発できるのか?
2012年4月7日土曜日
Nike+で異常なデータを探す方法
Nike+ SportWatch GPSで記録した場合は精度よく記録されるが、iPhoneで記録した場合にはGPSの精度が悪いようだ。SportWatchは腕につけるのでGPSを捕らえやすいが、iPhoneはズボンのポケットに入れているのでGPSのを捕らえにくいのが原因かもしれない。
このGPSの精度が悪い異常なRUNデータを削除することで異常な自己最高記録を直せることは容易に想像できたが、異常なRUNデータを探す方法がわからなかった。Nike+のサポートフォームから問い合わせを行うと、4回程度メールをやり取りした結果、異常データの探し方を教わることができた。
(1)Nike+にログインする。
(2)RUNデータを表示する。
(3)ルート表示に切り替える。
(4)画面下方にあるSPLITSに異常なペースが無いことを確認する。
(5)ペース表示に切り替え、次の日に切り替える。
※ (3)~(5)を繰り返し異常なRUNデータを探す。
結果として、0'05"/KMと0'44"/KMというデータがあったのでRUNデータを削除することで自己最高記録を修正することができた。130個程度のRUNデータだったのですべてを確認できたが、もう少し多かったらさすがあきらめていたかもしれない。もう少し操作性を改善してほしいところだ。
問い合わせのやり取りの中で、サポートの方からNike+のアカウント名とパスワードを聞かれた、、、新鮮!?というかメールでアカウントとパスワードを同時に送信するという初体験だった。
2012年4月6日金曜日
勤務時間をGoogleカレンダーにメモするためのスクリプト
function doGet(e){
var now = new Date();
var begin = new Date(now);
begin.setHours(0);
begin.setMinutes(0);
begin.setSeconds(0);
// デフォルトのカレンダーを取得
var cal = CalendarApp.getDefaultCalendar();
var events = cal.getEvents( begin, now);
for(var i=0; i<events.length; i++){
if( events[i].getTitle() == "勤務中" ){
var start = events[i].getStartTime();
events[i].setTime( start, now );
return retComment(e,"勤務時間を更新しました。",start, now);
}
}
cal.createEvent("勤務中", now, now);
return retComment(e,"出勤登録をしました。",now, now);
}
function retComment(e,comment,start,end){
var app = UiApp.createApplication();
var panel = app.createVerticalPanel();
panel.add(app.createLabel(comment));
panel.add(app.createLabel(" "+start));
panel.add(app.createLabel(" "+end));
app.add(panel);
return app;
}
2010年11月29日月曜日
iPhoneからの投稿テスト
- BlogWriterLite
- Free mobile blogging with BlogBooster
- BlogSpace
まず始めに、BlogWriterLiteを試してみたが、いきなり欠点が発覚した。編集途中でアプリを切り替えると編集内容がクリアされてしまう。アプリ上で下書き機能がある様だが、使い勝手は良くない。またサーバー上の下書きを編集する事が出来ない。もしかしたら出来るのかも知れないが、直感的に操作出来なかった。
次にBlogBoosterを試してみた。BlogWriterLiteで指摘した欠点は全てクリアしていた。強調、イタリック、下線、
次にBlogSpaceを試してみた。これもBlogWriterLiteで指摘した欠点は全てクリアしていた。しかし、BlogBoosterにあったhtmlのタグを挿入してくれる機能はない。
ここまで書いた時点BlogBoosterで決まりかと思ったが、BlogBoosterで作成した下書きをBlogSpaceで確認したら、勝手に以下のものが挿入されていた。
<span id='BB_SIGN_BEGIN'><img alt='BlogBooster-The most productive way for mobile blogging. BlogBooster is a multi-service blog editor for iPhone, Android, WebOs and your desktop' src='http://theblogbooster.com/pixel.gif' style='border:none;'/></span>
もう少し時間をかけて調査する必要がありそうだ。
2010年11月23日火曜日
Google Apps Script サービスとして公開
まずは以下のコードを作成する。
function doGet(e){
var app = UiApp.createApplication();
var panel = app.createVerticalPanel();
panel.add(app.createLabel("Hellow. World."));
app.add(panel);
return app;
}
あとはスクリプトエディタの「共有」=>「サービスとして公開...」を選択する。表示されたダイアログの「サービスを有効にする」にチェックをつける。あとはURLに表示されているアドレスにアクセスすると、以下のように表示される。
Hellow. World.
google apps scriptとは関係ないが、上記のように長いアドレスはgoo.glなどのサービスを用いて短縮するとよいかもしれない。
2010年11月18日木曜日
Google Apps Script 連絡先にアクセスしてみる
function myFunction() {
var contacts = ContactsApp.getAllContacts();
var doc = SpreadsheetApp.getActiveSpreadsheet();
var cell = doc.getRange('A1');
for (var i in contacts) {
var contact = contacts[i];
var FamilyName = contact.getFamilyName();
var GivenName = contact.getGivenName();
cell.offset(i, 0).setValue(FamilyName);
cell.offset(i, 1).setValue(GivenName);
}
}
2010年11月15日月曜日
iPhoneの壁紙
次はマンションを外から撮影し、ベランダにアプリのアイコン配置されるようにしてみようかと思う。ただ、マンションを撮影していると通報されたりしないか心配だ。
Google Apps Script カレンダーイベント取得の動作
var cal = CalendarApp.getDefaultCalendar();
var events = cal.getEvents( new Date("July 10, 2009 JST"), new Date("July 25, 2009 JST") );
上記のコードで取得したときにevents配列に取得できるイベントは以下の法則で決まっているようである。
しかし、イベントには多くのパラメータがあるので、ほかにもイベント取得順番に影響を与えているパラメータがあるかもしれない。
- イベント終了時刻が早いものから格納される
- イベント開始時刻が早いものから格納される。
- イベントタイトルの降順
簡単な調査の結果なので、まだまだ不確かな状態ではあるが、イベントの開始時刻よりも終了時刻が優先されているのが意外であった。