日記
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. 写真のような画像は画像生成AIもしくは念写によるものです.
2011-03-29
眠い…
2011-03-28
今借りてるさくらのVPSのOS変えたいのだけど, 新たにもう一つ契約して,移行してから切り替えた方がいいかなぁ.
admobの広告収入は順調に減っている.跳ね上がった時は少し焦りました.
//! しかし,今月のAdMobの収益は私の部屋の災害復興費に充てて,万が一余ったら寄付するとか,冗談だけど言ってしまったので少し考えないと.
床とか壁の傷は敷金からいくら引かれるか知らないけど放置する気だし, ノートPCもメインのやつじゃないし修理諦めれば, 1万5千円くらいは余りそうだな.
2011-03-26
Android Marketの開発者用のデベロッパーコンソールと表のMarketのページが 完全に分断されていて行き来できないのはどうにかならないのかなあ. リニューアル前はリンクあったのに.
AdMob え??
AdMob導入して一週間経ったので,傾向とか色々書こうと思ってたのだけど, 昨日のレポート見たら意味不明なことになってたので,もう少し様子を見る. 始めたタイミングが悪かったかな.

導入したのが18日で,右端が昨日です.
もしかすると,いままで地震の影響で自粛されていた広告が 再開されたのかもしれない.ちょうど2週間だし.
しかし,広告表示率が上がったので,個人的に使うには少し邪魔です. 自分用はOFFにしておこうとも思ったのだけど,今回みたいな 広告クリックするとダウンロードが中断されるとか変なバグを再び仕込みそうなので やめておくことにします.
2011-03-24
眠い.
http://ice.hotmint.com/putty/d2ddw.html
これ使いたいのだけど,残念ながら自分の環境では描画が遅くてダメだった….
今のネット環境,さくらのVPSまで往復で5ms以下なので, 描画が少しでも遅れると快適度合がかなり下がってしまう.
iPad2
宗教上の理由で買えないけどiPad2はよさげ.
iPad見たとき,日本のメーカーならもっと薄くて軽いタブレット作れるだろう と思ったのだけど,結局出なかった気がする.
2011-03-23
Facebookのボタン付けてみました.つけてみただけなので,すぐ無くなるかも.
2011-03-22
久しぶりに会社.
Android 2.1の割合は順調に減っているけど,2.1が減っているわけはないんだよなぁ. Xperiaとか買った人が乗り換えるのはまだ先か.
ふと思って

