ページ

2009年3月17日火曜日

[WLW] Windows Live Writer って画像のファイル名を自動リネームしなくなった?

ブログ書くのに Windows Live Writer (WLW) を愛用してます。
WLW では画像もドラッグ&ドロップとかコピー&ペーストとかで簡単に貼りつけることができて、自動的にサーバにアップロードまでしてくれます。
で、このときの画像のファイル名ってどうなってましたっけ?

以前は ”WindowsLiveWriter_タイトルの一部_xxx.png” といった感じで勝手に長い名前にリネームされてたみたいです。
実際、以前のファイルを見るとそうなってます。
(タイトルが日本語だとイマイチ中途半端な名前になってる感じですけど)

けど、最近はリネームせずに元のファイル名のままアップロードしてるみたいです。
これって私だけですか?
特にリネームするかどうかの設定も無いみたいですし、いつからこうなったのかわかりません。

私が使っている FC2 では同じ名前でアップロードすると古いファイルを上書きしてしまいます。
なので、ファイル名が重複しないようにしてやらなくちゃいけません。
ローカル側にファイルがある場合はそのファイル名を気をつけてやればいいんですが、困ったのがクリップボードから直接ペーストする場合です。
この場合、常に image.png になってしまいファイル名を変更することができません。
うーむ。。。
この機能はかなり便利なだけにこれはちょっと困ります。

で、探したらありました。

Clipboard Image Plugin

これを使えばクリップボードから任意のファイル名を付けてペーストできます。
下の方の ”download” のリンクからダウンロードできます。
ただ、これ MSI なんですがそのままじゃ WLW に認識されませんでした。
なので、まずダウンロードした MSI を実行してセットアップ。
デフォルトだと 「C:\Program Files\ScottIsAFool\Clipboard Capture」 に ClipboardCapture.dll がコピーされるのでこれを 「C:\Program Files\Windows Live Writer\Plugins」 にコピー。
これで WLW を起動すれば 「挿入」 のところに 「Clipboard Image...」 が増えてるはず。
(Plugins にコピーしたら元のは用済みなのでプログラムの追加と削除からアンインストールしてしまって構いません)

使い方は簡単。
クリップボードに画像がある状態で 「Clipboard Image...」 プラグインを実行するだけ。
するとファイル名と画像形式を聞かれます。
(私の環境だとボタンがウインドウからはみ出ちゃってますが動作には問題なし)


2009年3月16日月曜日

[Excel] Excel VBA でアクションゲーム

「Excel VBA アクションゲーム作成入門」 という書籍が出たそうです。(発売日 2009/03/06)
http://www.impressjapan.jp/books/2686

↑にも貼られてる YouTube の動画に感動したのでここにも貼り。

いやぁ、まじで感動したw
この動画見て、思わず噴き出しちゃったよww
モード 3 はまだいいにしても、モード 4 とかモード X とか 「ちょっ、それって Excel?!」

