自転車通勤は 3日間と少なめだけど、土曜日に久しぶりに走りに行った。(友人と)
以下、それらの記録。
自転車通勤は 3日間と少なめだけど、土曜日に久しぶりに走りに行った。(友人と)
以下、それらの記録。
12(火)のパンク箇所が原因で再びパンク。タイヤに入った切れ目がチューブにダメージを与えてしまう模様。仕方なく新品を買ってきてタイヤ交換。
用事と雨で 1日おきに 3日しか乗れなかった。
以下、自転車通勤の記録。
【“[自転車] 1/18〜1/24 の走行記録”の続きを読む】イマイチ、モチベーションがあがらず 2日しか自転車通勤してない。
以下、自転車通勤の記録。
なぜか二回もパンクした。どちらもリアだけど、一回目はガラス片、二回目は針金みたいなものと別原因。
単に運が悪かったということなんだろうか?
以下、自転車通勤の記録。
【“[自転車] 1/4〜1/10 の走行記録”の続きを読む】CodePlex にこんなのがありました。
http://silverlightviewport.codeplex.com/
すごく簡潔な説明しか無いですし、ソースを見たわけでもないので詳細はわかんないんですが、WPF/XNA 上で Silverlight をホストするものみたいです。(Host ではなく Render になってますが)
また、「まだめっちゃ実験的なもんだよ!」 とのこと。
作者さんのブログの記事はこちら
Render Silverlight in WPF ? WPF SilverlightViewport
まず、「より明確に理解するために取り組んでみたホビープロジェクトだ」 といった文からはじまってます。
で、以降をざっと要約すると 「Silverlight は COM API でホストできる。C++ のサンプルコードもある。けど、これは Win32 のウインドウに描画するのが前提。Silverlight はウインドウレスもサポートしてるはず。なので、Silverlight をウインドウレスにロードして画面の代わりに GDI ビットマップに描画させてみたらうまくいった。ただ、CPU 使用量が高かったのとアルファが透過できなかったけど。で、ちょっと汚くなったけど interop でごにょごにょしたらアルファも抜けるようになったし、パフォーマンスも良くなった。WriteableBitmap も使ってみたけど、結局 InteropBitmap にした。パフォーマンスも良くなったし。」 という感じです。
ソースをダウンロードして Visual Studio 2008 でソリューションを読み込んでやればビルドして実行できます。
(XNA を入れていない場合、XNATestApplication プロジェクトと Primitives3D プロジェクトが読み込めませんが、無視して読み込んでしまえばとりあえず TestApplication を動かしてみることはできました)
TestApplication を実行してみるとちゃんと動いてます。動いているのは http://silverlight.net/ にある SHOWCASE を表示しているやつです。
Window1.xaml の <slvp:SilverlightViewportElement ...> の Source を Source=”http://silverlight.net/content/samples/sl3/toolkitcontrolsamples/run/System.Windows.Controls.Samples.xap “ と書き換えてやって Silverlight 3 Toolkit を動かしてみましたが、それなりに動いてます。
なお、マウス入力はそれなりに生きてますが、キー入力は未対応みたいです。
(マウス入力は WPF 上のイベントを転送してやってるんじゃないかと思いますが、キー入力は IME とかいろいろ絡んできそうなので簡単ではないのかも)
作者さんもホビープロジェクトと言ってる通り、実用性についてはよくわかりません。
そもそも、「Silverlight をホストしなくても WebBrowser を使えばいいんじゃね?」 という気がしなくもないですw
けど、試みとしてはおもしろいですね。
以下、自転車通勤の記録。
【“[自転車] 12/21〜12/27 の走行記録”の続きを読む】World# - Real Time 3D Augmented Reality with Silverlight より。
Silverlight 4 では webcam API がサポートされるってことで、当然のように AR している人がいましたw
完全にマネージド (C#) な NyARToolkitCS という ARToolkit を使っているそうです。
また、3D モデルのレンダリングに Balder というマネージドなゲームエンジンを使っているそうです。
上記は実際に Silverlight 4 で動かしてるところをスクリーンキャプチャしたものだそうです。
記事に 「スクリーンキャプチャソフトがリソースをえらく食ってる」 といったことが書かれてますので、カクついて見えるのはキャプチャムービーだからみたいです。
記事によると 50〜60fps でスムーズに動いているとありますね。
13日(日)、シルベスト梅田店にて OGK のモストロを購入。
今まで使ってたヘルメットも OGK のもうちょっと安いヤツだけど、落車したときにぶつけてたようで実は割れてた。ほんとはすぐに新しいのを買おうと思ってたんだけど、なんだかんだで遅くなり今回ようやく購入。
あと、Vittoria の RUBINO PRO と Panaracer の R-Air 18-23c 48mm バルブも購入。
暇を見て付け替えるつもり。
と思ったら、下にも書いたように 15(火) の朝にパンク。そのときにタイヤをはずしてみたら弾力が無いというか素人目に見ても限界っぽい感じ。ちなみに、今まで付けてたのも Vittoria の RUBINO PRO。走行距離は6450km ほど。よくもったな。
というわけで、その日の帰宅後に新しいタイヤに付け替え。
以下、自転車通勤と土曜日に走りに行った記録
【“[自転車] 12/14〜12/20 の走行記録”の続きを読む】久しぶりに週末に山へ。
久しぶりと言うか、まともに坂を上るのは 2年ぶり(^^;
さすがにしんどかったがおもしろかった。
以下、自転車通勤と週末に走りに行った記録。
【“[自転車] 12/7〜12/13 の走行記録”の続きを読む】http://campaign.live.jp/bing/
Bing で何やらキャンペーンが始まりました。
内容については上記サイトを参照。
まぁ、私としてはぜひ 100% までいってもらって、えりりんボイスをゲットしたいと思ってるわけですがw
そんなわけで、キャンペーンが始まった今日のお昼以降は検索はこのサイトでしてますww
MVP Global Summit でスティーブ・バルマーからお願いされても Google と Live Search と半々くらいだったのにwww
ところで、今回おもしろかったのはこの企画を進行している Live の中の人 (一部で G と呼ばれてる人) が Twitter でいろいろとつぶやいてくれていたことです。
最初はこんなつぶやきから始まります。
12/9 来週からはじまる(予定)のキャンペーン企画を立ち上げました
http://twitter.com/G_Bing_de_2010/status/648497836612/9 Bingのキャンペーン企画を起こして承認もらった(もらったよな。。。)ので着々と進めます。めざせ18日オープン
http://twitter.com/G_Bing_de_2010/status/6486194393
最初のつぶやきが 12/9 ですから 1週間ちょっとでできるもんなんですねぇ。
そして、おもしろいのが絵師さんが決まったくだり。
12/9 プレゼントとなるWindows テーマ用のイラストを書ける人がいなーい! なんでこういうスケジュールなんだろう。。。 かわいい女の子書ける人探し中。
http://twitter.com/G_Bing_de_2010/status/649064156912/10 絵師さん、決まりました!ご紹介くださった方、お時間のない中、引き受けてくださった方、ありがとうございます。これで一気に進められます。
http://twitter.com/G_Bing_de_2010/status/651918996412/18 はい、Twitterで、しゅーさんをご紹介いただきお願いいたしました。ご紹介していただいたみなさま、ありがとうございます
http://twitter.com/G_Bing_de_2010/status/6788567552
すごいなぁ。Twitter でつぶやくと見つけれる時代なんですねぇ。
Wiki-OS を作ってる Userware 社による Wiki-OS などの紹介ムービー。
英語ですが絵を見てるだけでもだいたいわかるんじゃないかと。
2:10 くらいから始まるプロダクト & デモでは以下のものが紹介されています。
いやぁ、おもしろいなぁ。
特に Userware API なんてすごく興味深い。実用的に使えるのかどうかはまだ何とも言えない気がするけど、けど、なんかわかんないけど 「おもしろそう」 と感じるw
ちなみに、http://www.userware-solutions.com/ にあるように Wiki-OS Enterprise、Userware API、Userware for Office は有料な商品みたいです。
ところで、ムービーの 3:00 くらいのところ。
Wiki-OS アプリをブログに貼り付けてみるというデモですが、”貼り付けてみるテスト” なんて日本語が見えたので 「おぉ、日本語!」 って思ったんですが、「あれ?このブログ、見覚えが、、、」
うはっ、ここじゃんw
Silverlight-powered Virtual DVD now available from Tesco より。
このタイトルを見たときはさっぱり意味がわかんなかったんですが、記事によると 「9月に Microsoft と Tesco が次世代のホームビデオ提供方法を Silverlight を使って行う予定とアナウンスした。”Virtual DVD” は物理的な DVD/Blu-ray を購入した Tesco の顧客がそのディスクとまったく同じものの Silverlight 版をダウンロードできるようにする仕組み」 ということだそうです。
記事には書いてないんですが、やっぱり Live Smooth Streaming を使ったものなのかな?
ただ、チャプター、マルチランゲージ、字幕もサポートされるとありますね。Live Smooth Streaming ってこういったこともできるようになってるのかな?
ところで、つい最近ほとんど同じようなニュースを見たような気が、、、
Amazon、DVDやBDを買うとその場でデジタル版を観られるDisc+ On Demandを開始
これか。
Silverlight 4 COM Support and 32/64 bit machines ? the C64 Emulator より。
以前に Commodore 64 エミュレータを Silverlight で作ってる 方の記事を紹介しましたが、その方のその後です。
ジョイスティックなんかをエミュレートするためにタッチ・インターフェースでできるようにしようとしたとのこと。
このために Windows API Code Pack を使って (おそらく C# で) DLL を作り、これを regasm で COM として登録。そして、Silverlight 4 の COM 呼び出しを使ってこの COM を呼び出すようにしたようです。
(Silverlight から直接 API を呼び出すことはできないため、COM 経由で呼ぶようにしたということですね)
で、パフォーマンスも問題ないしうまくいったと。
が、Silverlight の PM の一人である Ashish Shetty 氏にこのことを話したところ驚かれたようです。こういうシナリオはサポートされてない、と。
太字で強調されてますが、COM 呼び出しはローカルマシンにインストールされているアウトオブプロセスな COM サービスに使うことが前提になっていると。
PDC でこのデモを動かしてやろうとしたけどデモ機が Windows 7 64bit だったので動かなかった、なんてことも書いてありますね。
インプロセスな COM の場合、64bit アプリでは 64bit の COM、32bit アプリでは 32bit の COM しか呼び出すことができないからですね。
って、あれ?
Silverlight 4 の Out of Browser は 64bit OS だと 64bit なの?
いや、そもそも regasm で登録した COM って 32bit なの?64bit なの?(アセンブリは AnyCPU だとして)
気になったので検索してみた、、、
おぉ、
があるのか。
Framework の方で regasm する 32bit COM、Framework64 の方だと 64bit COM になるのね。知らんかった。
ちなみに、アウトプロセスな COM サーバーの場合は間にマーシャリングが入るため違うビット幅の COM サーバーも問題なく呼び出せます。
ちょっと話がそれましたが、インプロセスな COM に使うことを想定してないというのはちょっと意外。
Having fun with Silverlight 4 Beta and the Speech APIs
こちらの人なんて Speech API を呼び出して Out of Browser な Silverlight 4 アプリにしゃべらせたりしてるし。
# Sapi.SpVoice はインプロセスな COM でした。
おまけ
Silverlight 4 で dynamic 使うときは Microsoft.CSharp.dll を参照しないといけないのか。
http://writeablebitmapex.codeplex.com/
WriteableBitmap に便利なメソッドを追加する WriteableBitmapEx が CodePlex にて公開されています。
Silverlight 3 では WriteableBitmap クラスを使ってイメージを描くことができるようになりました。
こいつには、UIElement を Render するという方法と、イメージのバイト配列にアクセスして各ピクセルの色をいじるという方法で絵を描けます。
けど、あるのはそれだけなので、線分ひとつ描くのにも、System.Windows.Shapes.Line を生成してそいつを Render するか、自分で DDA とかを使った DrawLine のようなメソッドを用意するかしないといけないんですよね。
というわけで、DrawLine などを一通り用意したのがこの WriteableBitmapEx です。
今のところ用意されているのは、
と言ったところです。
すべて拡張メソッドとして実装されてますのでかなり自然な感じで使うことができます。
ソースを見ればすぐにわかりますが、「内部で UIElement を作って、、、」 なんていう方法ではもちろん無く、DDA などのアルゴリズムを使ってピクセル単位で描画しています。
トップページ の “Performance!” のところに 「WriteableBitmapEx のメソッドは Silverlight の Shape よりずっと速い。たとえば、WriteableBitmapEx の DrawLine は System.Windows.Shapes.Line 要素を使うより 20〜30倍速い。だから、もし多数の図形を描く必要があり、アンチエイリアスや Silverlight シェープのプロパティなどが必要ないのであれば WriteableBitmapEx のメソッドを使うのがいいだろう」 といったことが書いてあります。
なお、Downloads のところにあるのはバイナリだけでした。
Source Code の方からソースをダウンロードすればサンプルなども含まれています。
ドキュメントが見当たりませんが、まぁ、ソースを見ればすぐにわかるでしょう。
PDC の Scott Guthrie 氏のキーノートスピーチでも 「Silverlight 4 と .NET Framework 4 のアセンブリには互換性がある」 と言ったことがちらっと触れられてましたが、それの詳細が CLR Team Blog にありました。
Sharing Silverlight Assemblies with .NET Apps
Silverlight 4 用にコンパイルしたアセンブリと .NET Framework 4 用にコンパイルしたアセンブリには互換性があるようになっているそうです。
ただ、そうは言っても、たとえば .NET Framework 4 にしかないクラスを呼び出しているアセンブリを Silverlight 4 で動かすことは当然ながらできません。(もちろんその反対も)
この点については、Silverlight 4 の
のクラスを使っている限りは .NET Framework 4 でも問題なく動くようです。
.NET Framework 4 の方が機能が多いため、.NET Framework 4 のこれらのアセンブリのみを使用しているアセンブリが Silverlight 4 で動かせるとは限らないようですので注意。
なので、Silverlight 4 と .NET Framework 4 の両方で使えるようにしたい場合は Silverlight 4 のプロジェクトとして作った方がいいようです。
これと関連して、
Silverlight 3 & 4 Library Sharing with .NET 4.0 Library or WPF
これを見ると、どうやら Silverlight 4、.NET Framework 4 からは Silverlight 3 のアセンブリも参照できるみたい。
ただ、
On Silverlight 4 Beta / Silverlight 3 backward compatibility
によると、
ということになるそうです。(まぁ、そりゃ当然という感じですが)
今週から下ハンを持つようにし始めた。
ふと 「今、履いてるタイヤって何 km 走ったんだ?」 と気になったのでまとめてみた。
今履いてるのは 2007/11/02 に購入、装着した Vittoria RUBINO PRO 2。(のはず)
というわけで、合計 6011.3km。
ありゃ、パンクもしないし何も問題ないから気にしてなかったけど、もう 6000km 超えてるのか。そろそろ換え時だな。
以下、自転車通勤の記録。
【“[自転車] 11/30〜12/6 の走行記録”の続きを読む】以下、自転車通勤の記録。
【“[自転車] 11/24〜11/29 の走行記録”の続きを読む】インターバルトレーニングをやってみた。
と言っても、まずは軽めに。
インターバルトレと言うより高回転トレになっちゃってるような気もするけど。
以下、自転車通勤の記録。
【“[自転車] 11/16〜11/20 の走行記録”の続きを読む】思いどおりの日本語入力 - Google 日本語入力
なんかすごい。
開発メンバーがハンパ無さそう。
というわけでさっそく入れてみた。
64bit はまだ未対応ということなので Virtual PC 上の XP 32bit へ。
いろいろおもしろいし、常用したいと思うくらいな感じ。
と思ったら大きな問題あり。
私はかな入力なんですが、「っ」 を入力しようと Shift+「つ」 を押すと 「Z」 になってしまい、しかも、それ以降は勝手に半角英数になってしまう。
他にも 「ぃ」 も同様。(「ぁ」 は入力できるのでかな入力時の 『Shift+英字キー』 がおかしいのか?)
あと、「−」 が Shift キーを押しながらじゃないと入れられない。なんで?
後者の方はまだしも、前者の方は 「これじゃあ、まったく使えない」 というレベル。
これって Virtual PC 上だからとかあるのかな?
ちょっとでもかな入力で試してみればすぐわかりそうなもんだし。うーむ。
追記
上記の現象は 「メモ帳」(notepad.exe) で発生しました。
けど、IE のテキストボックスやワードパッドでは正常に 「っ」 が入力できるようです。「−」 も Shift キーを押さなくても入力できます。
いくつかのアプリで試してみたら、どうも正常に入力できるものとできないものとマチマチです。
で、その後、Virtual PC を再起動したりとかいろいろしてたら再現しなくなりました。(いつも正常に入力できる)
何かしらの条件によって発生するのかもしれませんが、とりあえずかな入力でも大丈夫そうです。
(あとは 64bit 対応版さえ出てくれれば)
.NET Framework 4 向けの XAML Toolkit の CTP が公開されています。
http://code.msdn.microsoft.com/XAML/
これは PDC の 「XAML Futures in Microsoft .NET Framework, Microsoft Silverlight and Tools」 というセッションで紹介されたもののようで、XAML FxCop (XAML の静的解析) とか XamlDom (XAML の DOM に簡単アクセスするクラスたち。LINQ 構文も使える) とかが含まれているみたいです。
で、セッションのビデオをちょこっと見てみたんですが、XAML 自体も拡張されるんですね。
http://blogs.msdn.com/llobo/archive/tags/XAML+2009+features/default.aspx
にいろいろありました。
Generic の型引数を指定したり とか、インスタンス生成メソッドを指定したり引数を与えたり とか、おもしろいなぁ。
ただ、どうやら XAML 2009 は .NET Framework 4 向けで、Silverlight 4 では対応しないみたいです。
あと、XAML Localization に 「おおっ」 っときました。(ビデオの 44分くらいから)
まだ 「x:Uid 方式なんてどうかな?」 とどうしようか考えてるような段階みたいですが、これはがんばって欲しい。
ちなみに、Silverlight 3 だと
Silverlight and localizing string data
こんな感じです。Localization のための特別な仕組みがあるわけではなく、文字列リソースの resx を作って、そいつを XAML にリソースとして取り込んで、 Text="{Binding Source={StaticResource LocStrings}, Path=WelcomeMessage}" なんて感じでバインドするという、何とも泥臭い方法です。
Finally, the long wait is over. Rx is available on DevLabs! より。
Reactive Extensions for .NET が DevLabs にて公開されたそうです。
どうやら今まで Reactive Framework とか呼ばれていたものが Reactive Extensions for .NET となったようです。
リリースノートはこちら → Release Notes (Build 1.0.2052. 11/17/2009, First Release)
DevLabs から
がそれぞれダウンロードできます。
Reactive Extensions API in depth: intro
Channel 9 で動画による解説が始まるようですが、今の時点では intro しかないみたいです。
What's different about the 3 versions of Rx? Part 1: Silverlight 3
Channel 9 で .NET 3.5 版、.NET 4 版、Silverlight 3 版の違いを開設する動画が始まるようですが、今の時点では Silverlight 3 版とかないみたいです。
で、この Silverlight 3 版の内容は、「Observable.Start(...).Subscribe(...) は自動的に UI スレッドで動くよ」 といったことみたいです。
以下、自転車通勤の記録。
【“[自転車] 11/9〜11/15 の走行記録”の続きを読む】今まで意識して下半身のみ使うようにしてた。手はハンドルに添えるだけで上半身の力を使わないように。
今週からは逆にしっかりハンドルを持ってなるべく全身を使うように意識するようにした。
以下、自転車通勤の記録。
【“[自転車] 11/2〜11/8 の走行記録”の続きを読む】なるほどぉ、と思ったのでメモ
Silverlight out-of-browser and initParams より。
HTML 側から Silverlight アプリに初期値を渡したいときに使える initParams ですが、あれは HTML 上に書いてあるものですから out-of-browser にすると無くなっちゃうんですね。(そりゃそうですが)
そこで上記の記事では、Application.Current.IsRunningOutOfBrowser を参照して
としています。
なるほど、out-of-browser としてインストールするためには一度はブラウザで実行しているはずだからそのときに IsolatedStorage に保存しておけるってわけですね。
ただ、別のインストール手段が出てくるかもしれませんし、IsolatedStorage のファイルが無くなってる可能性も無いとは言えないので、ファイルが無かったときの考慮もちょっとはしておいた方がいいとは思いますが。(記事内のコードではそういった対処は何もしていないので、ファイルが無いと例外が出て死んじゃうと思う)
Silverlight がインストールされていない環境で Silverlight を使ったページを見ると、
こんな画像が表示されます。
これは 「方法: HTML を使用して Web ページに Silverlight を追加する」 や 「方法 : JavaScript を使用して Web ページに Silverlight を追加する」 にあるように <img src=”http://go.microsoft.com/fwlink/?LinkId=108181” .../> としたときに表示される画像です。
ちなみに、ブラウザの言語 (たぶん HTTP ヘッダの Accept-Language あたり) によって適した言語の画像が返ってくるようになってます。
たまたま見かけたんですが、
こんな画像を使ってる人もいました。
HTML を見てみると <img src=”http://go.microsoft.com/fwlink/?LinkId=161376” .../> とするとこの画像になるようです。(もちろん、こちらもブラウザの言語によって使われる言語が変わります)
これって他にもあるのかなぁ?
名前: 青柳 臣一
(アオヤギ シンイチ)
住所: 大阪, 日本
仕事: ソフトウエアの開発
自転車: ANCHOR RFX8