こういう画像を自動生成するプログラムを書いてみた.
線の周辺に滲みを作ったり,任意の画像を重ねたりする機能が必要だな. あと,線の分岐とかもいるか.
意外と奥が深いかも.
AdMob
ニコニコPlayerは平日の方が利用者が多いようです. まぁ,自宅以外でニコニコ動画を見るのに使われるからそうなるか.
アプリ内広告でどれくらいお金が入るかの実験でやってみたのだけど, 予想に反して(?)ほぼ計算通りの収入になっている.
趣味で開発してるアプリなら10万人くらいユーザー集めれば広告で元が取れる感じか. まぁ,趣味なので開発費は0円と設定することもできますが.
ビジネスとしてやるならプロモーションを頑張ったりする必要があるんだろうけど.
広告をメインにするのは,ちょっと嫌なので,もう少し有料のアプリが売れる 土壌にならないものか. ユーザーの意識していないところで間接的にお金を取ってしまうのは 微妙に不誠実と感じてしまう. やっぱり,価値があると思ったものにお金を能動的に払うほうが健全だと思います.
この辺りは,アプリ内課金やキャリア課金の仕組みが整ってきたら, また変わるのかなぁ.
2011-03-21
少し寝るつもりが,気づいたら今日の朝だった.
気合入れて開発するときはIDE使う派なのだけど,Javaは使いやすいIDEが無くて困る. Eclipseがそれなりにサクサク動いてメモリ食わなければ良いのだけど.
[Android] 実機にネットワーク越しにadb接続
USBで接続していなくても,リモートデバッグしたいことがきっとあります. USBケーブルが見当たらない時とか, 繋がってるPCと開発に使いたいPCが別の場合とか, Android端末が多すぎてUSBのポートが足りないときとか,役に立ちます. 備えあれば憂い無しです.たぶん.
adbはネットワーク越しのデバッグに対応しています. ただ,どうやってやるのかとか,実機でも出来るのかとか知らなかったので 調べてみる.実際にやったのは4日くらい前ですが.
http://hirokuma.typepad.jp/blog/2010/04/bbadb-ba25.html
この辺から辿るとだいたい分かる.
準備
root権限が必要かもしれません.
まず,AndroidのIPアドレスを確認しておきます. WiFiの設定画面で見るか,IPアドレスを確認できるアプリを入れておくと良いです. あと,デフォルトでPort5555を使うのでパケットフィルタやルータで 何かしてる場合は設定しておく必要があります.
実機に端末エミュレータを入れておく. 設定を間違ってPC側から接続できなくなった場合に必要になるかもしれません.
adbdの設定
Android側で,adbdが使うポート番号を指定します. adbでポート番号を省略したときに5555に接続を試みるようなので, とりあえず5555とします.
setprop service.adb.tcp.port 5555
とした後に,adbdを再起動します. killして立ち上げなおすか,Androidの設定でUSBデバッグを一度OFFにすれば 設定が有効になります.
adbdを終了すると,adbも使えなくなるのでPCからadb経由でやってる場合は気をつけてください.
あと,setprop service.adb.tcp.portが指定されていると, USBデバッグ出来ないようです.
USB経由のデバッグとネットワーク越しのデバッグは両立できないっぽい.
adbで接続
あとはPC側で
adb connect [AndroidのIPアドレス]:5555
としてみます.
環境変数ADBHOSTにIPアドレスを設定してから, adbのサービスを再起動する方法もありますが, IPアドレス変わったりする場合はこっちの方が楽です.
% adb connect 192.168.0.11:5555
connected to 192.168.0.11:5555
% adb devices
List of devices attached
192.168.0.11:5555 device
こんな感じになったらOKです. あとは,普通に adb shellや adb logcatしてください.
戻す
Android側で
setprop service.adb.tcp.port ""
としてポート番号を消してからadbdを再起動すれば元に戻ります.
気になるところ
USBデバッグと両立できない.
adbdを二つ動かせないか試したら,
cannot bind 'tcp:5037'
といわれてダメだった.port 5037はループバック用に使うっぽい.
セキュリティーとかも怖い.どこからでも認証無しで接続できてしまう. iptablesとかでパケットフィルタする必要があるかも.
adb -d shellでは接続できずに,adb -e logcatで接続できる. 表示上は"device"と出ているのにエミュレータ扱いっぽいな.
2011-03-20
18日にアップデートしたニコニコPlayer(仮)に酷いバグがいくつかあったので, アップデート. また意味無く起動直後のメニューが変わってます. あと,再生履歴を入れるか迷った末に入れておく.
現金が無くて困っていたので,キャッシュカードを何枚か発掘して コンビニのATMで下ろした. 後で口座をまとめようと思いつつ,面倒で放置していたのが幸いでした.
AdMobの調子は良い感じ
昨日の広告収益は,$15.88だった.

