20:49:01 # Life cupt ってなんだ? とおもって眺めて、aptをperlで再実装しました、と書いてあってかなりびっくり。 C++で実装されているパッケージマネージャをperlで実装しなおすというのは野心的な感じがすごくする。
22:55:50 # Life mixi のアカウント。 二年前くらいにアカウント取得するには 携帯電話からの認証が必要になったという記述を散見するが本当なんだろうか? 僕が加入した5年前とはずいぶんと違う感じになっているようだ。
23:11:16 # Life Android用Mixi ブラウザアップデート。 とりあえず手元でいろいろいじっていた専用ブラウザの仕組みをリリースしてみました。 WebViewをつかったシンプルなものです。 最初は全部WebViewにしようかとも思っていたのですが、試行錯誤してみた感じではそこまでブラウザに比べて高速にはならないみたいなので 結局選択性にしてみました。
23:27:26 # Life Android Market にアップロードしようとしたらエラーがでた。 「このapkを署名している証明書の有効期間が十分ではありません。新しい証明書を作成してください。」 というエラー。なんでだろ。 26年先まで expire しない鍵を作ってみたのだがそれでもダメなようだ。 ...とおもってリロードしたら直った。 localeのせいかなと疑ったのだけどそうでもないみたいで、挙動が釈然としない。
$ jarsigner -verify -verbose -certs ../workspace/released/JsEval.apk.26 [中略] sm 4900 Mon Sep 28 23:17:44 JST 2009 classes.dex X.509, CN=Junichi Uekawa [証明書は 09/09/28 23:17 から 35/09/22 23:17 まで有効です] $ LC_ALL=C jarsigner -verify -verbose -certs ../workspace/released/JsEval.apk.26 [中略] sm 4900 Mon Sep 28 23:17:44 JST 2009 classes.dex X.509, CN=Junichi Uekawa [certificate is valid from 9/28/09 11:17 PM to 9/22/35 11:17 PM]
15:54:32 # Life 携帯向けウェブサイト。 あまりこの方面には詳しくないので、最近さわってて驚くことが一つ。 大手のサイトはUser-Agent(携帯ブラウザからの自己申告)ではなく IPアドレスで携帯電話であることを確認して、表示の可否を判断することが主流らしいこと。 携帯向けのサイトをUser-Agent を偽装して見ようとしているユーザに 見えてしまうことを回避するための工夫のようです。 そうすることのメリットを考えてみました。 携帯電話のネットワーク網からじゃないと見れないというプレミア感、もしくは携帯経由のパケット通信でのアクセスで課金できる仕組みがある。 携帯電話からのアクセスに制限することでボットなどの大量の アクセスを回避することができる。
Android と iPhone は携帯3Gネットワークだけでなく、 無線LAN経由でウェブサイトを見ることができます。 そうすると携帯電話のネットワーク経由のアクセスではないです。 デスクトップ向けのサイトしか閲覧できないのが不便だなぁ、と思って User-Agent をいじったブラウザを作成した上での感想でした。 ブラウザの処理が重いし、画面も小さいので、 携帯向けのサイトが見たいなぁ、と思ったら見せてあげればよいのに。
20:57:04 # Life Android 用Mixiアプリに投稿機能を追加してみました。 写真ギャラリーから「共有」する対象に「Mixi日記の投稿」というものが追加されているので、それを選択すると 写真を日記に投稿することができます。 また、新着日記一覧画面からもテキストだけの日記を投稿できる機能を追加してみました。 素直に実装しただけだといまいち使いにくいので、UIはもっとチューニングが必要ですなぁ。
08:48:20 # Life 一週間ぶりにみたソースのGit tree。 Gitでブランチをきって開発していたのを忘れていて、 masterブランチから作業を再会してなんかソースコードが変だなぁと思いつつ実装しつづけ、 そして git branch してなんかブランチがあるのに気づく。 git のブランチにどれくらいの作業をいつしたのかを表示するUIがあればよいのかなぁ。 あといらないブランチをさくっと処理してくれる仕組みがほしい。 integration-test ブランチはその場でいろんなブランチをマージしたら捨てるのだけど、 git branch の見通しが悪くなるので、 integration-test- とかいう名前のブランチは一日たったら自動で捨てるとか。 git branch のUIを改善すればよいだけのような気もする。
22:44:29 # Life java の正規表現。 pythonで re.search('id=(\d+)', 'this id=123').group(1)としたら '123'と出るのですが、それ相当のことをjavaでやってみようとしてみました。 なんだか必要以上に冗長な気がする。もっと簡潔にかけないものですかねぇ。
string result = ""; Matcher m = Pattern.compile("id=(\\d+)").matcher("this id=123"); if(m.find()) { result = m.group(1); }
23:06:14 # Life Android用Mixi Client アップデート。 先週末の0.1.0、0.1.1と公開してきましたが、今日0.1.2 を公開しました。 0.1.1を一日動かしていたらデータが十分溜まった時点でエラーが出たので修正。見落としてました。
23:10:29 # Life Google App Engine を使ってみる。 SDKが1.2.5がリリースされたという噂があったので使ってみようと見てみた。 どうもhttp://code.google.com/intl/ja/appengine/downloads.htmlをみても1.2.0のままに見えるのだが、 英語のページ を眺めたら1.2.5がでてた。
00:15:54 # Life Debian 64bit環境で DDMSを起動する。 どうやらFAQらしい。 sudo apt-get install ia32-sun-java6-bin して 32bit の JRE をインストールした。 DDMSが64bitのJVMで起動していて32bitのライブラリがロードできないというエラー( 16:55 E/ddms: java.lang.UnsatisfiedLinkError: .../android-sdk-linux_x86-1.5_r1/tools/lib/libswt-pi-gtk-3236.so: .../android-sdk-linux_x86-1.5_r1/tools/lib/libswt-pi-gtk-3236.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch) )で死ぬので32bitのJVMで起動してやればよいらしい。 /usr/lib/jvm/ia32-java-6-sun/bin/java を使うように tools/ddmsを編集してみた。 同じようなハックがMacOSX用にすでに入っているようだ。MacOSXでは1.6 は64bitだが、java 1.5が32bitなのでそちらを起動しているらしい。
01:59:32 # Life Android 用 Mixi クライアント。 とりあえず日記の新着を表示するだけのひどいUIのクライアントですが、マーケットにあげてみた。
22:39:22 # Life MacBookのメモリーを増設した。 1GBのメモリーしか搭載していなかったのが、4GBに増えてみた。 これでeclipseがサクサク動くことを希望。
$ free total used free shared buffers cached Mem: 4030452 1091840 2938612 0 25664 407688 -/+ buffers/cache: 658488 3371964 Swap: 2097144 0 2097144
$Id: 200909.html.ja,v 1.17 2009/09/30 13:56:22 dancer Exp $