15:51:12 # Life 2009年の終わりに今年を振り返ってみる。 今年は何をしただろうか? 昨年ソフトウェアエンジニアにジョブチェンジして、コードをがりがりと本職で書くようになった。 その関係でいろいろと私生活でもコードを書いてみようと考えて、生活をシフトしてみた。 ちょうど一年前にAndroid携帯を手に入れて刺激を受けたのもあるのかもしれない。 コードを書いてそれが自分の携帯電話で動くというのが刺激的だったと思う。(最初はDebianを動かそうとしていたのだが)
22:45:41 # Life Google app engine のアプリケーションのテスト。 unittest をするための方法がいろいろと考えられているようだ。 Google app engine で提供されている環境はほとんど django そのままなのだが、 テストする方法とかがなんだか提供されていない気がする。 ツールとして google-appengine-patch だとか gaeunit とか nose-gae とかがあるらしい。 この話題についてはスレッドが いくつかあるようだ。
11:40:03 # Life python のソースコードが更新されるたびにとりあえず自動でテストを実行する。 なんかよくわからんけど、テストを実行する run-test.shというのを作っておいて iwatch -c ./run-test.sh *.pyとしておく。 iwatch が inode を監視しているので、emacsで編集して保存するたびに run-test.sh が実行される。
05:49:01 # Life OpenID とか OAuth とかの自分にとっての難しいところ。 使うと、複数のサイトの認証を他のサイトの認証に利用出きるようになる。 利用者として混乱するのは、どのサービスのアイデンティティーをどのサイトの認証に利用したのかという 組み合わせを自分で管理しないといけなくなること。 たとえば、atndでどのアカウントでログインしたかっていうことは、参加者の一覧に自分の名前があるのを確認、 アイコンを見て初めて「前回このアカウントでログインしたのだ」ということが分かる。
あと思うのは、対応しているサービスのアカウントを持っていない場合に、どのアカウントを作成すればよいのか分からない所かな。 どれがいいんだよー。
こういう疑問に答えてくれる資料はあるのだろうか。
16:36:54 # Life Android用のmixi クライアントをアップデート。 手元で眠っていた機能を設定でオンオフ可能にしてリリース。 デフォルトではオフなのでそれを有効にしたら挙動がおかしくなるとかなら切ればOK。
09:41:34 # Life Google app engine で新しいindexが必要になったときしばらくエラーが出るのを何とかならないだろうか。 ということをしばらく悩んでいたのだが、どういうところにインデックスを張るべきかということを dev_appserver のデータベースアクセスのログから解析しているらしく手元のdev_appserverの利用ログが まったく無いインデックスは作成されないことになるようだ。 手元でそれなりにきっちりとしたテストしておく必要があるということがわかった。 うーん、なにが条件なんだろう。
NeedIndexError: no matching index found. This query needs this index: - kind: UserRealname properties: - name: user - name: timestamp direction: desc
12:12:09 # Life appengineでアプリ作成。 Debian勉強会の予約ページの作成中。 とりあえず、何かできた。 Google App Engine は日本語の訳がおいついていない感じで、英語版のほうにしか users とか xmpp のドキュメントが掲載されていなかった。
22:24:26 # Life Aliothでssh公開鍵を追加。 alioth.debian.org では Debian.org とは別の鍵を登録することもできるみたい。 https://alioth.debian.org/account/ にいって登録してみた。
23:12:45 # Life mixi サイトデザインリニューアルのお知らせか。 1月6日から新しくなるらしい。お知らせページ。 この変更の結果の予想としては、 サイトをスクレープしてどうのこうのとする系統のアプリは全滅するのか。大変だなぁ。
あと、mixi station の機能が一部統廃合されたむねの発表があった。 ほえー。mixi ミュージックが終了したというニュースの後ろにかくれて気づかなかったけど 他にもいろいろと変わってそう。 mixi公認ソフトウェア「mixi station」にて、提供しておりました「mixiミュージック」「mixiツールバー」「mixi新着のお知らせ」の各機能を終了いたしました。 らしい。 mixi コラボツールバーを利用せよとのご案内。
利用規約からmixi connect についての利用規約が参照されている。mixi connect がとうとう公開されたのか? とおもったけど、 デベロッパー向けのページはあいかわらず空っぽ。 ページを見るかぎりではよくわからない。どっかの質問フォームに質問を投げたような記憶もあるがはたしてどこに消えたのだろう。
00:13:01 # Life 今日ふと思った疑問。 Google Calendar で招待状を作成してみた。 ics という拡張子でVCALENDARがメールに添付されておくられてくる。 MS Outlookもなんかそれっぽいものを送ってきてくれた気がする。 Google Calendar と Outlook と たとえば Lotus Notes は、これらは相互に読み取ってくれるんだろうか。 手元では試せないなぁ。 あと、オープンソースのカレンダーソフトウェアで対応しているものはあるんだろうか? evolutionとsunbird あたりはサポートしてるっぽい雰囲気はある。
23:34:43 # Life key value store を実装する方法を考えてみる。 何が必要なのかなとおもってメモリ上のkey value store のプロトタイプをbash で書いてみた。 むしゃくしゃしてやった、公開していない。
11:19:58 # Life 土曜日の朝っぱらからtwitterconfを聞く。 家からustreamで拝聴。 しかし、この時間に現地にいける人はすごい。
11:31:14 # Life ecamegapedal を削除。 2004年からアップデートされてなくて、ビルドもできなくなっているのでパッケージをDebianから削除することに決定。 soundtracker も 2006 年からアップデートされていないのでパッケージをDebianから削除することに決定。 個人的にはそこまで保守したいというほどのパッケージでもないのですが、 もしどうしてもという人があればぜひチャレンジしてみてください。
22:55:07 # Life sbrk を使ってみる。 Linux のメモリ管理についてふと気になったので深追い。 sbrk(0) の出力はヒープ領域の最後のアドレスをかえしてくれるっぽい。 しかし、sbrkだけをするプログラムを何度か実行してみたら、アドレスが毎回違う。 これが釈然としない。 personality で ADDR_NO_RANDOMIZE を指定してからバイナリを実行したら、 アドレスが一定になった。Virtual Address Randomization というのが行われているようだ。
$ ./sbrk.c 0x254e000 $ ./sbrk.c 0x1686000 $ ./sbrk.c 0x7f5000 $ ./personality-exec.c ./sbrk.c 0x622000 $ ./personality-exec.c ./sbrk.c 0x622000
$Id: 200912.html.ja,v 1.29 2009/12/31 07:05:04 dancer Exp $