この後も増えていければいいけど,どういうものなんだろう.
ただ,あまり調子よく行ってしまうと,確定申告とか面倒なので, 適当にやめるか,お金にしないでAdMobの広告配信するようにするか, 誰かに譲渡するかしないとだな.
個人的に,確定申告とかの面倒さ>>>>収入が増える喜び,な気がするので, 副業とかにはしたくない. もっと稼いで面倒なものを代行してもらうというのも手だけれども, たぶんそのための契約や手続き自体が面倒で心が折れそうになると 想像できるので,やっぱりやらないでおきたい. 全ての面倒なものがワンクリックで済むようになればよいのに.
というか,課税対象の収入になるのはどの段階なのか. AdMob上で数値が増えた時点なのか, PayPalアカウントに入金された時点なのか, 日本円にして銀行口座に振込んだ時点なのか. 全く知らない.
PayPalにドルで入ってる状態なら課税対象にならないなら簡単で どっかに寄付するなり何か買うなりすればよいのだけどそうじゃないんだろうな.
まぁ,そんな心配を今からしても仕方ないので放置することにする.
それよりも次は何作るかなぁ. やりたいネタとか,作りかけものとかも色々あるのだけど, たぶん作るだけで終わってしまうので, 公開できそうなものを作りたい.
2011-03-19
そろそろやらないといけないことを片付けようと思いつつ,面倒なので後回しに.
住所変更の手続きをいくつかした.まだ免許証とか残ってるけどまたしばらく放置しよう.
[Android] AdMob
思ったよりもまともに広告収入が得られそうなので, AdMobの広告収入の受け取り方法を調べる.
ちなみに初日の収益は$5.96でした.今日は$10くらいにはなりそう. 多いのか少ないのか分からないですが,とりあえず満足.
PayPalと銀行振込が選べるけど,どちらの方が良いのだろう.
色々調べると,振込手数料に関しては銀行振込でもPAYPALでも どちらでもAdMobが負担してくれているっぽい. (銀行振込手数料に関しては明記してあるが,PAYPALは見あたらない)
ただ,為替手数料や着金手数料までは出してくれないはずなので, 銀行は選んだほうが良さそう. というか候補はシティバンクくらいしか知らない.
小額ならばPayPalで良いと思いますが,為替手数料を考えると, シティバンクに口座つくるのが良いのかなぁ.
高額になりそうなら,為替手数料が低い銀行にするべきなのか.
とりあえずPayPalが楽そうだし,銀行口座増やしたくないのでひとまずは PayPalで様子見することにします. 手数料は,為替レートに上乗せされてる2.5%と, 銀行口座への引き出し時の250円(5000円以上で無料)くらいでいいのかな.
あまり詳しくないので,誰か教えて欲しいところです.
ニコニコPlayer(仮)
ちょっとビクビクしながら広告入れましたが,大きな問題は無さそう. 暫くは様子を見ます.
次のバージョンではそろそろ再生履歴機能とか入れたい.
アプリUIからは呼び出せないのでアレなのですが,SearchManagerが入ってます.
Googleの検索ウィジェットなどの設定でニコニコPlayerを追加してやると, 動画が検索できて便利です.キーワード検索専用ですが.
アプリから呼び出せないといいつつ,実は呼び出せて,ランキングの画面で 検索ボタンを二回押すと,Android標準の検索UIが出てきて,音声検索とかできます. 殆どバグみたいな機能なので,たぶん無くなります.
[Android] ListViewをちゃんと使おう
Androidアプリを作る上で,ListViewは色々な場面で使える便利なViewですが, いざ使い方を調べてみると変な使い方をしている例がとても多いです. AndroidのSDKをよく読んで,設計意図を汲んであげましょう.
基本的な部分
- 初心者に送る、はじめてのAndroidアプリ開発/小気味の良いアプリをつくるためのTIPS - shimobayashiの日記
- Android 「The world of ListView」 - Virtualization and adapters -
基本的には,このあたりを読んでおくと良いです.
特に,view.setTag()とview.findViewWithTag()はViewに任意のデータを 持たせることが可能で,しかも検索できるという便利なものなので, 使うと綺麗に書けることが多いです.
内容の更新
リスト内のデータが変わったときは,表示内容を更新する必要があります.
notifyDataSetChanged()を使う
AdapterのnotifyDataSetChanged()等を 呼び出すとListViewの表示を更新することが出来ます.
ただ気をつけなければいけないのは,このメソッドを呼び出すと 表示されている要素を全て再表示します.このときgetView()が 画面に表示されている要素数分だけ呼び出されます.
リストの要素数が変わったときなどは仕方がないことが多いですが, ひとつの要素の画像やテキストを変更したいという場合もあると思います. 例えば,画像をAsyncTaskで読んでいて,読み終わったら反映したいという場合です.
画像ひとつ表示したいだけなのに,全てのViewの内容をセットしなおすのはコストが 高すぎます. そもそも,変更したい要素が画面内に無いのに,notifyDataSetChanged()を呼ぶのは完全に無駄になります.
view.setTag()とview.findViewWithTag()を使う
特定の要素を書き換えたい場合,view.setTag()とview.findViewWithTag()の出番です.
例えば,getView()の中で,まだ読み込まれていない画像のImageViewに対して,
tumbnailImage.setTag(position);
として,positionをタグとしてセットします.
画像が複数ある場合などは,リストの要素自体のViewにセットするか, position以外の識別子をつけましょう. 比較可能ならInteger以外でも何でも良いです.
あとは画像の読み込みが完了したときにfindViewWithTag()を使ってListViewから 探します.
ImageView tumbnailImage = (ImageView) mListView.findViewWithTag(pos);
if (tumbnailImage != null) {
tumbnailImage.setImageBitmap(img);
}
画像が画面内に表示されていない(正確にはListViewが保持していない)場合は, 見つからずにnullが返ってくるので 更新の必要はありません.
読み込んだ画像は,改めて表示されたときにgetView()で使うことになるので, キャッシュにでも入れておけばよいでしょう.
ヘッダとフッタをつける
ListViewの最初や最後に,特別な要素を加えたい場合があると思います. 例えば,リストの最後に続きを表示するためのボタンを設置したい場合などです.
ダメな例
最初に見たときはびっくりしましたが,下のコードのように,positionを見て 生成するlayoutを分けるというコードを見ることが多いです.
public View getView(int position, View convertView, ViewGroup parent) {
View v = null;
if (position == 0) {
v = inflater.inflate(R.layout.list_header, null);
// 色々
} else if (position == mArray.size()-1) {
v = inflater.inflate(R.layout.list_footer, null);
// 色々
} else {
v = inflater.inflate(R.layout.list_row, null);
// 色々
}
return v;
}
こういうことをすると,viewの再利用が出来ないのでパフォーマンスが落ちますし, 体感的には気にならなくても,スマートフォンの場合は, CPUパワー使うことはバッテリーの持続時間に直結するのでやめてもらいたいです.
WrapperListAdapterを使う
リストの先頭や末尾に指定した要素を入れてくれる,WrapperListAdapter というものがるので,これを使うのがまともな方法です.
WrapperListAdapterは自分で生成しても良いですが, 少し面倒なのと,ListView自体が,渡されたAdapterをWrapperListAdapterで ラッピングしてくれる機能を提供しているので,ListViewに任せます.
使い方は簡単で,ListViewに対して,addHeaderView()やaddFooterView()で ヘッダやフッタを追加してやると, 自動的にWrapperListAdapterが内部で生成されてよしなにやってくれます. ただし,setAdapter()を呼び出す前にやる必要があるので気をつけます.
TextView tv = new TextView(this);
tv.setText("This is footer");
getListView().addFooterView(tv, null, false);
ここでは単なるTextViewにしましたが,お好きなlayoutをinflateしてください.
あと,getAdapter()で取得できるアダプタは自分で設定したものではなく, WrapperListAdapterになっているので気をつけましょう.
フッタやヘッダを選択不可にしたいときには, addHeaderView()等を呼ぶときに指定できます. ただ,選択不可にすると区切り線が消えてしまったりするので, 自分で解決する必要がありそうです.
動的に選択不可・可を切り替えたいときは,WrapperListAdapterのisEnable()を オーバーライドする必要が出てきて,そうなるとListViewが勝手にやって くれなくなるので,ArrayAdapter等を使うのをやめて, WrapperListAdapter相当の機能を持ったAdapterを実装したほうが楽かもしれません.
基本は選択不可でフッタ上にボタンを置いてそれの有効無効を切り替えるのが 楽で良い気がします.
2011-03-18
秋葉原へ行って,リナカフェで開発したりする日. Trapezoidに1000円借りた.忘れないようにしよう.
牛丼と金と秋葉原
秋葉原に行こうとして,財布に200円しか入っていないことに気付きました. 大抵何か買おうとしたときにお金無いことに気づくので,今日の自分は冴えてます.
財布を確認してよかった.ってことで出かけようと思ったのですが, なんかTLに銀行の話が多い気がしたので嫌な予感がした. 聞いたら,みずほのATM使えないらしい. 他の銀行はネットバンキングしかしないので, キャッシュカードそもそも無いとか,数年間見かけてないとかそういう状態.
コンビニのATMもやっぱりだめで,郵貯の方は残高が数百円しかなかった.
お金無くても何とかなるだろうと秋葉原へ. shimobayashiとTrapezoidと合流. 久しぶりにサンボ行きました.
まぁ,金の有無が命に関わることはほとんど無いし, 本来あるべきでは無いと考えて普段いくら持ってるとか気にして無いのだけど, もう少し気にするべきな気はする. きっと電子マネーによって解決されるだろうと期待.
もっと根本的な問題として,自分の生命にどれだけ影響いているかで 問題の重要度を判断しているのがダメなのかも.
[Android] AdMob SDKが新しくなったので使ってみた
昨日,AdMobの広告を拙作のニコニコPlayer(仮)に 入れてみましたが,どうやらSDKが新しくなっているようです.
少し前にダウンロードしたSDKで実装していたのですが,新しいSDKも使ってみました. 前より楽になってますが,説明が少ないので色々と嵌りそうです.
パッケージ名が,com.admob.android.ads から com.google.ads になって, インターフェイスもかなり変わってます. なんとなくですが,全部作り直したんじゃないかと思います.
嵌るといえば,最新のSDKどうやってダウンロードするのかよく忘れてしまいます. 各アプリケーションの「設定の管理」に行って「パブリッシャー コードを取得」を 選べば,SDKをダウンロードできます. 前はPDF等もおいてましたが,今はSDKのzipがあるだけのようです.
変わったところ
全体的にシンプルな作りになってjarのサイズも小さくなりました.
- com.admob.android.ads が com.google.ads に
- AdManagerが無い
- 明示的に loadAdsなどを呼ぶ必要がある
- android.permission.ACCESS_NETWORK_STATEが必須に(?)
- Publisher ID などは AdViewのコンストラクタに渡すように(?)
- XML類の記述は少なくなった
AdManagerが無いので,テストデバイスどうやって登録するのか不明です. AdRequest.setTesting()で設定できそうですが,エミュレータでないと 有効にならない模様です.
jarの中を見たところ,com.google.ads.InstallReceiverもありますが, 説明が出てくるまでは触らないで置く.
AdViewのインスタンスに色々わたさないといけないのが少し不便. もしかしたら,xmlから指定できるのかもしれませんが, 説明が一切無いので不明.
導入メモ
AdMobのアカウントを登録済みであることが前提です.まだの人は下のURLから アカウントを作成し,アプリケーションも登録しましょう. 支払い情報などは後回しでも良いです.
ダウンロードしたzipの中のドキュメントが全く役に立たなそうで焦りますが, 基本的には,Google Code上の説明を読めば分かるようです(英語ですが).
http://code.google.com/mobile/ads/docs/android/
まず, GoogleAdMobAdsSDK-4.0.2.jar をプロジェクトに追加し,ビルドパスに加えておきます. Eclipseならファイルをドラッグ&ドロップで追加してビルドパスの設定を するだけです.
permissionはINTERNETとACCESS_NETWORK_STATEが必要らしいので, AndroidManifest.xmlのmanifest直下に追加します.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
あと広告用のActivityもManifestのapplication内に追加します.
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/>
説明では,Activityの中でAdViewのインスタンスを生成していますが, 広告用のコードは混ぜたいとは思わないので,AdViewを継承したViewを作って 中で全部やることにします.
package net.binzume.android.adtest;
import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import com.google.ads.AdRequest;
import com.google.ads.AdSize;
import com.google.ads.AdView;
public class MyAdView extends AdView {
static final String MY_AD_UNIT_ID = "***PUBLISHER ID***";
public MyAdView(Context context, AttributeSet attrs) {
super((Activity) context, AdSize.BANNER, MY_AD_UNIT_ID);
}
protected void onFinishInflate() {
AdRequest request = new AdRequest();
request.setTesting(true);
super.loadAd(request);
}
}
地域の指定や,ユーザーの属性などの指定をするなら,それもここで. もしかしたら,全部コンストラクタで良いかもしれない.
あとは,layoutのXMLに適当に
<net.binzume.android.adtest.MyAdView
android:id="@+id/ad"
android:layout_weight="0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
みたいなのを書いてビューを追加.もちろんパッケージ名は自分のアプリケーションに あわせて変えてください.
これで,エミュレータで実行するとテスト用の広告が出るようになります.
課題
実機でテスト広告を出す方法は分からないのが今後の課題. テストモード以外だと,たまにしか広告が表示されないので確認が面倒です.
まだSDKが新しくなったばかりで,情報が少ない上に,今後色々変わりそうな予感.
2011-03-17
shimobayashiの家でAndroidアプリ開発する日.
ディスプレイ届いた
今日は午前中にディスプレイを受け取れました.
前回はBenQのやつでしたが,今度はiiyamaのを買いました. PLE2472HD-B1. 安すぎて怪しいですが.
同じのを買おうか悩んだのですが, 似たような値段で,こっちの方が消費電力と応答速度がよさげだったので 変えました.画質はまた期待してませんが,プログラム書くには問題ないです.
とりあえず設置.
ACアダプタのスペックは同じだったので,前のやつを使いまわすことに.
この前買ったBenQのやつより,全体的に作りは少し安っぽい感じだけど 使ってる間は気づかないし,値段相応な感じでもあるので問題ない. BenQは少しは高級感とか出そうとした努力が見られたけど, 中途半端よりは質素な感じの方が好きかも.
液晶パネル自体はノングレアにしたので,やっぱりこっちの方が良いな.
電源切ったときに無駄に電源LEDが点滅しなかったり, 起動時のロゴを設定でOFFに出来るところがかなりマシになった. 設定ボタンはタッチパネルになってますが, ディスプレイの設定なんてあまりいじらないのでスッキリしてよさげ. 物理ボタンよりは使いにくいですが. あと設定が分かりにくい上にメニューがすぐ消えるのはイマイチ. 説明書読まない派の人は,数分間色々ボタンを押して何が起きるのか 確認しました. 無駄に言語設定で日本語に出来るけど,分かりやすさは悪化します.
どうせタッチパネルにするなら1つのボタンに色々機能を割り振るのは やめてほしいのですが,たぶん内部の回路やファームウェアはそのままなので 仕方ないんでしょう….
[Android] Android Marketで統計情報見れるようになった
ふと,Android Marketのアプリ管理画面を見たら,「統計情報」という項目が. 今まで,最新のDL数のみしか表示されてなかったので, 定期的にスクレイピングしてはてなグラフに登録してたのですが, 公開から現在までのグラフが見れるようになったのでもう不要ですね.
他にも機種やOSの統計も見れて面白い.