以前 「[3DCG?] 革新的な 3D ゲームエンジン...ってバカだろw(もちろんいい意味で」 で Excel のオートシェープでポリゴン描画をしてるのに驚いたりしましたが、この本ではモード 2 なのか。この程度のコトは Excel 使いの人たちにとっては当たり前のことなのかな?w
ちなみに、そのときにちょこっと紹介したパッセルマンの作者さんが著者 (の一人) ですね。


[Silverlight] XNA 2D ゲームが Silverlight で動く?

XNA 2D games come to the browser via Silverlight

SilverSprite という Silverlight 2 用のクラスライブラリが紹介されています。
(ものは ”Releases” ではなく “Source Code” の方にあります)
これはコードの変更無しに XNA ゲームを Silverlight 2 で走らせることができるようにするものだそうです。
サポートしているのは SpriteBatch ベースのグラフィックです。(3D は非サポート)

私は XNA のことよくわかってませんし実際に試したわけじゃないですが、説明によると名前空間を Microsoft.Xna.Framework から SilverArcade.SilverSprite に書き変えたりといったほとんにわずかの修正で XNA 用に書いたソースを動かせるようになるみたいです。
http://www.silverarcade.com/ というサイトも準備中とのこと。


2009年3月14日土曜日

[IIS] IIS Smooth Streaming は Vista でも試せます

[Blender][IIS] IIS Smooth Streaming のデモにデブウサギ(Big Buck Bunny)が出演」 にエバンジェリストの大西さんがコメントをくれました。
Vista の IIS 7 でも IIS Smooth Streaming を試すことができるそうです。
せっかくなので頂いたコメントをそのままコピペしておきます。

Windows Vista上でのIISの構成は次を。
http://social.technet.microsoft.com/Forums/ja-JP/iis7ja/thread/bf87da4b-2e84-475a-8984-fc1e1e2e215d

IIS 7が動作した後の手順

  1. http://www.iis.net/extensions/SmoothStreaming へ行き、プラグインのインストーラーをダウンロード(x86またはx64版)する
  2. 利用しているIIS 7の環境で、ダウンロードしたプラグインのインストーラーを起動し、インストールする
  3. http://go.microsoft.com/?linkid=9652408 へ行き、サンプルのダウンロード(Big_Buck_Bunny_Sample-IIS_Smooth_Streaming_Beta.exe)を行う
  4. 適当なフォルダを作る (例: c:demobbb )
  5. Big_Buck_Bunny_Sample-IIS_Smooth_Streaming_Beta.exe を実行し、展開先として、4で作ったフォルダ名を指定する
  6. IIS 7の管理コンソールから、bbbという仮想ディレクトリを作成し、物理パスとして、4のフォルダを指定する
  7. Silverlight 2が入っているブラウザ環境から、6の仮想ディレクトリへアクセスする (例:ホスト名が foo.netとして、http://foo.net/bbb/ )


2009年3月12日木曜日

[Blender][IIS] IIS Smooth Streaming のデモにデブウサギ(Big Buck Bunny)が出演

Silverlight Streaming と IIS7 のイイ関係を確認する

マイクロソフトのエバンジェリストの高橋忍さんのブログを見ていたら、見なれたデブウサギが。。。
Blender を使ってる人なら誰でも知ってるであろう Big Buck Bunny が IIS Smooth Streaming のデモ用コンテンツとして使われてるそうです。

IIS Smooth Streaming っていうのは IIS 7 用の技術で、HD 品質レベルのストリーミングを行うためのものです。
クライアントは今のところ Silverlight 2 で実装されているようです。
仕組みが 「IIS Media Pack1 (2) ~ Smooth Streaming」 でちょろっと紹介されてました。
どうやら

  • サーバ側ではあらかじめ複数のビットレートで動画を用意しておく。
  • 2秒間隔くらいのブツ切れでクライアント側から動画をリクエスト。
  • そのときネットワーク帯域にあわせてビットレートをうまい具合に選択しながらリクエストする。
  • もちろん、クライアント側では切れ目がわからないようにうまいこと繋げて再生する。
  • サーバ-クライアント間の通信はすべて HTTP。

なんて感じみたいです。
何とも力技という感じはしますが、結局のところこういうオーソドックスな方法がうまくいくってことなんでしょうね。

ところで、上記の IIS Smooth Streaming のデモ用コンテンツですが、私は見てません。
どうやら IIS 7 とかを用意して Smooth Streaming (beta)を試せる環境を作らなくちゃいけないみたいなので。
あっ、Big Buck Bunny 自体は http://www.bigbuckbunny.org/index.php/download/ で落とせます。
オープンソースの統合 3DCG ソフトである Blender で作られたムービーです。
このムービーを作るのに使われた .blend データもすべて落とせます。
ムービーもデータも Creative Commons です。


[Silverlight] Silverlight 3.0 for Great Business Apps

Brad Abrams - Silverlight 3.0 for Great Business Apps

MIX09 で予定されている Silverlight 3 のセッションの内容を一部紹介したムービーみたいです。
途中でデモが出てくるんですが、

  • Silverlight コントロール内でページ遷移して、ブラウザの戻るボタンをクリックすると Silverlight コントロール内でページを戻るようにできる。
    今までだとブラウザは Silverlight 内のことなんて関知してなかったので戻るボタンすると開いているページそのものが戻っちゃってたんですよね。ゲームみたいなものならいいんですが、Silverlight コントロール内でページ遷移があるようなものを作ると、つい戻るボタン押しちゃって 「あっ、しまった。入力中のものが消えちゃったよ orz」 なんてことになったり。
  • ディープリンク。Silverlight コントロール内の各ページにも URL があり直接そこに飛んできたりブックマークしたりできる。
  • 例外がちゃんと表示される。
    Visual Studio 上のデバッガで動かしてるときはちゃんと例外が表示されますが、普通に IE で表示してるときに例外が出ると、確か、「JavaScript でエラーが出た」 みたいになっちゃってたように思います。(Silverlight コントロール内の例外がブラウザまで伝わってこない) これがちゃんと表示されるようになるみたい。

なんて感じのものが紹介されています。
後半は新しいデータグリッドみたいです。Silverlight Toolkit に追加されるものなのかな?

MIX09 は 2009/03/18~20 ですからあと一週間ですが、Silverlight 3 beta とか出てくるのかな?


[Silverlight] Silverlight Game Programming

Silverlight Tip of the Day #98 ? Silverlight 3 Game Programming Book

Silverlight Tip of the Day シリーズを書いてくださっている Mike Snow さんが Silverlight 本(英語)を出されるそうです。
Amazon によると 2009/06/16 発売予定。

「Silverlight 3 を対象に Silverlight でマルチプレーヤーオンライン RPG の作り方を紹介。Silverlight で作られたマップエディタも含まれている」 という本だそうです。
これは楽しみ。
洋書なんてほとんど買ったこと無いですが、思わず amazon.co.jp で予約しちゃいました。

それにしても、Silverlight 3 が対象ってのもびっくりですが、題材がマルチプレーヤーオンライン RPG ってのもすごい。
画面の表示は XAML でかなりのことができるけど、通信関係は非同期になるし、そもそも Silverlight では P2P ってわけにいかないのでサーバも必要になってくるし、説明しなくちゃいけないことが山ほどありそう。
ほんとに一冊で説明できるのか心配になってくるなw


2009年3月11日水曜日

[Silverlight] Silverlight Spy

Windows ネイティブアプリには Spy++、WPF には Snoop なんてツールがありますが、これの Silverlight 版ともいえるのが Silverlight Spy です。

Silverlight Spy は結構前、Silverlight 1.0 のころからリリースされてたと思うので、ちょっと今さらな紹介なんですが(^^;

今リリースされている Silverlight Spy はバージョン 2 になっていて、Silverlight 2 専用になっています。
Silverlight Spy 2 自体は .NET Framework 3.5 で作られているそうです。
配布は ClickOnce なので Silverlight Spy の “Launch Silverlight Spy 2 now!” のリンクをクリックすれば自動的にインストールされます。

画面は↓みたいな感じです。

image

上の画像は Microsoft Research TechFesthttp://www.microsoft.com/presspass/events/msrtechfest/poster.aspx を開いてみたところです。
左下でアウトプット、イベント、ネットワーク、CPU・メモリ使用量なんかをモニタできます。
右側で XAP、アイソレーテッド・ストレージ、コントロールのスタイル、UI Automation、User Interface の中身が見れます。
User Interface が Visual Tree をたどったものだと思います。
UI Automation はアクセシビリティとかのために GUI 要素を外部から参照・操作可能にするってやつですね。私は全然わかってないですが(^^;
UI Automaion の技術的な解説は ユーザー補助 とかなのかな?(これは WPF ですが、UI Automation 自体は細かい技術には非依存のはず)
一度ちゃんと勉強してみないとなぁ。


2009年3月2日月曜日

[.NET] TechDays 2009 Japan 全セッションストリーミング開始

http://www.microsoft.com/japan/powerpro/techdays/

2009/1/27、28 に開催された TechDays 2009 Japan の全セッションの内容がストリーミングで見れるそうです。

私は参加しなかったのでこれはうれしいな。
問題は見る時間があるかどうかだなw


2009年2月4日水曜日

[net] 経済産業省の CHECK PC! キャンペーン、、、始りすぎw

ニコマススレで知ったんですが。。。

経済産業省がコンピュータウイルスの感染、不正アクセス、フィッシング詐欺など情報セキュリティ対策に関する啓発活動を実施するそうです。
http://www.checkpc.go.jp/
(音出ます)

ちょっ、デビュー曲 PV ってw
曲のタイトルは 「セキュリティ CHECK! をしなかったら、なんて考えただけで青ざめちゃう。」 なのか?
おぉ、ポスター もあるのか。

しかし、普通にメイキングムービーが楽しみだな。


2009年1月23日金曜日

[CSS] overflow:auto で横スクロールバーがあるときに高さが足りなくなるのを防ぐ

引用だとかソースコードだとかの部分を枠で囲むために

<style type="text/css">
.box
{
width:400px;
border:1px black solid;
padding:8px;
overflow-x:auto;
overflow-y:hidden;
}
.box pre
{
margin:0px;
}
</style>

こんな CSS にしてるとします。
これで

<div class="box"><pre>...(省略)...</pre></div>

とか書けば、↓こんな感じに表示されます。

image

ところが、中身の部分が横に長いと↓みたいになっちゃいます。

image

ソースコードなんかの場合、中途半端に折り返すよりは横スクロールバーが出た方がいいかと思い、overflow-x:auto と overflow-y:hidden を使って 「縦スクロールバーは出さずに中身が収まる高さにする。横方向は収まらない場合は横スクロールを出す」 としてるわけですが、スクロールバー分だけ高さを広げるってことをしてくれないため 2行目がほとんど見えなくなっちゃってます。
IE7 ではこうなっちゃいました。
IE6 も確かこうなったような気がします。(ちゃんとは確認してないです)
Firefox はスクロールバーの高さ分だけ広がってくれるためこんなことにはなりません。
それ以外のブラウザは未確認ですが、どうやらこうなるのは IE だけみたいです。

これはあまりに見た目が悪いので何とかしたいところです。
で、以下のようにすれば一応対策できます。
検索しててどこかで見つけたんですが、どこで見つけたかは忘れちゃいました。

<style type="text/css">
.box
{
width:400px;
border:1px black solid;
padding:8px;
overflow-x:auto;
overflow-y:hidden;
}
.box pre
{
margin:0px;
}
</style>
<!--[if IE]>
<style type="text/css">
.box
{
    padding-bottom:1.2em;
}
</style>
<![endif]-->

前半部分は変わってません。
後半の <!-- [if IE]> から下の部分を追加しただけです。
この書き方のコメントを使うと IE の場合だけ内容が評価され、それ以外のブラウザの場合は単なるコメントとみなされます。
ですので、IE の場合だけ箱の下側が 1.2行分広くなるので↓のように 2行目が見えなくなっちゃうというのを防ぐことができます。

image

っていうか、これって横スクロールバーがあろうがなかろうが下側に 1.2行分の隙間を入れてるだけですけどね。
なので、横スクロールバーが無い時も 1.2行分広くなっちゃってます。
まぁ、隠れちゃう寄りはましってことでこういう風に対策するようにしました。


2009年1月22日木曜日

[Win] Microsoft Web Platform Installer 1.0 リリース

Microsoft Web Platform Installer 1.0 Released

なんか http://www.microsoft.com/web/ ってとこが紹介されてます。
へぇ、こんなのあったんだ。
なになに、、、

Microsoft Web Platform Installer は、マイクロソフト Web プラットホームの最新のコンポーネントを簡単にダウンロードしてインストールできるフリーのツール。マイクロソフト Web プラットホームには、IIS 6.0 と 7.0、SQL Server 2008 Express、.NET Framework 3.5 SP1、Visual Web Developer 2008 Express SP1 が含まれる。Microsoft Web Platform Installer は、マイクロソフト Web プラットホーム上の Web ソリューションをビルドしたり実行したりするのに必要なソフトウエアを入手できるようにするシングル・インストーラ。対象プラットホームは Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008。
(略)
IIS や IIS Extensions や .NET Framework や Visual Web Developer 2008 や SQL Server 2008 や ASP.NET MVC や Silverlight Tools なんかをどこでダウンロードしたらいいんだ?なんて話をするときには、Microsoft Web Platform Installer へのリンクを提示するのをお勧めするよ。

へぇ、どうやら、Web 系の開発で必要となりそうなもので、無料のものをいっさいがっさい集めたインストーラなのか。
(もちろん、何をインストールするかは選択できます。常にまとめて全部入れるってわけじゃないです)

さらに Microsoft Web Application Installer というのもあるそうで、こちらは

Microsoft Web Application Installer Beta は、Windows Server 用のフリーで入手できる Web アプリケーションをダウンロードして実行するのを手助けする。このインストーラは、Grahhiti、DotNetNuke、WordPress、Drupal、OSCommerce、その他いろいろといったポピュラーな ASP.NET と PHP の Web アプリのサポートを提供する。単に何回かクリックするだけで、このインストーラは事前に必要なものが足りているかあなたのマシンをチェックし、それらのアプリをそれぞれのコミュニティの場所からダウンロードし、基本的な設定を実行し、そして、それらをあなたのコンピュータにインストールする。

なんという、至れり尽くせり (^^
ASP.NET アプリだけじゃなく、PHP アプリまで対象にしてるのか。

この Microsoft Web Platform Installer がどんな感じなのかが、「Walkthrough of using the Web Platform Installer」 でたくさんのスクリーンショットと共に紹介されています。

ところで、これって英語版のみサポートなのかな?
日本語版があるものは日本語版で、無いものは英語版で、という感じで入れてもらえるといいと思うんだけど。
(インストーラを動かしてみたわけではないので、実際にどうなるかは私はわかりません)


[NET] 今のインターネットってこんなにすごいのか

大統領就任演説の生ストリーミング関連の話。

TechCrunch 「ライブストリーミングの限界が露呈した日

うっひゃあ、CNN が同時ストリーミングのピークが 130万件、Akamai が 700万件以上ってものすごいな。
記事自体はストリーミングが切れちゃったり、繋がらなかったりで、まだまだテレビの代わりの放送媒体としては使えない、という内容ですが、なんというか、もう、十分すごいと思えちゃうな。

INTERNET Watch 「オバマ大統領就任式の中継でアカマイのトラフィックが2Tbps超え

2Tbps って。。。
「普段は多くても 1Tbps」 っていうのもびっくりだな。
ネットワークもそんな単位で話をするようになってたのか。。。

インターネットマガジンのプロバイダ接続マップを見ながら 「おぉ、このプロバイダは上流と 1.5M で繋がってるぞ」 なんて話をしてたことがなつかしいなぁw


2009年1月21日水曜日

[.NET] au ケータイで 「.NET」 が使える法人向けサービス

auケータイで「.NET」が使える法人向けサービス
KDDI、法人向け.NET Framework互換のプラットフォーム「.net by au」提供開始

BREW アプリとして .NET Framework を実装したのか。
.NET Compact Framework でなく .NET Framework のサブセットみたいな書き方だけど、どの程度のものが載っているんだろう?
法人向けの一部の機種のみみたいだし、まずは業務アプリからってことだろうけど、どんなことに使えるかな?

こういうのって個人で自由に作れたりするとおもしろいことになったりするんだろうけどなぁ。
iPhone の Apps なんてずいぶん盛り上がってるみたいだし。
けど、BREW では、個人が自由に作ったアプリ (いわゆる勝手アプリ) の配布・実行はほとんど無理らしいし、同じようにこれも個人向けに解放するつもりはないんだろうなぁ。
.NET Framework なんだから、きちんと実装すればセキュアに保つことは十分できるはずなんだけど。


[Silverlight] Silverlight を活用した HD 動画ストリーミング 「smoothHD」

アカマイ、Silverlightを活用したHD動画ストリーミング「smoothHD」を提供開始
アカマイ、Silverlightベースの映像再生プレイヤー用SDKの提供を開始

ほぅ。
smoothHD で実際の動画を見れます。

確かに結構きれい。
フルスクリーンにしても十分見れる。
CPU 負荷はさすがにちょっと高め。
チャンネルを切り替えた時のレスポンスもかなりいい。
スクリーン右下にマウスを置くと情報が表示されるけど、それによると 848×480 でビットレート 1.7Mbps とある。自分の環境だと Available bandwidth: 7.3Mbps とあるから帯域的にはまだまだ余裕あるのか。
あとは視聴者数が増えた時にどうなるかだろうな。

Silverlight 3 では H.264/AAC のサポートとかハードウエアアクセラレータのサポートとか言われてるから、そうなるとさらに良くなるのかな?

ところで、チャンネルの中に Elephants Dream が入ってますね。

Elephants_Dream

これはオープンソースでフリーソフトな 3DCG 統合ソフト Blender で作られたムービーです。
このムービーを作るのに使われたデータなんかも入手することができます。
このムービーは 2006年くらいにリリースされたもので、その後、2008年には Big Buck BUNNY がリリースされています。


[Silverlight] CNN で Photosynth が使われている

CNN 「The 44th President Inauguration

米 CNN の第44代大統領就任式の写真の紹介に Photosynth が使われています。
Photosynth は複数の写真を組み合わせてそれらしく見せようという技術です。
写真自体はごく普通のものです。
撮られた時間も撮られた向きも違う写真たちを立体的に配置して、、、うーん、なんて言ったらいいんだろ?立体アルバム?まぁ、CNN とかを見て適当にクリックしてもらえばわかると思います (^^
Photosynth を見るためにはプラグインを入れなくてはいけませんでしたが、最近は Silverlight 版のクライアントが使われるようになってきたようです。
CNN も Silverlight 版が使われていますね。

ところで、CNN のところには

Submit your pictures to themoment@cnn.com to have them added to the Photosynth

と書かれています。
就任式の写真を CNN にメールすると Photosynth に追加してくれるみたいですね。


2009年1月16日金曜日

[Silverlight] Silverlight 3

3月 18日~20日にロサンジェルスで開催される MIX09 には早くも Silverlight 3 のセッションがあるそうです。
Silverlight 3 Sessions at MIX09

Silverlight 3 は昨年 11月の ScottGu’s Blog 「Update on Silverlight 2 - and a glimpse of Silverlight 3」 (日本語訳が @IT 「Silverlight 2の更新 - そしてSilverlight 3初お目見え」 にあります) で話が出てきていますが、もう実際にセッションとして登場してくるんですね。

ScottGu’s Blog にも 「3D サポートや GPU ハードウエアアクセラレーションなどのグラフィック機能の改善」 というのがあげられていますが、MIX09 のセッションでも 「Deep Dive into Silverlight Graphics」 なんてのがあるようです。
このセッションは 「Silverlight 3 レンダリング・パイプラインについてと、新たに追加された Silverlight graphics API でアプリケーションのエクスペリエンスを向上させる方法」 だそうです。

興味深いなぁ。
Silverlight で何かを描画しようとすると、結局のところは XAML をごにょごにょすることになるわけです。
Silverlight には System.Drawing とか無いし。(無いよね?)
けど、「Silverlight 3 レンダリング・パイプライン」 とか 「Silverlight graphics API」 なんて聞くと、ひょっとして XAML 使わなくても描画することができるようになるのかな?という感じもしなくもないですね。
いっそのこと、OpenGL の Managed ラッパでも載せてくれるとおもしろいかもw もちろん、GLSL もサポートでw


2009年1月14日水曜日

[Win7] Direct2D と DirectWrite

あちこちで 「Windows7 beta を入れてみた」 なんてネタで盛り上がってるようですが、私はまったくついて行けてません(^^;
が、ふと、あるブログ記事が目に留まりました。

SDK Documentation for Direct2D and DirectWrite now live on MSDN

そういや、なんか DirectX に増えるとかなんとか聞いた覚えがあるけど、こいつらかぁ。

リファレンス Direct2D によると

Direct2D は、2-D ジオメトリやビットマップ、テキストをハイパフォーマンス、ハイクオリティにレンダリングするために提供されるハードウエア・アクセラレータが効く、immediate-mode な (直接的な?) 2-D グラフィック API。Direct2D API は GDI、GDI+、Direct3D と協調して動くようにデザインされている。

だそうです。
もちろん、DirectX 族なのでバリバリの COM です。
CoInitialize したあとに、ID2D1Factory を CreateFactory してやって、ID2D1HwndRenderTarget をこさえてやって、、、みたいなノリです。
機能の方は、もっとハードよりな基本的なものだけかと思ったら、グラデーションブラシだとか 3×2 行列の SetTransform だとかそれなりの機能はあるみたいです。

おもしろいなぁ。
GDI+ とか Vista とかで 「もう、2D 描画は CPU で適当にやっとけばいいんじゃね?なんだったら Direct3D を 2D 描画目的に使ってもいいし」 という方向に向かったと思ってたのに、また 「ハードウエア・アクセラレータを使って 2D 描画を高速化!」 なんてところに帰ってきたのか。
と思ったら、Overview なんかに書いてありました。
どうやら Direct2D の中身は Direct3D10 らしい。
ということは、2D 描画だけをしたいときに Direct3D はいろいろと煩雑だからそういったところを隠ぺいして使いやすくしたのが Direct2D ってことなのかな?

もう 1つの DirectWrite。
こちらもリファレンス DirectWrite によると、

今日のアプリケーションでは、ハイクオリティなテキストレンダリング、レゾルーション非依存のアウトラインフォント、ユニコードテキストとレイアウトのサポートがサポートされなくてはいけない。DirectWrite はこれらの機能を提供する。(以下、いろいろと続く)

だそうです。
GDI や Direct2D、その他のレンダリングテクノロジを使ってハイクオリティな ClearType テキストをレンダリングできるともあります。
フォント・ラスタライザとかフォントの描画エンジンそのものが DirectWrite ってことなのかな?
想像だけど、今までのフォント描画エンジンは GDI の一機能というイメージだったけど、それだと Direct3D や Direct2D なんかの非 GDI でのフォント描画はどうするんだっていうことになるので、フォント描画エンジンをレンダリングテクノロジ非依存になるように切りだしたってこと?


2009年1月7日水曜日

[IE] navigator.appVersion がバグる

http://961pro.jp/ を見に行ったときに気付きましたw
この間まで見れていたはずなのに

このページを正しくご覧頂くにはFLASH PLAYERのバージョン8以上が必要です。

なんて表示されて Flash 部分がまったく表示されなくなっちゃいました。
もちろん、Flash は 10.0.12.36 が入っています (たぶん最新バージョン)。
ちなみに、使っている IE は 7.0.5730.13 です。

なぜこうなるのかと JavaScript のソースをのぞいてみました。

var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;

というコードで IE かどうか? Windows かどうか?を判定しています。
そこで navigator.appVersion を表示させてみました。結果は↓

4.0 (compatible; MSIE 6.0)

あれれ?
試しに navigator.userAgent を表示させてみると、

Mozilla/4.0 (compatible; MSIE 6.0)

むむぅ。
なぜこんなに短いんだ?
JavaScript でなく、サーバ側の HTTP_USER_AGENT を表示させてみると、

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; MS-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)

こんなに長いのに、JavaScript の navigator.appVersion ではばっさり削られちゃってます。

うーむ、、、なんでこんなことになるんだろう。。。
HTTP_USER_AGENT の最後にくっついている 「OfficeLiveConnector.1.3; OfficeLivePatch.0.0」 はこの間 http://download.live.com/ で Windows Live Writer Beta とか Messenger Beta とかといっしょに入れた Outlook Connector が追加したんだろうなぁ、、、なんて考えていて、なにげに見ると 「OfficeLiveConnector.1.3; OfficeLivePatch.0.0」 が無いと 251文字、あると 297文字。
ちょっwwwwおまwwwwwまさかwwwww

このずらずら続いている部分はレジストリの Post Platform から取得されています。
これについてはちゃんと MSDN にも解説があります。
ユーザー エージェント文字列を理解する
そこで、レジストリエディタで 「OfficeLiveConnector.1.3」 と 「 OfficeLivePatch.0.0」 を削除して IE を再起動。
これで navigator.appVersion を表示してみると

4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; MS-RTC LM 8; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

となりました。

なんてこったい。
User Agent が長すぎると navigator.appVersion や navigator.userAgent がバグっちゃうのね。
で、その境界は 256文字くらいと予想 (検証してないけど、たぶんそうでしょw)。
つか、これってしゃれにならないんでは?
普通の人だとここまで長くならないかもしれないけど、開発者だと .NET Framework を一通り + Office 2007 + Windows Live Beta を一通りで上記の長さになると思うんだけど。

つか、この間 http://www.vimeo.com/ を見ようとしたら同じように Flash のバージョンが古いと言われたんだけど、これが理由だったのか。


2008年12月19日金曜日

[Live] Windows Live Video Messages

新年の挨拶を動画で簡単に送れる「Windows Live Video Messages」が登場

ビデオ・メッセージを送れるそうです。
で、その再生などに Silverlight 2 が使われています。

すべてを把握してるわけじゃないんで間違ってるかもしれませんが、Live の下で Silverlight 2 が使われたのってひょっとして初めてかも?
http://promotion.live.jp/about/ とか http://promotion.live.jp/live/ とか Live の下って Flash ばっかりなんだもんなぁww


2008年12月5日金曜日

[Silverlight] オフラインで Silverlight Tools をインストールする

Silverlight 2 の開発に必要な Silverlight Tools をインストールすると、必ず最新バージョンがあるかどうかチェックしにいくそうです。
そのため、インターネットに繋がっていない環境や、認証が必要なプロキシが存在している場合などにインストールが進まなくなってしまうそうです。
そんな場合は以下のような手順でインストールできるそうです。

  1. 前のバージョンの Silverlight Tools、SDK、Blend などが入っている場合はアンインストールする。
  2. Silverlight Developer runtime をインストールする (http://www.microsoft.com/silverlight/resources/tools.aspx にある)
  3. Silverlight Tools をダウンロードする (http://www.microsoft.com:80/downloads/details.aspx?FamilyID=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&DisplayLang=ja にある)
  4. Silverlight_Tools.exe を /x オプションをつけて実行。たとえば 「Silverlight_Tools.exe /x:c:\SLTools」 として実行すると中身が c:\SLTools フォルダに解凍される。
  5. 解凍されたファイルを以下の手順でインストールする。
  6. まず Visual Studio のホットフィックスをインストールする (Visual Studio の場合は VS90SP1-KB956453-jpn.msp、Visual Web Developer の場合は  VS90SP1-KB956485-jpn.msp をダブルクリック)
  7. Silverlight_sdk.msi をダブルクリックして Silverlight SDK をインストール。
  8. Silverlight Tools をインストールする (Visual Studio の場合は VS_SilverlightTools_Setup.exe、Visual Web Developer の場合は  VWDX_SilverlightTools_Setup.exe をダブルクリック)

この方法は、英文ですが Silverlight Tools Installation Speed bumps? で紹介されていました。


2008年12月4日木曜日

[勉強会] VSUG Day 2008 Winter がもうすぐ開催

VSUG Day 2008 Winter

vsugday2008winter_banner

もうすぐ VSUG Day 2008 Winter 大阪です。(もうすぐっつうか、もう今週末ですけどw)
そして、東京が来週開催。
どうやらどちらもまだ参加申し込みできるようなので、行ってみようと思ってる方はお早くご登録を!
もちろん無料です (VSUG 会員登録が必要ですが、もちろんこれも無料)

今回もいろんなジャンルのセッションがあって盛りだくさんです。
どれもおもしろそうですけど、福井さんの 「PDC 2008 レポート」 なんていうのはコミュニティ主催の勉強会ならではって感じでおもしろそうですね。


2008年10月8日水曜日

[MVP] Microsoft MVP を (再) 受賞しました

Microsoft MVP を受賞しました。
今まで、

  • 2002、2003年 10月は Visual Developer - .NET
  • 2004、2005、2006、2007年 10月は Visual Developer - Visual C#
    .NET というカテゴリがなくなって、C# などに細分化された)
    (さらに今は Development Tools - Visual C# というカテゴリ名になってます)

と受賞しました。

んで、今回のカテゴリは Development Platforms - ASP/ASP.NET です。
私を知ってる人は 「え?ASP.NET?何で?」 と思うんじゃないでしょうか?
私も思いました(^^
マイクロソフトさんから連絡があったときに 「ASP.NET?何かの間違いじゃないですか?」 と聞き返しちゃいました。
その答えは、、、

Silverlight に関する活動を評価した。
開発チーム的に言うと Silverlight は ASP.NET と同じ。
簡単に言っちゃうと ScottGu チームってこと。
なので、MVP のカテゴリとしては ASP/ASP.NET ということになる。

ってことでした。
まぁ、うすうすそうじゃないかと思ってはいたんですが、やっぱりそうでした。
今のところ 「Silverlight」 っていうカテゴリはないので仕方ないですね。
Silverlight 2 がリリースされて知名度が上がれば Silverlight っていうカテゴリが増やされたりするのかな?


2008年8月29日金曜日

[TechEd] TechEd 2008 Yokohama ― 4日目

■ MVP 向けスペシャルセッション
内容はないしょ。

■ PeerTalk Lunch
何人かの方々と Silverlight やら .NET やらの話ができました。
楽しかった。

■ T2-313 Silverlight 2 から Web サービスや多様なデータ ストアを利用する - Working with Data and Web Services in Silverlight 2
あまり目新しいことはなかった。

■ T2-305 Windows フォーム開発者に捧ぐ! WPF への移行 ~ ビジネス アプリケーションにもユーザー エクスペリエンスを ~
「WPF はビジネスアプリにも *ものすごく* 有用」 ということを前面に出したセッションでとてもよかった。
もっともっと WPF が普及するといいな。

■ T2-402 ASP.NET MVC Framework 概説 ~ .NET Web アプリケーション開発のパラレル ワールド!? ~
ASP.NET MVC はなんかいろいろとおもしろいなぁ。
匿名クラスを多用してるのは、名前付きパラメータの変わりなのかな?


[TechEd] TechEd 2008 Yokohama ― 3日目

■ T5-302 SQL Server 2008 実践! パフォーマンス チューニング
DBA だけでなく、開発時にも役に立ちそう。

■ TH-304 開発者なら知っておきたい XAML の書き方
基本的に知ってることではあったけど、UIElementCollection と MarkupExtension のところはあまりちゃんと考えたこと無かったな。「あ~なるほど」 という感じ。

■ T2-304 一歩進んだ Visual C# 活用術
ラムダ式と式ツリーのところなんかは思った以上に深いところまで話してた。
やっぱり、これくらいのところまではみんな理解してほしいところだけど、どうなんだろ。

■ T2-316 .NET における軽量言語
IronPython、IronRuby、PowerShell の話かと思いきや、ほとんど DLR の話。
やっぱりなww
DLR の実装自体は、まだまだ変わりそうな気はするけどなかなかおもしろそう。

■ T2-301 LINQ & Entity Framework ~ プレミアム デモンストレーション ~
LINQ プロバイダを実装してみました、なんてデモもあってなかなかおもしろかった。
ADO.NET Entity Framework がちゃんと動いてるのを見たのは初めてなような気がするしw

■ 晩御飯
MVP な人たち何人かと中華料理。
辛かったけどおいしかった。