Failed to create database ‘DevelopmentStorageDb20090919’

Windows Azureのアプリケーションをデバッグ実行しようとすると次のメッセージが表示される。

「Windows Azure Tools: Failed to initialize the Development Storage service. Unable to start Development Storage. Failed to start Development Storage: the SQL Server instance ‘localhostSQLExpress’ could not be found. Please configure the SQL Server instance for Development Storage using the ‘DSInit’ utility in the Windows Azure SDK.」

ローカルにインストーすしているSQLServerの接続設定で、リモート接続やWindows認証を無効にしている場合には、これを有効にしてからやり直す必要があります。また使用するSQL ServerがSQLEXPRESS以外の名称の場合にはC:\Program Files\Windows Azure SDK1.1\bin\devstore\DSInit.exeを実行して手動でAzure Data Storageの初期化をおこなう必要があります。
ですが手順に従って「DSInit.exe /SQLInstance:サービス名」としても以下のメッセージが表示される場合があります。

「Failed to create database ‘DevelopmentStorageDb20090919’ : SQL Server への接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 」

この場合には「DSInit.exe /SQLInstance:」とSQLInstanceオプションつきでサービス名を指定せずに実行してください。これでAzure Data Storageの初期化を行える場合があります。
どうもSQLServerのインストール後に、OSのコンピューター名などを変更している環境で、上記の問題が発生するようです。
参考:Visual Studio 2010 Problem: Windows Azure Tools: Failed to initialize the Development Storage service.

Google App Engine 習作、オセロゲーム

Google App Engineを使ってみながら、オセロゲームを作ってみた。本当ならソースコードもと思ったが、弄ったり、戻したりを繰り返した汚いコードなので非公開です。
URLから適当に名前を入力してログインすると、対戦相手が現れるまでの待機画面になります。ほかの誰かがゲームにログインすると、見慣れた升目が表示されて、ゲームスタートです。

Google App EngineでのセッションID生成

意外なところで嵌るものだ。
Pythonでは乱数生成用のエンジンを何種類か積んでいる。Wichman-Hill(WichmannHillクラス)と、メルセンヌツイスタ(randomクラス)、OSの提供する乱数ジェネレータ(SystemRandomクラス)から選ぶことが出来る。セッションIDに使用するなら、予測不可能でビット数の多い乱数を生成できるSystemRandomクラスを選択したいところなのだが、Google App Engineでは対応していないらしい。セキュリティ上重要なハードウェア乱数が提供されていない辺り、本当に片手落ちだと思う。
デバッガ上だと普通に動くので、気が付くのが遅れた。
・・・と言うわけで、メルセンヌツイスタ(randomクラス)で生成する以外の方法はないようだ。