ニコニコPlayer(仮)のユーザーはほとんどが日本人なのですが, まだ2.1がかなり多いですね…. マーケット全体だと2.1端末はもう30%以下になってるようなので,少し気がかりです.
2011-03-16
今日も15時まで待ったけど佐川の人来ないので会社に.
明日から休みか.
帰ったけど不在票が入っていない.ということは,これから来てくれるのかなぁ.
というわけで,また明日の午前中で....
2011-03-15
まずはディスプレイが無いと何もする気が起きない
昨日は早めに帰ってきたのだけど,気づいたら寝ていて地震で起きた. そのまま起きようかとも少し思ったけど,寒かったのと, どうせ佐川急便の人が来たら起きるだろうと思って寝る. しかし,佐川の人が来ないせいで13時過ぎまで寝てしまった. とりあえずここは佐川の人の責任にしておく.
ここ数日,毎日12時間くらい寝てます. みんなもっとたくさん寝れば省エネになって環境にも良いんじゃないでしょうか.
会社は人少ないな…. まぁ,開発の人は会社これなくてもVPNとかあるし, ネットワーク上にいるので仕事中はあまり気にならないのだけど, ふと席をみるとその人がいないという状態に違和感がある…ような気がする.
午前中の予定だったので15時くらいまで待ってたのだけど, 家を出た直後くらいに佐川の人が来たっぽい. 前回は宅配ボックスにギリギリ入ったのだけど,今回はダメみたいです. 同じやつ買えばよかったかなぁ.
明日の午前中で再チャレンジ.
ノートも買いたいのだけど,最近色々と出費が激しいのとX220も もうすぐ出るので暫く待とう.
ついでに壊れたディスプレイどうしようかな. この前やっとの思いでディスプレイ処分したのに,今度は新品同様のを捨てるとは. 念のため修理にいくらかかるか聞いてから,分解して様子見るかな.
2011-03-14
注文してたディスプレイ発送された.いつ届くかな….
佐川の人は夜来てたっぽい. もう少し早く帰ってれば良かった….
歯医者の予約があったので,歯医者行ってから会社に. 珍しく早く出社したら色々言われたけど, そもそも今日は無理して出社しなくて良い日らしい. 徒歩圏内に住んでる私は関係ないのですが.
2011-03-11
Amazonの「欲しいものリスト」の送り先に「あげたいもの」を送る方法
欲しいものリスト(ウィッシュリスト)から適当な商品をカートに入れた状態で あげたいものも一緒に買えば,送り先に欲しいものリストの住所が使えます.
さらに,最初にカートに入っていれば,実際に買う必要が無くて, 注文を確定する前に数量の変更と削除で欲しいものリストから 追加したものを削除してしまえば良いようです. 受け取った人が混乱する可能性があるのでお勧めはしませんが.
便利なので欲しいものリストに買ってあげたいものが無かったときには活用しましょう!
地震…先週買ったディスプレイが…
会社に行ってすぐ地震.
結構揺れました. まだ15時前だったし,ネットは繋がってるし, この瞬間にお金をつかもうとしてる人が結構いるだろうなぁ, とか考えて憂鬱になっていた. 全体では大きなマイナスなのに,お金が動くことで一部の人がプラスになってしまう のって経済システムの不備だと思うのです.
会社のすぐ近くの公園に行くと人がたくさん集まっていた. 一度はぐれたけど,ノートPCやDSを抱えてる人達が集まってるのが見えてすぐに合流できました. しばらくしてから大丈夫らしいので会社もどる.
13F→地上→13F
夕方,一度ATMでお金下ろすついでに,部屋の様子を見に行く.
13F→地上→10F
マンションのエレベーターも止まってて,大変. 10Fとかにしたの誰ですか….

