秋葉原行ってきた.
PayPalから銀行にお金を移そうとしたら,マネーロンダリングがどうこうで,どういうお金なのか分かるものを銀行の窓口に持って来いという電話がかかって来た.
PayPalからの送金は海外からの送金という扱いになってしまうのがいけないらしい.明細を印刷したもの送ればよいらしいけど,家にはプリンターもFAXも無いのでさらに面倒くさい.
10時過ぎだったけど,朝早く申し訳ありませんって言われたのは,声が眠そうに聞こえたんだろうか…確かに朝早くてやめて欲しいと思ったけど.
シティバンクとかにすれば,ドルで受け取っても銀行内で完結するし,手数料も安いしそっちにするかな.
秋葉で肉食べた.
kstm.org新年会……の予定だったけど,sangoもysaotomeも来れないっぽいので,秋葉原で焼肉になった.
*VOCALOID3
結構進歩してるな.
あまりお金の無いアマチュアにこういう選択肢が出てくるのは良いけど,音楽は楽譜がある上に色々調整してこれだと,まだ改善の余地は色々あるんだろうな.5年くらいしたらもっと良くなってそう.
あとは人の声のサンプリングしなくても,純粋にパラメータからVOCALOIDや合成音声の音素データを作れる技術が欲しいな.
仕事のグループの新年会.このチームで仕事できるのは面白そうだ.
眠い.家に帰ってきてそのままベッドへ….
最近忙しいので(いつも通り)真面目に仕事してるのだけど,疲れると夜は眠くて仕方が無い.やっぱり人間は一日8時間も働ける生物じゃない気がしている.
眠い.最近夜は眠くて起きていられない.で,いつも昼に起きるので,11時間くらい寝ている.
雪けっこう降ったと思ったのだけど,もうほとんど融けてた.
雪すごい.冬って感じがする.
とても眠いので帰ってすぐ寝る.
*Google Code Search無くなってしまって困ってる
Labs閉鎖でCode Search無くなるというのは知ってましたが,何らかの形でもう少し使えるんじゃないかと期待してたけど残念ながらそんなことは無かった.
正規表現で検索できるのはかなり強力で,OSS内のリポジトリからコード持ってきてgrepするより断然楽だし早かったので無くなってしまうと結構不便に感じる.Androidアプリとか,OSのコードを検索しながら作ってるし…….
あとは,リバースエンジニアリングするときに元のコードを特定したり,ありがちなセキュリティーホール探したり,ソースコードを探すというほとんどの場面で使ってたので,代わりを探さないとだなぁ.
とりあえず http://grepcode.com/ あたりを使うか.
ねむい.
食べるものが無いので,買い物ついでに有楽町までGalaxy NX触りに行って,秋葉原寄って帰ってくる.で,部屋に帰ってから食べるものが無いことに絶望.再び外に出る気力もないので,晩御飯はご飯と味噌汁だけです.
*Xperia NX触ってきた
動作は良い感じ.ディスプレイもGalaxy Nexusより綺麗に見えた.NXの特徴でもある下部の透明なやつは,思ったより面白くなかった.あと,触ってる途中で勝手に再起動したのがちょっと気になる.
*GoogleアカウントのOpenID Connect providerを使ってみる
WebアプリケーションからGoogleのアカウントで認証したかったので.
このあたり見ればOKっぽい.
まず,Consoleでclient_idを取得したり使うAPIを設定したりする.
あとは,https://accounts.google.com/o/oauth2/authに必要なパラメータをつけてアクセスすると,access_tokenがついてリダイレクトされて戻ってくる.
Googleアカウントで認証したいだけなら,得られたaccess_tokenをhttps://accounts.google.com/o/oauth2/tokeninfo?access_token=~に渡してやると,ユーザのID(メールアドレス)やtokenの有効期限などが得られるので認証できたかどうか確認できる.
authorization code flowにしたければ,response_type=codeにすれば良いらしい.
追記:そもそもauthorization codeでなければ安全に認証できない.
*Chromeのキャッシュからファイルを取り出す
サーバー上でJavaScriptを編集していたのを忘れて,うっかりローカルの古いファイルをアップロードしてしまって焦る.数時間を無駄にしたかと思ったのだけど,Chromeがキャッシュを持ってたので助かった.
ただ,chromeが16進のダンプでしか表示してくれないので,perlに食わせて変換.
-
chrome://cache にアクセスするとキャッシュファイルが表示される
-
ファイルを選ぶ
-
必要な部分をコピペして hoge.txt とかに保存
-
perl -ane "print pack('H*',join('',(split,$_)[1..16]))" < hoge.txt とか
めでたしめでたし.
午前中にプログラム書く.昼寝したら夜になっていた….
*[Android] ニコニコPlayer(仮)
アップデートしました.年末ころにUIを色々いじってたので,それを反映.ついでにいくつかバグ修正.
なかなか風邪が直らない.ただ,久しぶりに37℃以下の体温を見て安心.
一応,良くなってきてるけど,薬が効いてるって感じではないなぁ.
夕方は出かける.
肉を食べたら多少元気が出てきた.
未だに38℃近くある.
抗生物質は効く気配が無い.解熱剤は多少効いてるのかも知れないけど,あまり効果ない感じ.
インフルエンザとかも怖いし,念のため会社近くの病院へ.
インフルエンザでは無いっぽい.マイコプラズマの可能性もあるとか言われて抗生物質とかももらう.
ちょっと悩んだけど会社寄ってノートPCだけ回収して念のため帰って寝ることに.スケジュールが圧縮されていく気がするのが心配だけど,まずは治したい.
熱は相変わらずだけど,だいぶ良くなった(?)のとお腹減ったので会社に.途中で病院行く予定だったのだけど,面倒だったり忙しかったり忙しかったりで結局行けず.明日行こう.
会社.
とても眠い.
異常に眠いので,家帰ってから念のため熱測ってみたら,38℃…….そのまま寝る.
今日も8時とかに目が覚めた.
読書.
今日は積読になっている小説(ラノベの割合が最近高い)を消化しようと思っていたら,amazonから荷物が届いたのでそちらを読むことに.
いいかげん紙の本は場所取るし増やしたくないのだけど,Amazonのせいでうっかりクリックしてしまう.こういう所で電子書籍はまだまだだなぁ.
夕方眠くなったので少し寝る.
最近生活リズムが狂っている.
10時とかに目が覚めてしまったので,洗濯とか部屋の掃除とか.
一応休みだけど,会社に行ってミーティングとかする日.
gcc4.7はC++11がだいぶ使えるようになったし,clangも着々と実装進めてるようだし,そろそろVC++から乗り換えるかなぁ.
*[Android] RenderScriptを使ってみる
せっかくICSの載ったGalaxy Nexusを使っていることなので,Android3.0から使えるようになったRenderScriptを試してみました.
-
C言語(ファイルはLLVMのbitcodeっぽいので他の言語もなんとかなる??)
-
NDKいらない
-
eclipse+ADTならとても簡単
-
Android3以上
アプリに含まれるのはLLVMのbitcodeなので,NDKを使った場合と違ってCPUアーキテクチャに依存しません.指定したフレームレートでグラフィックスの描画ができるので,ゲームには良さそうです.Java側とのデータの受け渡しも簡単にできそうなので使える場面は多そう.
ADT使ってるなら,javaのソースと一緒にrsファイルを置くと勝手にコンパイルされてbsファイルがrawフォルダに配置されて,読み込むのに必要なjavaファイルもgen以下に生成されます.とても簡単.
現状でどんな実装なのかわからないですが,rsForEach()とかを見る限りマルチコア環境では処理が並列実行されそう.
色々便利そうではあるのですが,まだ対応端末少なすぎるのと,デバッグの仕方がわからないのが問題かも.reDebug()で一応ログは出るみたいですが.
描画のほうはOpenGL ESとほぼ同じことができるのですが,メモリなどの確保はJava側で行って,描画を任せるという感じみたいです.rsgDrawRectとかrsgDrawTextくらいはありますが,頂点配列を作っておかないと何もできなさそう.
とりあえず四角形がくるくる回るだけのサンプルを書くとこんな感じになった.
// hello.rs
#pragma version(1)
#pragma rs java_package_name(net.binzume.android.renderscripttest)
#include "rs_graphics.rsh"
int rot = 0;
int root()
{
rsgClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
// rotation
float2 center= { rsgGetWidth() * 0.5f, rsgGetHeight() * 0.5f };
rs_matrix4x4 rotmatrix;
rsMatrixLoadTranslate( &rotmatrix, center.x, center.y, 0.0f );
rsMatrixRotate( &rotmatrix, rot, 0.0f, 0.0f, 1.0f );
rsgProgramVertexLoadModelMatrix(&rotmatrix);
rot++;
// draw
rsgFontColor( 1.0f, 1.0f, 0.0f, 1.0f );
rsgDrawRect( -50.0f, -50.0f, 50.0f, 50.0f, 0.0f );
rsgDrawText( "hello", 50.0f, 50.0f );
return 33; // 33ms = 30fps
}
それにしても,Android上のLLVMとdalvikは今後どうなっていくのかも気になる….
ついでに,docomoのGalaxyNexusのandroid-4.0.1はいつまで放置されるんだろう.同じ4.0でもAPI Levelが別物なので,4.0.3に早くしてほしい.
参考:
Androidでラジオボタンを使うとき,drawableの中からそのボタンがRadioGroup内の先頭や末尾のアイテムかどうか簡単に取得できないかなぁ.state_firstとstate_lastがセットされることを期待してたのだけど,やってくれていなかった.