クローゼットに詰め込んだものがほとんど外に出ていた. 冷蔵庫が30cmくらい移動していた. 不自然に無事なコップやノートPCは後から置いたものです.
ディスプレイ

先週の金曜日に届いたディスプレイが….
主な被害は,ディスプレイとノートPCが1台と,部屋の床や壁のキズくらいでした.
キズの様子から判断するに,まずディスプレイが倒れて, クローゼットから一部はみだした状態になって, 上の段から落ちてきた本やノートPCによってとどめをさされたみたいですね.
部屋の被害を確認して仕事するわけではないけど,オフィスに戻る.
10F→地上→13F
13F→地上
みんなでご飯食べてから,家に帰る. 帰れない人は大変だなぁ.
地上→10F
疲れました.
ノートはたまにしか使わないマシンだったから良いのだけど, ディスプレイだけは無いとどうしようもないのですぐに新しいのを注文. 届くの遅れたりするかなぁ. 月曜までに届くと良いけどニュースとかで被害状況見たら無理な予感.
2011-03-09
微妙に忙しい.
単純だけど間違ってはいけない作業って自分には向いてないっぽいなぁ.
試しに,ニコニコPlayerに広告入れてみようかと思ってAdMob使ってみる. PDF見ながら作業すれば,数分で組み込める. どこに表示するかは試行錯誤の必要があるかな.
しかし,広告入れるとイマイチかもなぁ. 暫く様子見てみるか.
2011-03-08
会社休んで,AdMob Android Appセミナーに行く.
少し遅れてGoogleのオフィス着いたらsafiiが待ち伏せしていた.
広告で儲けるのって,あんまり好みじゃないのだけど,話聞いてると仕方ない気もしてきた.
微妙にお腹が減っていたので,誰かとご飯行こうと思って会社に寄る. ついでなので,Firefoxでいつも会社で使ってる自分用のユーザースクリプトを Chrome拡張として移植したりしてから帰る.
Chromeの拡張はデバッグが楽なのが良いかも. Firefoxの拡張みたいになんでもできるというわけにはいかないけど.
2011-03-07
数学的な能力がだいぶ落ちている気が…
数学オリンピックの予選の問題が目に付いたので,なんとなく眺めてみた. 1,2,3,4,5はすぐ解けそう. 6と10は幾何系の記憶が怪しいので時間かかりそう. 7,8は良く読んでないけど解けるかなぁ. 12は面白そうだけど,思いついた方法で上手く答えに行きつくか微妙.
2011-03-06
掃除とか買い物とかした
秋葉原でLANケーブルとか電源タップとか買う.
そのあと夕食の材料を買いに. ついでに包丁を新調. いつも使ってたやつを引越しのときに捨ててしまったので, 最近は大学時代に使ってたのを使ってたのだけど切れ味悪くて使い物にならなかった….
大江戸線が止まってたので,バスで帰る.東京でバス乗るの初めてかもしれない.
[Android] 同一プロセスでServiceを動かせばAIDLは必要ない
サービスとの連携はAIDLを使ったプロセス間通信になりますが, Serviceが持っているオブジェクトに頻繁にアクセスしたり 大きなデータをやり取りする場合はオーバーヘッドが気になる.
Serviceは別プロセスで動かすものだと思っていたけど, manifestのserviceにandroid:processを指定しなければアプリケーションの プロセスで起動できる. デメリットもあるけど,Activityを跨いでバックグラウンド処理をしたい場合は ThreadやAsyncTask使うより便利な場合があるかも.
2011-03-05
ThinkPadのプレゼンテーション・ディレクターで使いたい解像度が無い
ThinkPadのプレゼンテーションディレクターは保存しておいた ディスプレイの設定を適用するときに便利なのですが, 設定の解像度に1920x1080が見当たらない.どこを参照してるのこれ?
追加するの結構面倒だと思ったけど,設定をエクスポートして, ファイルを編集した後でインポートしなおせばOKだった.
プレゼンテーションディレクターのオプションで.npdファイルにエクスポートした後, テキストエディタで開いてwidthとheightの項目を編集してインポートすれば終わり.
2011-03-04
部屋の収納を机として使うのはいかがなものか
帰ったらディスプレイ届いてたので,PCに繋ぐ.
今のところいい感じ.
ただ,グレアパネルが少し気になるので,VW2420Hにしておけば良かったかなぁという気もする.

結局こんな感じに.
ノートPCは立てて使うと使えるUSBポートが減ってしまうのが困るなぁ. あと,電源ボタンが画面をかなり開かないと押せない位置にあるのも不便. 前使ってたVAIOはその点は良かった.
2011-03-02
眠い.
ディスプレイ注文した. 24インチ以上で,ノングレアで,LEDバックライトが良かったので Amazonで探したけどそんなに種類が無い. BENQの24インチのやつが安かったのでそれにした.グレアパネルなのが少し気になるけど. VAパネルも少し気になったけど,この価格帯でこだわっても仕方ない気がしたので安さ優先で.
次はPCか.もうデスクトップは無しで,X201を買うのがよいかもなぁ. ただ,X201ってX200から乗り換えるには少し魅力が足りない気もする. 今のデスクトップマシンは,色々いじったおかげで15秒でXPが起動してくれるので気に入ってはいるのだけど,Celeronだともう辛い.
2011-03-01
今日も天気悪いけど会社に行く. あと歯医者.