メイン

2009年06月29日

日本人デヴェロッパには痛 IDEが必要だ

いよいよ製作解説が始まるようです。

痛 IDE の作り方(1) - まめしば雑記

日本でITエンジニアを一定数以上望む方向に駆動しようと思う場合、戦略的に「萌え」を使う事は重要です。彼らの「萌え」を希求し、「萌え」を得るための情熱、行動力を無視することはできません。彼らは「萌え」のためであれば、寝食を忘れ、たとえ火の中水の中。。。

したがって、VS10普及のために「萌え」拡張でデヴェロッパを釣っていくことは容易です。彼らは、

そんな餌で俺様が釣られクマ――

とかいいながら、立派に釣られてくれます。

え?あ、はい。もちろん自分のことを話してるに決まっているじゃないですか。

2009年06月28日

再び水冷化の流れか?

スイスで導入されるIBMのスパコンは水冷となるらしい。

エコなスパコン『Aquasar』:水冷式で消費電力を4割削減 | WIRED VISION

かつてというか90年代の初め頃、大型メインフレームやスーパーコンピューターは素子レベルでのスイッチング時間をできるだけ早くするために消費電流の小さいCOMSではなく、電気を食い、それ故発熱の多いバイポーラトランジスタのLSIをプロセッサに使用していた。このため、経済的なところを含めて通常の空冷装置(ようはクーラー)ではもはや廃熱が追いつかなくなってしまったので、水冷化したことがある。ただこれは計算機を動かすための補機が多くなり、工事費用も多くなたため、設備投資も過大になってしまい評判がよくなかった。それ故、IBMがSystem 390からプロセッサをCOMS化し、空冷装置に再び戻すと言うことがあり、それが現在まで続いている。

しかしながら、プロセッサのクロックがあがり、トランジスタが増えてくるともはやCOMSでも空冷では追いつかなくなってきており、水冷(液冷)にまた移行しつつあるような気がするし、最近流行のコンテナデータセンターも、素子を直接水冷することはないもののコンテナ自体の熱交換には水を使用している事もあるし、熱交換の媒体として確実に水が見直されているように思う。

ただそうやって水を消費していくことがエコかどうかは知らない。単純にCO2を出さなければ何をやってもエコロジーなんだろうか。(今回のチューリッヒではちゃんと別の用途に熱交換するようだけど)

2009年06月23日

Microsoft ADO.NET Entity Framework Feature CTP 1

そゆもの。

Download details: Microsoft ADO.NET Entity Framework Feature CTP 1

ADO.NET team blog : Announcing: Entity Framework Feature CTP 1

2009年06月20日

PDC09

日本ではTechEdも終わってませんが、そろそろPDCの話題が出てきました。そういえば2年連続でPDCをやるのは初めてじゃないかと思います。

Mike Swanson's Blog : PDC09

2009年06月19日

Microsoft Robotics Developer Studio 2008 R2リリース

おめでたい。

Microsoft Robotics Developer Studio

http://channel9.msdn.com/posts/LarryLarsen/Robotics-Developer-Studio-2008-R2-Available/

MSDNサブスクライバダウンロードにも登場しています。

2009年06月15日

荒井省三のBlog : DLR の COM バインダーに対する考察を読んで

荒井省三のBlog : DLR の COM バインダーに対する考察

現状のDLRのCOMバインダではCOMのインスタンス化は動的な追加が可能になって簡単になるものの、リリースは勝手にやってくれないので、自分が面倒を見る必要がる。ただ、将来的には望みがあるかもよということのようです。

うーんそうですかって感じで、現状はDLRを使ってもReleaseComObject()地獄は変わらないか。プロセスがターミネートしてしまえば、嫌でもCOMはリリースされてしまうので簡単なコンソールアプリやフォームベースのアプリはいいのですが、サービスを造るとなると今までどおりですな。。

DynamicでCOMのリリースまでDynamicになればすばらしいのだけどなぁ。正直なところCOMのリリースがイージーにならないと、COMが使いやすくなりましたとはかなり言い辛い。

書評:まつもとゆきひろ コードの世界

まつもとゆきひろ コードの世界‾スーパー・プログラマになる14の思考法
まつもとゆきひろ コードの世界‾スーパー・プログラマになる14の思考法 日経Linux

日経BP出版センター 2009-05-21
売り上げランキング : 385


Amazonで詳しく見る
by G-Tools

まつもとゆきひろ氏が日経Linuxに連載していたエッセーをまとめたもの。

内容的にはもともと日経Linuxの連載なので、それほどプログラマ プログラマしていない人でも読める内容にはなっているのではないかと思います。また、いままで動的言語になじみが無く、クロージャやダックタイピング等の動的言語特有のフィーチャについて感覚的に掴み切れてない人がこれを読むと腑に落ちるところがあるかもしれません。

基本的にすべてのプログラマにお勧めですが、2~3年目の人が読むと自分のパースペクティブを広げて行くためのいいジャンプ台になるんじゃないかと思います。

まぁでも副作用はあって、Rubyで仕事をしたくなる、いやRuby以外では仕事をしたくなくなる副作用がありますのでご注意を。

2009年06月12日

レイ・オジー曰く「Google Waveは『反ウェブ的』だ」

なんか言うだろうなと思っていたのだが、やっぱり言ったらしい。

レイ・オジー曰く「Google Waveは『反ウェブ的』だ」 - YAMDAS現更新履歴

Google WaveはGoogleが何言おうとLotus NotesとMicrosoftのデジタルダッシュボード、Groveの屍の上に成り立つもので、それらがなかったらおそらく存在していない。まぁそれらを見てきたレイ・オジーが何か言うのもそうだろうなと。

Google WaveというGoogleのプロプライエタリなものは成功するのか。まぁそれはNotesやそのほかが成功しない理由、パレートの8割側にいる大抵の人がこれに対応できるほど賢く学習意欲があるかどうかにかかってきそうだ。

2009年06月11日

Microsoft project code named "Velocity" CTP4は9月半ばリリース予定

Microsoft project code named "Velocity" : Update on Velocity upcoming release - CTP4

9月半ばリリース予定とBlogに書かれています。

個人的にはちょっと興味をなくしかけていて、どこまで追いかけようかって感じなんですがね。。

正直なところMemcachedで十分いろいろまかなえそうってところで興味をなくしつつあり。

2009年06月09日

痛IDE 化プロジェクト:メッセージのツンデレ化

できそうだな。。。

痛IDE 化プロジェクト:メッセージのツンデレ化

2009年06月08日

痛IDE、そこに日本のデヴェロッパの底力を感じる

わけないだろ。しかし、実際に行動を起こした人は偉い!

Visual Studio 2010 が WPF ベースなので痛IDEに出来るのではないかという話 - using Misuzilla.Subtech; - subtech

インテリセンスのカスタマイズ。二次元キャラが僕らのコーディングを助けてくれるお。

痛 IDE クラスタ - まめしば雑記

コードエディタの背景を、お好きなグラフィックに変更w

後考えられるとこととしては、IDEのワーニングメッセージをツンデレにしてみるとか(できるのか?)、ツールバーメニューあたりの背景ももっと萌えが必要とか。

2009年06月06日

Visual Studio 2010 Beta1 の機械翻訳ドキュメントの提供開始

Michiko's Blog : Japanese Visual Studio 2010 Beta1 Product Documentation is now available!!

ドキュメントの機械翻訳版が提供され始めたようです。

VS10

http://msdn.microsoft.com/ja-jp/library/fx6bk1f4(VS.100).aspx

.NET Fx 4

http://msdn.microsoft.com/ja-jp/library/w0x726c2(VS.100).aspx

機械翻訳の提供のされ方はMSN翻訳とかでもおなじみの原文が左、訳文が右に来るスタイルです。

2009年06月04日

Visual Studio 2010 日本語版 MSDNサブスクライバダウンロードに公開

そのほかTeam Foundation Server、.NET Fx 4の日本後ランゲージパックも公開されています。

2009年06月02日

CLR 4 - Inside the Thread Pool | Channel 9

Get Microsoft Silverlight  

Erika Parsons and Eric Eilebrecht : CLR 4 - Inside the Thread Pool | Going Deep | Channel 9

時間がないので、後で見るという感じでまだ見てませんが、ある意味.NET Fx 4で大幅に拡張される並列化機能の肝なので、必見なんじゃないかと思います。

2009年05月31日

TrueSkill Ranking System

MicrosoftがXBox Liveでベイズ理論を使ったランキングシステムを投入し話題になっているようだ。現状対応しているゲームはHAILO 3 SOCOMらしい。

具体的にはオンでのプレイ状況を細かくデータ化して、単純に生き残った、沢山敵を倒しただけではなく、如何に巧みにプレーしたかを解析してランキングするというもの。

なんというDryadの無駄遣いとか思いつつも、今は一番そこがお金になるし、お金も出るから、技術をジャンプアップさせていくのにはいい場所だと思ったり。

以下は、これに関するMSRのサイトと資料。

TrueSkill™ Ranking System: Details - Microsoft Research

http://research.microsoft.com/pubs/74417/NIPS2007_0931.pdf

数式ばっかりでよくわからないよなw

追記:

いろいろわかったので。。。

研究は2005年ぐらいから始まっている。

製品として使われたのはHAILO 3から。

論文へのリンク

http://research.microsoft.com/apps/pubs/default.aspx?id=67956

関連すると思われるF#での機械学習についてのPPT

http://cufp.galois.com/2007/slides/PhilTrelford.ppt

基本的にF#のスライドだがTrueSkillの話も出てくる

http://research.microsoft.com/en-us/um/redmond/about/collaboration/phd-summerschool/2006summerschool/donsyme.ppt

ふぁびょって書いたけど結構長いプロジェクトなんだな。

2009年05月30日

気になる本 : Framework Design Guidlines

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reuseable .NET Libraries (Microsoft .Net Development Series)
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reuseable .NET Libraries (Microsoft .Net Development Series) Krzysztof Cwalina

Addison-Wesley Professional 2008-10-31
売り上げランキング : 5709


Amazonで詳しく見る
by G-Tools

豊洲の某社某社員の方が翻訳しきっているらしい。すばらしい。こんな分厚本よく仕事の合間に翻訳されたと思う。

絶対に出版すべき>日経BP&マイクロソフト

2009年05月27日

Microsoft "Oslo" - May 2009 CTP

そゆもの。元ネタはPaul VickのTwitter

Download details: Microsoft "Oslo" - May 2009 CTP

CTPの新しい点としては

  • Quadrantがモデルの参照編集元としてレポジトリを参照するようになったよ。
  • ユースケース、アクティビティ図、クラス図、シーケンス図、コンポーネント図を含むUML 2.1仕様のためのドメインモデル
  • 2.1の仕様をサポートするXMIインポータ
  • System.Runtimeむけドメインモデルとローダ

てな感じらしいです。

何このOMG臭www

ある意味MSのUML回帰みたいな感じですね。VS10もそんな感じだし。

2009年05月26日

XML to Linq 入門番外編 : XDocumet.Load()でProxyの例外が発生する場合

前回までのサンプルではXDocument.Load(”URL”)でRSSのフィードをロードしてしましたが、Proxy経由でのアクセスが必要な場合に、Loadメソッド実行時に例外が発生します。

Loadメソッドは引数で指定されたURIがhttpであった場合に内部的にWebアクセスしていると思われますが、そのときにProxyに対しては考慮していないようです。また、Loadメソッドの引数やXDocumentのプロパティではProxyの設定をする方法が無いので、このような場合にはLoadメソッドで直接URIを指定するのではなく、Proxyの設定ができるWebClientとXmlReaderを使ってWEBサーバからXMLファイルを取得し、ストリーム化し、最終的にXMLデータとして取得する必要があります。

以下がそのサンプルです。

   1: using System.Xml;
   2: using System.Net;
   3: using System.IO;
   4:  
   5: WebClient web = new WebClient();
   6: WebProxy myProxy = new WebProxy("proxy:8080", true);
   7: myProxy.Credentials = CredentialCache.DefaultCredentials;
   8: web.Proxy = myProxy;
   9: Stream stream = web.OpenRead(@"http://www.isisaka.com/blog/index.xml");
  10:  
  11: XmlReader reader = XmlReader.Create(stream);
  12:  
  13:  
  14: //XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
  15: XDocument rss = XDocument.Load(reader);

5行目でWebClientクラスのインスタンスを作ります。

6行目でWebProxyクラスのインスタンスを作り、Proxyサーバアドレス等を設定し、7行目でそのProxyの認証のタイプを設定します。(この場合はNTLM認証です)

8行目でWebClientのインスタンスにProxyを設定します。

9行目ではWEBサーバよりXMLデータをStreamとして取得します。

11行目ではstreamになっているXMLデータをXmlReaderに変換します。

15行目でLinq to XMLでXMLデータを使用できるようにXmlReaderからXDocumentにXMLデータをロードします。

XDocumentクラスのLoadメソッドでのURI指定は便利ですが、ネットワーク環境によってはこのような処理が必要になるので注意してください。また今回特に例外処理を入れてないのですが、実際には部分部分で例外処理が必要になる場合があるのでその注意もお願いします。

.NETでのProxy設定については以下のKBが参考になります。

[PRB] HTTP プロキシ サーバー経由で Web サービスを使用する .NET クライアントでエラーが発生する
http://support.microsoft.com/kb/318140/

早いところ次回が書けるといいなぁ。ではまた次回!

2009年05月23日

TracLightning を2.0.9から2.2.5にバージョンアップ

やっぱりバージョンアップ間隔はあけない方がいいです。。。。

とりあえず、httpdconfを書き換えないようにしたらぜんぜん起動しないので、上書きで無事起動とか、チケットでガントチャート&カレンダープラグインの開始終了日が出ないとあわてたら仕様変更だったり(下のリンク参照)。まぁはまりポイントはこれぐらいなので大丈夫だと思います。

でももう少し変更点がドキュメントでわかるとよいかなー

TracLightning 2.1 へバージョンアップしたときに開始日、終了日の入力項目が消える - Shibuya.trac | Google グループ

2009年05月21日

.NET Framework 4 での並列プログラミングサンプル

Samples for Parallel Programming with the .NET Framework 4 - Home

コードギャラリで公開されています。

また、ドキュメントへのリンクが以下にまとめられていました。

http://blogs.msdn.com/pfxteam/archive/2009/05/20/9633092.aspx

IronRuby 0.5.0 & CTP for .NET 4.0 Beta 1

IronRuby - Release: 0.5.0

IronRuby - Release: CTP for .NET 4.0 Beta 1

IrunRuby 0.5と4.0 Beta 1向けCTPがリリースされています。

久々のバイナリリースですね。この0.5よりBeta扱いとなったようです。

0.5での変更点はリンク先を確認してください。

ちなみにRoRがIronRubyで動き始めているようで、RailsConfでもその発表があったようです。

Ruby on Rails – IronRuby

ちなみにIronPythonでも2.6 Beta1とNet Fx 4.0 B1向けCTPがリリースされたようです。

Visual Studio 2008 でHTMLソースエディタが起動しない

Visual Studio 2008 インストール後初回起動時に

'package 'Visual Web Developer HTML SourceEditor Package' has failed to load properly (GUID={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}}'

のようなエラーが発生し、その後正常にHTMLソースエディタが起動できなくなる事象がありました。

いろいろやったのですが、結局はこの記事にあるようにVSの設定で英語なら英語、日本語なら日本語のUIロケールを選んだ後に”devenv /resetskippkgs”とパッケージの設定をリセットしてしまえばいいようです。

問題は英語UI環境でVS2008(日本語版)をインストール後に、それを着一度も起動しないままSQL Server 2008デヴェロッパエディション(日本語版)をインストールしたことのようです。こうすると、SQL Serverは日本語版でもインストール時のUIロケールにあわせたUIコンポーネントをインストールしてくれるらしく、その結果VSのUIロケールがわけがわからなくなり、いろいろ問題を起こすということのようです。ようは、私のような変則的な使い方をせずに、OSから言語エディションを統一して入れろと。そういうことらしいですよ。意外なところでUIロケールに足元すくわれました。

2009年05月19日

Microsoft Tech·Ed Japan 2009

Microsoft Tech·Ed Japan 2009 ホーム

参加登録の受け付け、セッション概要が発表されました。

今年は8月26日から28日の3日間で去年より1日短いですね。(ああこんなところにも経済状況の影響がw)まぁ昔に戻っただけといえばそれまでですが。

Microsoft Visual Studio 2010 Beta1 ENU 公開

Microsoft Visual Studio 2010 First Look

MSDNサブスクライバダウンロードで以下のものが公開されています。いずれも英語版。

  • .NET Framework 4 Beta 1(IA64, x64, x68)
  • .NET Framework 4 Client Profile Beta 1 (x86 and x64)
  • .NET Framework 4 Client Profile Beta 1 (x86)
  • Visual Studio 2010 Professional Beta 1 (x86)
  • Visual Studio 2010 Remote Debugger Beta 1 (x64, x68)
  • Visual Studio Team Foundation Server 2010 Beta 1 (x86 and x64)
  • Visual Studio Team System 2010 Team Suite Beta 1 (x86)
  • Visual Studio Team System 2010 Test Load Agent Beta 1 (x86)
  • Visual Studio Team System 2010 Test Load Controller Beta 1 (x86)

2009年05月17日

「タッチスクリーン上に物理ボタンを出現・格納」新技術(動画) | WIRED VISION

これはいいかも。

「タッチスクリーン上に物理ボタンを出現・格納」新技術(動画) | WIRED VISION

タッチスクリーンは物理的な機械部品を減らせるので装置を小さくしたり、コストダウンするのに適しているのだが、視覚障害を持たれる方にとっては絶望的につかないユーザーインターフェイスになってしまう。(点字料金表横のタッチスクリーンの切符券売機はいったい何がしたいのだろうか。)その点で、この折衷案的なこの方法はこのことに何らかの解決を持たせてくれるかもしれない。

Liunq to XML 入門 その3 (Linq クエリ構文)

今回は予定を変えてLinqのクエリ式の構文について説明します。前回クエリの方法について説明しましたが、クエリ式の構文についての説明はしていなかったので、前回説明した基本的なクエリ式の構文について説明します。

基本的なクエリ

Linqでの基本的なクエリ式は以下のようになります。

   1: from [範囲変数] in [データソース]
   2: select [範囲変数]

まず、クエリ式はfrom句から始める必要があります。つぎに最低でもselect句で範囲変数を指定し、最終的に式が返すソースシーケンスの内容を確定します。

from句

from [範囲変数] in [データソース]

from句ではクエリもしくはサブクエリの対象となるデータソースとソースシーケンス内の各要素を表すローカルの範囲変数を指定します。ソースシーケンスとはデータソースの中でLinq式内での各操作の対象となる連続したデータのことです。

LinqのデータソースにはIEnumerable<T>インターフェイスあるいはIEnumerableとその派生インターフェイスを実装したオブジェクトだけを指定することができます。通常の配列やArrayList、ADO.NETのデータセットはIEnumerableインターフェイスを持つのでLinqの対象とすることができます。

selsct句

select [式]

selsct句はクエリ式が実行されたときに生成される値の型を指定します。クエリ式の結果はselect句の前の式の評価およびselect句の式の評価によって生成されます。

select句の一番単純な例は式に範囲変数を指定し、ソースシーケンスをそのまま式の値にすることですが、以下の例のようにこの式でデータ変換をすることができます。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");   
   2: //select句でデータ変換する   
   3: IEnumerable<DateTime> query = from x in rss.Element("rss").Elements("channel").Elements("item")
   4:             select DateTime.Parse(x.Element("pubDate").Value);   
   5: foreach (var d in query) {   
   6:     Console.WriteLine(d.ToLongDateString());   
   7: }

この例では4行のselect句の式でXMLのバリュー(string型)のデータをDateTime型に変換しているので、クエリ式の結果をIEnumerble<DateTime>型の変数に格納することができます。

条件付きクエリ

先ほどのもっとも単純なクエリ式ではソースシーケンスのデータに対し、なんのフィルタリングもかけずに値を返していましたが、実際には何らかのフィルタリング条件をつけて必要なデータだけをソースシーケンスから取り出したいことが多いと思います。

クエリ式において、このフィルタリング条件を指定するのがwhere句です。

   1: from [範囲変数] in [データソース]
   2: whewe [条件式]
   3: select [式]
where句

where [条件式]

where句はソースシーケンスの中からどんな要素を取り出すのかを条件式で指定します。

以下に例を示します。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");   
   2: //select句でデータ変換する   
   3: IEnumerable<DateTime> query = from x in rss.Element("rss").Elements("channel").Elements("item")
   4:                               where DateTime.Parse(x.Element("pubDate").Value) > DateTime.Parse("2009/5/11")
   5:                               select DateTime.Parse(x.Element("pubDate").Value);  
   6:  
   7: foreach (var d in query) {   
   8:     Console.WriteLine(d.ToLongDateString());   
   9: }

この例ではpubDateエレメントの値が設定された日付以降の日付のデータだけを取り出しています。

続きを読む "Liunq to XML 入門 その3 (Linq クエリ構文)" »

2009年05月14日

Linq to XML 入門その2 (基本的ななクエリー)

それでは、Linqでの基本的なクエリーの方法について説明していきます。

今回はXMLデータとして、このBlogのRSS 2.0フィードを利用します。

では、まずRSSを表示してみましょう。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
   2: Console.WriteLine(rss.Declaration);
   3: //Console.WriteLine(rss.FirstNode);
   4: Console.WriteLine(rss);
   5:  

その表示結果の一部。

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <rss version="2.0">
   3:   <channel>
   4:     <title>OPC Diary</title>
   5:     <link>http://www.isisaka.com/blog/</link>
   6:     <description>私的ソフトウェア開発あれこれ。</description>
   7:     <language>ja</language>
   8:     <copyright>Copyright 2009</copyright>
   9:     <lastBuildDate>Thu, 14 May 2009 10:47:36 +0900</lastBuildDate>
  10:     <generator>http://www.sixapart.com/movabletype/</generator>
  11:     <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  12:     <item>
  13:       <title>プログラム言語 Axum</title>
  14:       <description><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx">Axum</a></p>  <p>.NET Framework上でEr
  15: langっぽい(ぽいねあくまでも)並列言語実行環境を提供するプログラミング言語。Erlangっぽいので、基本的にメッセージパッシングで実行単位(Age
  16: ntというらしい)間でデータ交換を行うようだ。</p>  <p>これがこのまま製品化するとは思わないけど、まぁF#の例もあるので、案外化けるかもだ。素
  17: 直に考えればC#に取り込まれていくんだろうけど。</p>]]></description>
  18:       <link>http://www.isisaka.com/blog/archives/2009/05/_axum.html</link>
  19:       <guid>http://www.isisaka.com/blog/archives/2009/05/_axum.html</guid>
  20:       <category domain="http://www.sixapart.com/ns/types#category">.NET</category>
  21:       <category domain="http://www.sixapart.com/ns/types#category">オブジェクト指向・システム開発</category>
  22:       <pubDate>Thu, 14 May 2009 10:47:36 +0900</pubDate>
  23:     </item>

RSSフィードを受信して、表示できる事が確認できたでしょうか。

では、このデータからBlog記事の投稿日とタイトルの一覧を作りたいと思います。

RSS 2.0ではitemエレメントに各Blog記事のデータが入っています。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
   2: //XMLの木構造をたどって目的のElementに到達するやり方
   3: var query = from x in rss.Element("rss").Elements("channel").Elements("item")
   4:             select x;
   5: foreach (var i in query) {
   6:     DateTime pubDate = DateTime.Parse(i.Element("pubDate").Value);
   7:     Console.WriteLine(pubDate.ToString() + "\t: " + i.Element("title").Value);
   8: }
   9:  

1行目ではRSSフィードを取り出しています。

3行目でLinqを使いRSSフィードからitemエレメントを取り出します。ここではRoorのrssエレメントから純にRSSの木構造たどってitemeエレメントまでを指定し検索もとを絞っています。itemエレメントは一つとは限らないのでElementsとして指定します。

5行目以降では検索結果をもとに更新日とタイトルをリスト表示します。

この様に特定のエレメントを検索対象とするには性格に木構造をたどる形で指定していく必要があり、その木構造が深いと指定するのが大変です。

そこで、Linq to XMLではDescendantsでエレメント名を指定すれば木構造をたどらずにダイレクトに指定する事が出来ます。(Descendantの意味は子孫)

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
   2: //Descendantsを使う方法
   3: var query = from x in rss.Descendants("item")
   4:             select x;
   5: foreach (var i in query) {
   6:     DateTime pubDate = DateTime.Parse(i.Element("pubDate").Value);
   7:     Console.WriteLine(pubDate.ToString() + "\t: " + i.Element("title").Value);
   8: }

先ほどと変わったのは3行目です。かなりスッキリ書けるようになったのがわかると思います。

   1: 2009/05/14 10:47:36     : プログラム言語 Axum
   2: 2009/05/11 19:03:02     : 第2回静岡 IT Pro 勉強会のご案内
   3: 2009/05/10 21:53:00     : 第30回 NT-Committee2関東勉強会
   4: 2009/05/10 21:21:41     : プリンタを買いました。(HP C309a)
   5: 2009/05/10 9:57:29      : キヤノン インクジェットプリンタのヘッド交換ができないので買い換えてやる!
   6: 2009/05/10 8:20:50      : そろそろCorei7かな。。
   7: 2009/05/10 0:06:41      : デザイナー目線でのFlash vs. Silverlight(2)
   8: 2009/05/09 15:42:19     : Linq to XML 入門その1 (XML文書の作り方)
   9: 2009/05/08 12:16:11     : Japan Windows Server : Hyper-V Server R2 Release Candidate 公開
  10: 2009/05/08 7:34:02      : Windows 7 向けリモートサーバ管理ツール
  11: 2009/05/06 23:34:56     : exFATはやはりブートメディアを作ることはできない
  12: 2009/05/05 15:48:55     : Vistaの供給は2011年1月まで、メインストリームサポートは2012年4月までらしい
  13: 2009/05/05 15:12:37     : Windows 7 RC アメリカでは一般公開
  14: 2009/05/04 23:32:40     : Windows 7(x64) をVirtualBoxに入れてみた。
  15: 2009/05/02 6:43:33      : プログラミングに適したフォント

表示結果はこうなります。

それでは、where句を使った条件検索を試してみます。

以下のコードでは5/11以降に更新された記事のリストを表示するようにします。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
   2: //Descendantsを使う方法
   3: var query = from x in rss.Descendants("item")
   4:             where DateTime.Parse(x.Element("pubDate").Value) > DateTime.Parse("2009/5/11")
   5:             select x;
   6: foreach (var i in query) {
   7:     DateTime pubDate = DateTime.Parse(i.Element("pubDate").Value);
   8:     Console.WriteLine(pubDate.ToString() + "\t: " + i.Element("title").Value);
   9: }

4行目のwhere句で5/11以降のデータのみ抽出するようにしています。

以下が実行結果です。

   1: 2009/05/14 10:47:36     : プログラム言語 Axum
   2: 2009/05/11 19:03:02     : 第2回静岡 IT Pro 勉強会のご案内

11日以降に投稿した記事のリストが表示されています。

今回はここまで。

RSSを加工したい事はよくあるので、少しぐらいは参考になったでしょうか。

次回はもう少し複雑なクエリについて説明したいと思っています。ただ、データを作るのが難儀なのでしばらくお待ちください。。。

プログラム言語 Axum

Axum

.NET Framework上でErlangっぽい(ぽいねあくまでも)並列言語実行環境を提供するプログラミング言語。Erlangっぽいので、基本的にメッセージパッシングで実行単位(Agentというらしい)間でデータ交換を行うようだ。

これがこのまま製品化するとは思わないけど、まぁF#の例もあるので、案外化けるかもだ。素直に考えればC#に取り込まれていくんだろうけど。

2009年05月09日

Linq to XML 入門その1 (XML文書の作り方)

準備

これから数回に分けてLinq to XMLの基礎的な使い方についてまとめていきます。

これらの記事に書かれているコードは特に明記がない場合は以下の環境で試験をしています。

  • Visual Studio Team Systeme 2008 Team Suite SP1
  • .NET Framework 3.5 SP1
  • Windows Vista Ultimate x64 ENU

また特に断らない限り使用するプロジェクトテンプレートはコンソールアプリケーションです。

Visual StudioはTeam Suiteを使っていますが、記事に書かれている内容はC# Express Editionでも問題ないはずです。

注意点

これからの記事では入門と言っておきながら、Linqの詳細な仕様や、XML自体の説明はしません。

Linq to XML各クラスの細かい説明はせずに、実際に最低必要だと思う事のみコードと説明をしていくので、各クラスが持つメソッドやメンバーの詳細についてはMSDNライブラリを参照してください。忘れなければ記事中に適宜リンクしていきます。

まずはこれが無くっちゃ始まらない

   1: using System.Xml.Linq;

忘れずにusing句でLinq to XMLの名前空間を呼び出しておきましょう。また、Visual Studioのソリューションエクスプローラで参照設定を確認し、System.XML.Linqの参照設定がない場合には追加します。

最も単純例

最も簡単にXMLのデータを作成し、コンソールに表示させたいと思います。

   1: var x = new XElement("Name", "Tadahiro Ishisaka");
   2: Console.WriteLine(x);

ここでは単純にNameという1種類のエレメントを持つXMLデータを作成し、コンソールに表示させています。

XElementというクラスがLinq to XMLではXMLエレメントを表すクラスになります。

ちなみにLinq to XMLの各クラスは頭にXがつきます。

出力結果はこうなります。

<Name>Tadahiro Ishisaka</Name>

次にXMLのエレメントに属性(Attribute)を追加してみます。

   1: var x = new XElement("Name", new XAttribute("ID", 99999), "Tadahiro Ishisaka");
   2: Console.WriteLine(x);

今度はXElemntクラスのコンストラクタの中でXAttributeクラスを初期化し、IDという属性とその値として99999を追加しています。

出力結果はこうなります。

   1: <Name ID="99999">Tadahiro Ishisaka</Name>

NameエレメントにID属性が追加され、その値が99999となっているのがわかると思います。

また、このコードはXElementクラスのAddメソッドを使用して、以下のように記述しても同じ結果になります。

   1: var x = new XElement("Name", "Tadahiro Ishisaka");
   2: x.Add(new XAttribute("ID", 99999));
   3: Console.WriteLine(x);

ここまでで、今まで.NETでXMLデータを処理されてきたかたには、かなりコーディング量が減って、楽にコードを書けていることがわかると思います。

続きを読む "Linq to XML 入門その1 (XML文書の作り方)" »

2009年05月02日

プログラミングに適したフォント

プログラミングに適したフォント10 | エンタープライズ | マイコミジャーナル

基本的に英数字主体でフォントマッピングされた日本語のクオリティまでは見てないよな。

英数字が綺麗なのに、ソースコード内の日本語フォントが英数字とのバランスが悪く、汚いとそれだけでやる気が失せてしまう。

英数字だけならプログラミング用のフォントはそれこそ星の数とは逝かないまでも結構ある。

しかしながら、日本語フォントとしてなると、皆無に等しい。

メイリオとか言い出すやつもいるが、あれはプログラミングには全く向いていない。この記事でのArialと全く同じ欠点がある。基本的に0(ゼロ)とO(オー)、I(アイ)とl(エル)が判別つきにくく、日本語が汚いフォントはプログラミングには向いていない。0には斜め線を付けろ。

そういった点でディスプレイでアンチエイリアス機能が使えるならプログラミング用の日本語フォントとしてはVine LinuxプロジェクトのVLゴシック最強と思っている。

まぁ、好みなんだけど。

フォント自体お探求をやめたわけでもないので、これからもどん欲に試していこうとは思う。

2009年04月30日

.NETで開発して働こう

これまでずっとなるべく言わないようにしていたのだが、もう平たく/明快に言うことにしました。

1)VB6はもう立ち直れないと思う。
だから、
2).NET勉強してマネージドという高速道路を行く道を真剣に考えてみて欲しい。

これまでは、1)は言わずに、2)だけ言ってきた。で、「.NETで開発する」の中でも、私が知っている「C#で開発する」ことの楽しさ、働くための方法をなるべく具体的に紹介するようにしてきた訳なのであるが、前半も言うことにしました。その理由は、若い人に早く気づいて欲しいから。VB6を使っていたら駄目、というわけではないが、サポートもなくなって、セキュリティパッチもなく、64bit環境が普通になってくると、みるみると進路変更は大変になる。ところが、多くの人が「VB6に未来はない」と気づく頃には、そういう「進路変更大変状態」になってしまっていることが多い訳です。

というわけで、明言することにした次第。

今の私が考える、VB6プログラマの1年後ぐらいの将来はこんな感じだ。

  • ベストケース:一世を風靡した時代の力は面影もなく、VBに活力はないが、素早く・容易に多くの人がそれなりの開発ができ、Silverlight3への道筋も見え未来が開けている。
  • ベースケース:.NET界の技術の差は激しく、一部のDSLを開発できるような開発者と、DSLを開発できない、ただそれを使うだけの多くの技術者に分離、前者はさらに上を目指して暮らす(Thoughtworks的コンサルタント天国型)
  • ワーストケース:閉塞感と絶望と苛まされ、VB6に固執する技術者が増加、新しい環境に対応できずセキュリティや安定性に問題のあるソフトウェアが増加する。

ワーストケースになると、VB6の外にいてもとても怖い。今までVB6で作られたプログラムも多いし(5年後なっても恐らくRubyのプログラムより多い)、VB6プログラマは環境に固執することにかけては世界で最も優れた技術者である。なんだかんだ言って技術力だって大いにある。大量の優秀な人たちが間違った方向で開発し続けたら何が起こるか。使い辛く、性能が悪く、セキュリティ的にも問題のあるプログラムが世の中に溢れてしまうのはないか。あと、怖いだけでなく、VB6で開発者の道に入ったものとして悲しい。なので、是非これだけは避けて欲しい。

というわけで、なんとかせめてベースケース、できればベストケースに至って欲しいわけです。

そのためには、「VB.NETでの変更点に対する抵抗感」を少なくするとよいかと。「VB.NET」が打破できないなら一足飛びにC#に行けばよいではないですか。

とはいうものの、C#でいきなり開発するのは大変だと思うので、まずはVB9で開発を始め出来るだけ今までのまま開発する、というのが楽なわけです。この方法には、「C#で開発したけど、やっぱりVBで開発したい」という時は、VBに戻って開発すればよろしいだけ、という利点もある。ま、全員が全員そうとは言わないが、大抵の場合、同じ個人に関して言えば、.NETでの開発経験がある方が.NETのC#のような他言語での開発でも優位になるので、特にVBの経験の浅い人だったら失うものはまずない。

(こういうことを言うと、「VB.NETで失敗したからから、C#にいったような人は、C#もまともな開発ができない」などという人もいるが、そういう人は...(略)

「.NETでの開発経験を積む」人が増えることは、今のVB6プログラマのためにもなる。VB6から.NETへの以降経験についてフィードバックされる量が増えれば、それだけ続く人の移行が楽になるのだから。

+++

もちろん、上述した通り、技術者間の技術力の差が広がりつつあるし、今後もどんどん広がると思うので、「いまのままで勝てる!」と思う人は、是非今後もその道を邁進してください。でもRubyとかPHPには気をつけてね。

あと、「VB6を根本から変えてVB6を良くする」という自負のある人も是非VBのオープンソース実装等をトライして欲しい。

--

ネタですから・・・

元ネタです:
On Off and Beyond: 海外で勉強して働こう

参考にさせていただきました:
もうエンタープライズJavaなんて捨ててしまえ - ひがやすを blog

まじめに、海外に出て行ける可能性があるなら、まじめに検討した方が良い。特にクラウドをただ使うのではなくクラウドの内側、雲の向こう側でそれを作る仕事をしたい人はこの国に居ては行けない。言葉がハンデだと思うなら、それを今すぐにでも乗り越える準備をしてこの国を抜け出せ、そうでないと君の望む未来はやってこないよ。この国の中にいてはそれは手に入らないものだ。

Multicasting with Silverlight 3 Local Messaging « Critical Development

Silverlight3で実装されるRPC(と断言してやる)機能のLocal Messagingのマルチキャスト機能に関する記事です。

Multicasting with Silverlight 3 Local Messaging « Critical Development

まぁ実際にはLocal Messageingは文字通りクライアント環境内での単純なメッセージの送受信機構しか持っていないわけで、RPCとは言いがたいものですが、その姿はあくまでも「今は」でしかないような気がしています。MSだし。

2009年04月29日

2009 Lang.NET Symposium

今年もLang.NETが開催されたようです。以下のページにて各スピーカーの講演内容を見る事ができます。

2009 Lang.NET Symposium - Speakers

またこれにあわせ、Channel9でAnders HejlsbergとGilad Brachaによる言語開発者同士の対談が公開されています。

Get Microsoft Silverlight

http://channel9.msdn.com/tags/LangNET+2009/も参照。

2009年04月25日

Git Extensions

gitextensions - Google Code

メモ。まだ実際には使っていません。

Visual StudioからGitを使うためのツールのようです。スクリーンショットやマニュアルを見る限りかなり完成度が高そうです。

まぁ実際問題としてSVNからGitに移行するかかなり微妙なんですけどね。

2009年04月23日

Microsoft® Visual Studio Team System 2008 Database Edition GDR R2

ダウンロードの詳細 : Microsoft® Visual Studio Team System 2008 Database Edition GDR R2

そゆもの。なんだが・・・

Visual Studio Team System 2008 Database Edition GDR R2 - 新日々此何有哉

R2になって何が変わったんだろう?

確かにわかんね。ダウンロードサイトのリリースノートは無印GDRのリリースノートだし。

と言うことで、検索を掛けて中の人っぽい人のBlog経由でR2リリースノートを発見。

mhtml:http://download.microsoft.com/download/0/A/E/0AE1153A-8798-474A-93E6-D19299F37C8B/GDR_R2_Release_Notes.mht

結局バグフィックスのようです。

2009年04月21日

大規模なWCFを使用したエンタープライズシステム

MSDNマガジン4月号の記事。

WPF、Prism、および WCF を使用してサービス指向アプリケーションを構築する

WCFを使用して大規模なエンタープライズシステムを構築した際に発生した様々な問題について書かれています。

WCFのスケールやその他について書かれた文書は無いなりにあったのですが、実際のエンタープライズシステムの開発・運用現場でどうのような問題が発生し、どのように対処したか書かれレポートは読んだことがありませんでした。

そういう点で、あまり長くない記事ですが、とても重要です。

特にWCFのバインドが簡易に変更でき、それによりシステム障害に対処できている点は注目したいです。万能ではないとは思うのですが、それにより救われることがあると知っておくことは大事なことだと思います。

また、いまRelease IT!という本を読んでいるのですが、この本はエンタープライズシステムの構築において何について考慮・設計しなければならないか(そしてどうしたリリースが止まらないか)について書かれており、是非.NETでそれなりの規模のエンタープライズシステムの設計や実装に関わられている方はこの記事と併せて読むことをおすすめします。(もう読んでおられるでしょうけど)

Release It! 本番用ソフトウェア製品の設計とデプロイのために
Release It! 本番用ソフトウェア製品の設計とデプロイのために でびあんぐる


Amazonで詳しく見る
by G-Tools

IronPython in the Browser

IronPython in the browser

image

Mix ‘08の感動をもう一度w

ブラウザ内でIronPythonを試すことが出来ます。要Slivelight 2.0。あと英語キーボードのほうが面倒が起きないと思います。

富士通はOracleの下請けになるのか?

今回のSUN身売りについての結論は、結局いつまでたっても西海岸と東海岸では肌が合わないということですね。まぁSUNの社員が青色のジャケット着るとは思えないよな。

まぁOracleのSUN買収でいろいろと妄想してみます。

まず気になるのはSparcの設計部隊を含むハードウェア部門をどうするのかです。はっきりってOracleの経営陣では全然仕事の進め方や資産管理、キャッシュの流れ方が違うハードウェアビジネスは手に余るでしょうから、いずれかのタイミングで社外に移すことを考えるでしょう。その中には関連子会社化、売却、精算いずれもあり得ると思います。また、売却や子会社化にしても、一括ではなく、たとえばSparc部門、Sparc Server部門・DC部門、IAサーバ部門と言ったように売りやすい、あるいは独自にやっていけそうなサイズに分割するのではないかと思います。そういった中で富士通ですが、Oracleが売却側にいくのであればSparc部門やSparc Server部門の買収に乗り出すかもしれません。下手に自分たちにとって交渉しづらかったり、戦略的に提携できないところに買収されるよりはましだと考えるでしょうから。(その資金があるかっていうのはあるんですけどね。)そして、そうなった場合にはOracle(SUNブランド?)へ富士通がサーバーをOEMで入れることになるのでしょう。

さて、MySQLです。どう考えてもOracleの売り上げを下げているライバルです。僕の予想はOracleはMySQLを潰しもしないが、かといって積極的な投資もせずの塩漬けと言ったところになるのではないでしょうか。正直なところMySQLの開発部隊は今のうちにスポンサーを見つけて受け皿会社を作り、せっかくのオープンソースなので、そちらで機能追加・向上を目指していった方がいいような気がします。その場合はもうMySQLと言う名前ではないのかもしれませんけどね。MySQLが無ければ成り立たないオンラインサービスを構築している某巨大通販テナント会社さんなんかアプローチして投資してみるのはどうだろうとか。まぁ僕がこんな事書いている間にもMySQLの中の人は全力どう逃げ出すか考えていると思いますけどね!

まぁあとJavaについては大して変わらないんだろうけど、政治的な話で仕様決定はずるずる遅くなってくんだろうなとか、いろいろありますが、そろそろ会社に行かなきゃいけないんで妄想はこの辺にしておきます。

2009年04月20日

Oracle、Sun Microsystemsを買収

【速報】米Oracle、Sun Microsystemsを56億ドルで買収 | 経営 | マイコミジャーナル

Oracle to Buy Sun

SUN側の詳しいことについては以下を参照。

http://www.sun.com/aboutsun/media/presskits/2009-0420/index.jsp

組み合わせ的には一番ありそうな組み合わせかもしれない。

2009年04月17日

富士通のSPARCベースのメインフレームが登場した

マイクロプロセッサ由来のプロセッサアーキテクチャを採用するメインフレームが各社で一巡した感じだ。

メインフレーム GS21 / PRIMEFORCE GS21 1400 特長 : 富士通

そもそもマイクロプロセッサは何に対してマイクロなのかといえばメインフレームやミニコンのプロセッサに対して大きさも、性能もマイクロだったわけで、ある意味これで下克上を果たしたも言えよう。まぁだからといって自分のPCに乗っている物と同じレベルのものがメインフレームに乗っていると思ってはいけない。

2009年04月16日

CodeFxあるいはAll-In-One Code Framework

All-In-One Code Framework – Home

サンプル集にしてスケルトン。

Windowsのアプリケーション開発においてネイティブコードだけ、あるいはマネージドコードだけで「ソフトウェアシステム」が構築できれば幸せなのかもしれませんが、実際にはレガシーなシステムとの接続点や、他のソフトウェアシステムやパッケージソフトウェアとの接続点においては、マネージド。アンマネージドの垣根を越えてデータのやりとりをする必要があります。

仮にそのためのSOAといったところで何らかの形でそれらのソフトウェアに対しWebサービスのインターフェイスを付け加えなければならないわけで、結局そのための配管ソフトウェアの開発でも同じ事が必要になるわけです。

このCodeFxではそのような接続点で使用されるマイクロソフトテクノロジーについてC++でのネイティブコード、C#でのマネージドコードでのすぐに利用できるサンプルを公開しています。

具体的にはCOM, メモリマップドファイル(共有メモリ)、IPC、メールスロット、WM_COPYDATAについてのサンプルがパッケージされています。

また、このCodeFxではこの様な接続点以外にOfficeへのアクセス、C#でフックするためのサンプル、C++でのスタック領域管理のサンプル、C#でのデータアクセスのサンプルも含まれています。

用はWindows上で企業向けのソフトウェアシステムを構築するときに使用されそうなマイクロソフトテクノロジーのプログラミングサンプルがごっそり入っているものになります。

正直もっと早くこれがあれば楽だったのにと思いましたw

元ネタ。

青柳 臣一 ブログ(総合) [.NET] All-In-One Code Framework ってなんぞ?

2009年04月13日

Vol.24 4ビットマイコン 大人の科学マガジン

すご。とうとう大人の科学にボードコンピュータが来た。しかも4bit。

Vol.24 4ビットマイコン | 大人の科学マガジン | 大人の科学.net

16個の16進数キーと4個のファンクションキーを駆使して、ゲーム、タイマー、計算機、自動演奏など自在にプログラムすることができます。

ハンドアセンブルなんだろうなぁ。いやー楽しみ。きっと魔改造する人たちも出てくるんだろうw

2009年04月10日

おとうさん、ぼくにもYコンビネータがわかりましたよ! - きしだのはてな

うむ。わかりやすい。

おとうさん、ぼくにもYコンビネータがわかりましたよ! – きしだのはてな

難しいことが好きな人は以下をどうぞ。

領域理論 – Wikipedia

2009年04月07日

Channel9 が5周年

各界からお祝いメッセージがw

Get Microsoft Silverlight

Get Microsoft Silverlight

CrashFinder 2.8

John Robbins' Blog : CrashFinder 2.8 – Yes, Native Code Still LIVES!

メモ。

エクセプションファイル等が出力するメモリアドレスから実際の関数名を特定するためのツール。

2009年04月06日

クラウドサービスを支えるデータセンタ

まずはGoogle。これを2005年から始めているというのがすごい。

GoogleのサーバはUPS込みでモジュール化されているのもすごいな。こんなの他の会社はまねできない。(しない。)

冷却装置設備はまさにプラント。

で、Googleのサーバー。ある意味自分たちで作っているからこそできる工夫がみられておもしろい。お金掛けてねーなwディスクをベルクロで固定とか(やったことあるけど)なかなかおもしろい。

アップ

こちらはマイクロソフト。ラックを使っているので、シカゴ郊外の新データセンタではない。ただ、UPS用のバッテリの設置ラックとかおもしろいものもみられる。

HPのコンテナのPRビデオ

さて、で日の丸クラウドサービスのデータセンタ、サーバはどんな姿になるのだろう。

2009年04月02日

Visual Studio Team System 2008で T-SQLの単体テストをやってみよう:CodeZine

memo. たすかります。

Visual Studio Team System 2008で T-SQLの単体テストをやってみよう:CodeZine

2009年04月01日

LACが大マゼラン星雲からの不正侵入を検知したと発表

LACは宇宙侵略の検出や、コンサルタント業務もしていたのか。

ラッコ、地球外生命体からの攻撃に対するセキュリティ監視を開始~大マゼラン星雲からの電波を使った攻撃を独自シグニチャで検知~ | LAC

株式会社ラッコ(本社:東京都港区、以下ラッコ)は、自社のセキュリティ監視センターJS0Cが、銀河系外からの侵略攻撃を独自開発のシグニチャで検知し、今後の監視対象に含めていくことを発表しました。

ラッコがこれまで極秘に行ってきた地球外知的生命体探査プロジェクトで、宇宙から飛来する電波信号を解析していたところ、15万光年の彼方にある大マゼラン星雲方面からの微弱な電波に攻撃コードが含まれていることを確認しました。その攻撃コードは、ワンセグ搭載の携帯端末に自律型マルウェアを感染させ、その携帯端末からのメール送受信機能を経由して感染を拡大させる仕掛けが組まれていることが判明しています。

しかし、15万光年の距離から放たれた攻撃コードを含む電波にはノイズが混じってしまい、攻撃自体は失敗に終わっていることを確認しています。15万光年の彼方から短時間で攻撃コードを含む電波を到達させる技術については、人類の英知を超えたレベルであり、詳細は専門の研究団体と調査にあたって参ります。

2009年03月31日

世界ではシェア10%超:富士通、2010年にIAサーバの国内シェア1位を目指す - ITmedia エンタープライズ

世界ではシェア10%超:富士通、2010年にIAサーバの国内シェア1位を目指す - ITmedia エンタープライズ

IBMによるSUN買収で一番痛い目に遭いそうなのが富士通だったのだが、やはりこういう展開になりそうなのか。

富士通はTIと並ぶSPARCのチップベンダーで特にハイエンド用途のSPARC64シリーズの開発生産をしている。また、SUNとの堅い協力によりSPARCのハイエンドUNIXサーバーをこの自社製SPACで生産しており、事実上高付加価値(高価格帯)の製品はSPARCアーキテクチャの製品でラインナップをそろえてきていた。(メインフレームのプロセッサアーキテクチャをSPARC化する話もあったはず)

しかしながら、IBMによるSUN買収(話)によって、SPARC自体の将来性に疑問符がつくこと(IBMにとって二種類もRISCプロセッサはいらないし、当然残すのはPowerだ)、Solarisも生き残るか(開発が続けられるか)怪しいという事態になってしまえば、選択肢はもはやIA意外になくなってしまう。

ただ、これで意外とHP以外にちゃんとItaniumを拾い上げるサーバーベンダが現れた気がしなくもないw

でもOSはどうするんだろう?Linuxか?

2009年03月27日

Iron Python 2.6 Alpha1

IronPython - Release: 2.6 Alpha 1

いきなりバージョンナンバーがぶっ飛んでいますが、これはCPythonとバージョンナンバーをあわせるためのだです。ということで、CPython 2.6との互換性のあるバージョンの開発が始まったようです。

2009年03月26日

Visual Studioのディスクに入っていないあれこれ

ということでソマ・セガがVisual Studioのディスクに入っていないMSの開発ツールのあれこれを一覧的に紹介しています。

Somasegar's WebLog : Delivering ongoing value

大体ドキュメント含めて40弱。ちなみにここにはAzure ToolkitだのSilverlight 3 Toolkitだのβレベルのツールは含まれていない。

ま、これを選択肢が多いと見るか、無駄にありすぎると見るか。

何かを作るために必要な技術、知識という点で、このような状態が一見便利そうに見えるけども、しかしそれらがかえって僕らの掛け金を上げていないか一度引いた視点で考えてみたほうがいいと思う。

2009年03月22日

IronRuby 0.3 リリース

Iron Ruby 0.3がリリースされました。

Download - IronRuby

変更点は以下を参照

RubyForge: IronRuby: リリースノート
http://rubyforge.org/frs/shownotes.php?release_id=32447

ということで、Mix 09ビルドですw

Mix 09でのASP.NET MVCのデモは以下にあるようです。

http://github.com/jschementi/mix09/tree/master

最近更新が滞っておりますが、個人的には忙しすぎて吐きそうな感じです。

2009年03月19日

SilverlightのCOMキタコレ

ローカルコネクションって。。

ローカルコネクションは別にCOMそのものじゃないんですが、ローカル環境においてはSilverlight 3のアプリケーション間でお話しできるようになるらしいですよ。

Mike Taulty's Blog : A quick look at Silverlight 3: Local Connection

やっぱクライアントにフルセットの.NET Frameworkは必要ですか?って勢いだな・・

Silverlight 3の開発者向けサイトとドキュメント

silverlight.netの開発者向けサイト

http://silverlight.net/getstarted/silverlight3/default.aspx

MSDNライブラリ(ドキュメント)

Silverlight

そしてやっぱりWPF(フォーム)はデスクトップアプリケーションの分野でも主流じゃなくなるんだろうか。。

http://www.silverlightshow.net/items/Silverlight-3-as-a-Desktop-Application-Out-of-Browser-Applications.aspx

Expression Web SuperPreview for Internet Explorer

あれ? ヲレなんか夜中に間違えたことかいてる。こっちがそうだった。。

今行われているKeynoteではExpression Webでの複数のブラウザを横断した形でのオーサリング機能の強化がデモされていました。

Download details: Expression Web SuperPreview for Internet Explorer

S#arp Architecture

ASP.NET MVC + NHibernateでDDDに基づいたアプリケーションを構築するためのフレームワークのようです。素直にEntity Frameworkでなかったりするのは、DDD, テスト駆動、IOCを使いたいといったところが理由なようです。ああなんてオブジェクト指向。

sharp-architecture - Google Code

Windows Azure Tools for Microsoft Visual Studio March 2009 CTP

今日はこれで最後だよね。。

Download details: Windows Azure Tools for Microsoft Visual Studio March 2009 CTP

Azure向けツールの更新です。

Data-Driven RIA with Silverlight

メモ。ちうか眠い!

Download details: Data-Driven RIA with Silverlight

CAT.NET V1 CTP

CAT.NETはXSS, SQLインジェクション等の脆弱性が内在していないかをコード分析するツールのようです。

Download details: CAT.NET V1 CTP

Expression Blend 3 Preview

そゆもの。

Download details: Expression Blend 3 Preview

今行われているKeynoteではExpression Webでの複数のブラウザを横断した形でのオーサリング機能の強化がデモされていました。

Microsoft® Silverlight™ 3 SDK Beta 1

ということでこちらもお披露目

ダウンロードの詳細 : Microsoft® Silverlight™ 3 SDK Beta 1

ASP.NET MVC 1.0

ということで、正式リリースです。

Download details: ASP.NET MVC 1.0

2009年03月11日

“The no spin details on the new SDS features”こいつは波乱の幕開けだ

今までクラウドコンピューティングのデータストアはKVSが本命でリレーショナルデータベースなんてスケールアウトできなくて、パフォーマンスも出ないからステステとさんざん言われ続けてきたわけですが。。。

SQL Data Services Team Blog : The no spin details on the new SDS features

この記事ではKVS何それ? クラウドだろうとなんだろうと、うちらあくまでもリレーショナルデータベース屋ですから、お客さんに提供するのはリレーショナルデータベースすよ。そんなSQL Data Servicesチームの心意気が伝わってきます。

まぁようはCloud町内でけんかを売り始めたわけです。

しかしこの記事読みながら、次のようなことを考えていると

  • クラウドのデータベースにT-SQLでクエリ。
  • クラウドのデータベースにMSアクセスからODBC経由で接続
  • クラウドのデータベースに対してインデックスチューニング
  • クラウドのデータベースなのにストアードプロシージャ
  • クラウドのデータベースなのにビュー
  • クラウドのデータベースなのにクエリ結果がレコードセット

もうね、にやにやしてきましたよ。

完全にSQL Data ServicesチームがCloud町内に燃料投下した状態なので、これからの展開もまた楽しみです。

ああSQL Server勉強してきて良かった!と取り合えず書いておこう。

今年のチューリング賞はバーバラ・リスコフさんに

DDJの記事よれば今年のチューリング賞の受賞はバーバラ・リスコフさんに決まったようです。

リスコフさんの業績については以下を参照。

バーバラ・リスコフ - Wikipedia:

Barbara Liskov - Wikipedia, the free encyclopedia

Doxygenすげー

大抵の人にとっては今更なんだろうけど、感動した。

Doxygen

特にGraphvizとの組み合わせによるコールグラフ、継承図などの自動作成はすばらしいとしかいいようがありません。

何故今まで使ってなかったんだろう!

できあがりはこんな感じ。

image

 

image

ちなみに期待していたRTFの方はアレゲでした。。

高価な有償製品の前にちょっと試してみてはいかがでしょうか。

お金や予算つくならがつんとツールを買っても良いと思いますけどね。

追記(14:25)

C#のXMLコメントではC++にあるようなクラス図(一覧)は書いてくれないみたいだ。ガチに全機能使うにはDoxygenの流儀でコメント書かないとだめなんだろうなぁ。

さぁ、あとは社内向けに文書をまとめよう。

2009年03月09日

4/6 TF セミナーでモデリング & ”Oslo” と Osloの輪

長沢智治のライフサイクルブログ : “Oslo” の輪 を作ってみました。

参加しちゃった(てへ

長沢智治のライフサイクルブログ : 4/6 TF セミナーでモデリング & ”Oslo” ~ LT ももちろん募集!

上司許可もないのにセミナーは登録。。。

追記(16:50)

肝心のOsloの輪の記事を忘れていたので追加しました。。。

2009年03月03日

Windows SDK 6.1を入れると.NET FrameworkのツールがVS 2008のコマンドプロンプトから呼び出せなくなってしまう。

Windows SDK 6.1には、sn.exeやildasmといった昔から有る基本的な.NET Frameworkのツールは含まれていません。この為、SDK 6.1を入れるとSDKツールの参照先パスが6.0Aのしたのbinディレクトリから6.1のbinディレクトリに移ってしまいVS2008のコマンドプロンプトからsn.exeやgacutil.exeといった.NET Frameworkのツールを呼び出すことが出来なくなります。(正確にはWindowsSdkDir環境変数の内容が変わってしまうため)

6.0Aの下のbinディレクトリをPATHに登録してしまえば事足りますが、最初は訳がわからずびっくりするので注意した方が良いです。また、そのときにパス位置も必ず6.1の後にくるように注意してください。

また、これはSDKだけでプログラミングしている人にも重要な点で、一度6.0A SDKをインストールしてから(もしかすると.NET Fx 2.0 SDkから?)6.1をインストールする必要がありそうです。全くめんどくさいですね。どこがfor Windows 2008 and .NET Framework 3.5だと(ぶつくさぶつくさ)

Velocity CTP3 はもうすぐ

Mixに合わせ、リリースされるようです

Microsoft project code named "Velocity" : Velocity CTP3 ...

2009年03月02日

Microsoft TechDays 2009 セッション ビューア

というこで、キーノートとブレークアウトセッションが全部見えて、スライドもダウンロードできます。

Microsoft TechDays 2009 セッション ビューア

でも、BOFは無し!BOF中心に参加した漏れは勝ち組!(冗談です。。。)

まぁまじめにこの手のカンファレンスはいろんな人にお会いして、お話しするのが目的になってきているので、このように全セッション公開されようとそちらで参加費分の価値は充分にあったと思います。

ProjectTicketExprot - 1.0 Beta

TracのチケットとMS ProjectのWBS項目を連携を取るソフト。

ProjectTicketExprot - 1.0 Beta - かおるんダイアリー

ある意味「待望の」なんだろうけど、ProjectというよりPMBOK的なWBSの考え方とTracのチケットは合わなすぎるので(まずチケットはWBSのようにドリルダウンできない)、そこら辺はあまり期待し過ぎちゃ行けないと思う。逆にそこが気にならなければ、ガントチャートエディタとしてProjectは使いやすいので(本来その使い方がダメだと。なぁ...)そう使う分には良いと思います。

2009年02月28日

Maestro: Isolation, Agents, and Message-passing in .NET

Maestro: Isolation, Agents, and Message-passing in .NET

MaestroはErlangのような祖結合、メッセージ駆動型のマルチスレッドの仕組みを.NET上に構築するためのプロジェクトのようだ。

.NETのスレッドの仕組みはCLRの提供するマルチスレッドの機能とスレッドプールの機能に依存していてその基本はリソース共有型のマルチスレッディングとなる。

リソース共有型のマルチスレッディングの問題はリソース(メモリやディスクI/O)を共有するため、その共有リソースに対しアクセスをする場合ロックを掛けるのだが、このロックにより、他のスレッドでロック解除待ちが発生し、実際には他のスレッドので処理が行われず、並列性が阻害される。

このロック待ちによる並列性の阻害は同一時刻断面で多数のスレッドが動作するメニィコアの世界ではより深刻になる。(プロセッサやコア数が少ない場合には同一時刻断面で同時実行されるスレッド数が少ないので、ロック待ちによる並列性が阻害される確率は下がってくる。その代わりそもそもスレッドの割り当て待ちが増える。)

.NET Fx 4.0で追加されるParallelも実際にはこの部分には実質的な変更はせずに、クラスライブラリで従来のThreading名前空間のクラスを使ったプログラミングに比べプログラミングのコード量を減らしているに過ぎない。

そのため、多数のスレッドが同時実行される場合にはスレッドを密結合して共有リソース上の共有データを持ち合う今の方法よりも、スレッド間を祖結合にするために共有データをメッセージとしてスレッド間でやりとりする方法のほうが、スレッドの同時実効性が向上すると考えられる。

別にこれは今まで議論がなかったことでも計算幾科学上の議論がなかったことでもなく、OSのマルチプロセス環境ではかならず密結合型のマルチタスク機能と祖結合型のマルチタスク機能は提供されている。前者はよくある共有メモリを利用したプロセス間通信やRPCであり、後者はWindowsやOpen VMSに見られるメールスロットによるプロセス間通信にその思想を見ることが出来る。(Windowsのプログラマはみんな使ってないけどさ。)

祖結合の利点や特性については、今ある分散環境での祖結合(メッセージキュー)のソリューション(MS-MQ, IBM MQ)やErlangについて調べてみるとわかってくると思う。

また、PCベースのマルチプロセッサのアーキテクチャがNUMA化されている中で、迂闊に共有メモリを使う場合の実際のコストに関しても注意して行く必要があり、その点でメッセージパッシング方式の方がOSやランタイムで工夫できる余地が多い事についても考えていきたい。

という事で、安心した。(VS10/.NET 4の並列性機能の拡張でネイティブコードにメッセージ駆動型の並列機能のライブラリがあるのに.NETに無かったのが不満だった。)

ま、ようはプロセッサのクロックがあがらず、フリーランチが無くなり、メニィコアによって並列性が重要になる世界って言うのは、今まで巨大なマルチシステムのメインフレームやハイエンドのRSICプロセッサのサーバーでアプリケーションを作っていた一部のプログラマの苦悩や苦労を僕らも背負うことになるって事。

2009年02月27日

Key-Value Store(s)という流れ

はじめは大規模なWebサービスを提供する現場の工夫に始まった分散キャッシュ技術、これが最近ではキャッシュのみならずデータのレプリケーション、永続化も可能となりKey-Value Store(KVS)と言われるようになった。

実質的にOracleやIBMのくそ高いインメモリデータベースにかなり近づいてきているが、それらがメモリ上にRDBMSを構築する物であるのに対し、KVSはキー値とデータというもっと単純なデータ構造を持つのが大きな違いだ。

スケールアウトによる負荷分散を前提とする大規模なWebサービスやユーティリティコンピューティングにとってRDBMSを前提とするOLTPの考え方はそれがボトルネックになり、パフォーマンスと冗長性に対する傷害になりやすく、KVSのようなネットワーク透過で高速な分散ストレージの方が適している。ただそこで問題になるのはいわゆるATOMの部分で、ようはトランザクションがかけられない。

そこで最も重要なのはこういったKVSに合わせた新しいソフトウェアアーキテクチャパターン、それよりももっと純粋な技術背景となる思想といった物(そもそもデータの一貫性は本当に必要なのか?)で、それでも過去RDBMSがそうだったようにKVSに合わせた新しい概念が登場する物と思っている。

ということで、メモ書き。

2/20にこのKVSを対象とした勉強会が開かれたらしい。

「キー・バリュー型データストア」開発者が大集合した夜:ITpro

こちらでどのようなKVSが有るかまとめられている。うーんErlangでの開発が多い。当然のように.NETだのC#という文字はそこにはない。

Anti-RDBMS: A list of distributed key-value stores | Richard Jones, Esq.

昨日も一つ以下の物がニュースになっていた。

http://code.google.com/p/redis/

MSのVelocityは開発と情報が出てくる頻度が遅すぎるし、目指すところがどうもOracleとかのインメモリデータベースに有るような気がしてならず、このままだと酷く埋没した技術になりそうな気がする。というよりも、MSはWindowsが企業内ユーティリティコンピューティングのプラットフォームになることでさえ見放したのか?(ぶっちゃけ.NET ServiceisやAzureのバックエンド技術の切り出しだろうから、開発がそちら優先でVelocityとして外に出したくても出せないのかもしれないが。)

2009年02月23日

インハウス時代のソフト会社をうけての私考

スタロジ、羽生さんのBlogより

株式会社スターロジックの羽生章洋が書いてるブログ:インハウス時代のソフト会社 - livedoor Blog(ブログ)

ここ数年、OSS(オープンソースソフトウェア)関連で講演させていただくときに「インハウス(内製)が復権する時代の到来」ということをお話させて頂いてます。

OSSというのは基本的に無償で入手できます。そして肝であるソースコードが公開されている、つまりオープンであるであるのが最大の特徴です。この特徴を活かすことで、少し知識のある人がいれば自社内でIT化を進めていけます。例えばこのような事例があったりします。

ソフトウェアの内製化はこのご時世という側面もあるかもしれませんが、基本的には好不景気に関係ない流れだと僕は思っています。

何らかのビジネスをしていて、それを恒常的に改善していこうと考え、日々様々な工夫をして事務作業やワークフローの改善を行っていく時に、その改善作業のボトルネックになってしまうのがITシステムだからです。改善提案があり、いざこうやろうとした時に今のビジネスではそこでITシステムの改造を伴いますが、この改善作業が完全に社外リソースに頼っていては、そこから外部のSIer等と仕様打ち合わせ、発注、先方での開発試験、検収試験を行っていたのでは、ビジネスのスピードで要求される業務改善のスピードに間に合いません。現場での業務改善を考えた場合恒常的にITシステムも改善できる環境が必要で、そのためにはソフトウェアシステムの内製化は必然だと考えています。

また、そうした必然となったソフトウェア内製にとってもっとも最適な開発手法がXPに代表されるアジャヤイルな開発方法論だと考えています。ユーザーと開発者の距離を可能な限り小さくし、漸増的に常に開発を続けるXPは日常的な業務改善との相性がいいはずです。これは余談ですね。

さて、そうなった時のSIerの方向性ですが羽生さんのようにSIer側が顧客のスピードに合わせてプロフェッショナルとしての技術を提供するのも一つの道だとは思います。また、内製化部隊に対してフレームワークやその実装に必要なDSLを提供すると言った、極めて専門的な分野で、ソフトウェア内製チームを支援していくような業務も考えられると思います。

自分たちの会社がこれからどうすべきなのかはまだ考えどころです。具体的な考えがまとまっていません。上の文での後者のイメージが良いのではないかと思っていたりもします。一般的なビジネスアプリケーションを作るSIerに比べれば、その流れはゆっくり時間差でくると思いますが、自動制御業界へのお客様の要求の流れは基本的に変わっていないと思います。

2009年02月20日

salesforce.comが定額給付金システムを提供

なんか香ばしい臭いが漂ってくるのは僕だけなんだろうか。

定額給付金管理システム お問い合わせフォーム - salesforce.com

どうせ1度しか使わないシステムなのでSaaSの方がコスト的にも優れているのかもしれませんが。

インテルが負ける気がしない

最近インテルはARM連合に負けるんじゃないかと思うときもあるのですが、以下のインタビューを読む限りそんな考えを持つこと自体不要な気がしてきました。

インテルのバレット会長が語るパラノイア、Coreブーム、ギガヘルツの終焉 : Gizmodo Japan(ギズモード・ジャパン), ガジェット情報満載ブログ

「おい、そこの頭の切れる若いの。俺たちはこのご老体だが、ムーアの法則をこの40年ずっと守り通してきたんだ。台無しにするなよ」。するとなんせ頭がいいから、なんとかなるんだよ。

この辺にとんでもないDNAの継承方法を感じます。

パラノイアでいること、(ライバルを凌駕する)高い目標を自らに課して奮い立たせることが勝つための秘訣のようです。おまえら海兵隊か。

2009年02月19日

ASR191

Ruby 1.9.1で邪道を突き進むための物です。

ASR191 - L'eclat des jours (2009-02-19)

Ruby-1.9.1用ActiveScriptRuby(というActiveScript。パッケージではありません)をリリースします。

ActiveScriptRuby and Other packages

ここより、ダウンロードして使用できます。今回は「パッケージ」ではないので、上ページの内容をよく読んで利用しましょう。

2009年02月18日

気になる本:Rails for .NET Developers

Rails for .Net Developers (Facets of Ruby)
Rails for .Net Developers (Facets of Ruby) Jeff Cohen

Pragmatic Bookshelf 2008-11
売り上げランキング : 70204


Amazonで詳しく見る
by G-Tools

.NET FrameworkプログラマにRoRを薦める本のようです。

誰か、これを翻訳するか類似する本でも書いていたりしてな。

日本のWindows DDK/SDKサポートチームのBlogが出来たようです

またしてもIRCでonoさんから。

Japan WDK Support Blog

全てのドキュメントを日本語に翻訳するのは、大変なので、中々できませんが、その代りに、私たちが、お客様のお問い合わせを対応してきて蓄積してきたノウハウを少しずつ発信していきたいと思います。

楽しみにしたいと思います。

2009年02月16日

IDE as a Service ??

Mozilla Labs、開発環境のクラウド化を促進する「Bespin」を公開 - システム開発 - ZDNet Japan

当然の流れなのかもしれない。特にMozilla的には。

2009年02月15日

デブサミ2009 株式会社はてなの開発戦略

デブサミ2009「株式会社はてなの開発戦略」講演メモ - RX-7乗りの適当な日々

要約するとSVNリポジトリをおいていたサーバーののRAID1で組んでいたディスクが片側壊れたら、もう片方も実は不良でした→ リポジトリがぶっ飛びました!3500ぐらいのプロジェクトがパー→バックアップえ?なんですかそれ?→gitに乗り換え。→gitサイコー!(イマココ)

いやはや、この転んでもただではおきないさ加減は見習うべきなんだろうな。

それにしても、ディスク冗長化とバックアップとそのバックアップもシステムバックとデータバックアップは全部意味が違うぞって言うのは開発者もおぼえておいた方が良いよね。僕には怖くてバックアップなしでリポジトリ運用は出来ないなぁ。データバックアップだけでなくシステムも壊れると復旧までに時間がかかって、ここ一発大事な時に・・・とか思うから(そしてここ一番大事な時に限って壊れるんだよ)、リポジトリのサーバーをわざと仮想化して仮装ディスクごとバックアップできるようにしたもの。あと、はてな色々大丈夫なのかとか、まぁここはきっと運用の人は心得ていると考えよう。

この話で得られる教訓はバックアップ大事って事ですね。gitとかもうどうでも良くて。

ということで、超上から目線で書き連ねてみました。

あわせてよみたい

システムはなぜダウンするのか 知っておきたいシステム障害、信頼性の基礎知識
システムはなぜダウンするのか 知っておきたいシステム障害、信頼性の基礎知識 日経コンピュータ

日経BP社 2009-01-15
売り上げランキング : 1043


Amazonで詳しく見る
by G-Tools

続きを読む "デブサミ2009 株式会社はてなの開発戦略" »

TracLightning2.1リリース

いよいよリリースとなりました。

http://sourceforge.jp/projects/traclight/releases/ 

そのままでのアップデートの可否等確認しないと。

作者さんのBlog:
Heretic Programmer(2009-02-15)

2009年02月13日

気になる本:アーキテクトの審美眼

アーキテクトの審美眼
アーキテクトの審美眼 萩原 正義

翔泳社 2009-03-03
売り上げランキング : 74010


Amazonで詳しく見る
by G-Tools

帯の笑顔が気になるw

ぽちっとな。

2009年02月12日

Moonlight 1.0 goes live

Moonlight 1.0 goes live - Miguel de Icaza

MonoプロジェクトのSilverlight互換Moollight 1.0が正式リリースとなったようです。

また、上のBlogではMoonlightの今後についても書かれています。

Moonlight - Mono

MoonlightRoadmap – Mono

2009年02月10日

OPC UA 仕様書完成

個人的にはここまでが長すぎてすっかり熱が冷めちゃった感じですが、OPC UAの全仕様が完成されました。

 http://opcfoundation.org/Downloads.aspx?CI=290

(※ダウンロードにはOPC Faundationのアカウントが必要です。ちっとも"Open"じゃないね)

この仕様策定完了まで長すぎましたし、長すぎたためにOPC UAの策定根拠であり、よりどころであるSOA自体がBuzzワードとして消えかかろうとしていますし、基盤技術であるSOAP/WS-*も特別な相互運用が必要な場所で使われるマイナーなプロトコルに落ち、Web Serviceの主力基盤技術・プロトコルはREST/HTTPになってしまいました。

個人的には登場したばかりですがもう既に過去のものであるかのように思います。

非常に残念ですが、OPCとして、クラウドのソフトウェア基盤技術を見つつ、JavcvaScriptやRubyでも容易に実装できるような軽量のプロトコル作成が急がれていると思います。

もとねた(相も変わらず多謝)

OPC Programmers' Connection - OLE for Process Control

このみちは~いつかきたみ~ち~♪

あ~あ そうだよ♪

失敗事例に学ぶFlexプロジェクトの第一歩:CodeZine

コピペいっぱいとか、それも原因で速度が出ねーとか、えーっとそれ前からよく見ますという近視眼におそわれる。

GUI BuilderのあるRADツールであれば、それこそVBだろうがDelphiだろうが一度は通る道を、大幅にあとからやってきたFLEXが通らなくて良いのに通っているだけだろう。

むしろなんでこう同じ失敗を繰り返すのかという事例研究をしっかりやった方が業界全体の品質管理に役立ちそうだ。

なんかめさいあさんも書いてるな。。

2009年02月08日

アラン・ケイ氏京都大学名誉博士称号授与記念講演会(スライド映像付き)

みつけた!音声は英語。

追記(21:43):日本語同通版もあった!

2009年02月07日

I18N : Ruby M17N の設計と実装

という事でるびまのRubyでのM17Nに関する記事から。

Rubyist Magazine - Ruby M17N の設計と実装

ロケール

Ruby 1.9 はそれぞれのシステムでロケールの取得を試みます。Unix 環境でも Windows 環境でも、環境変数 $LANG が設定されていた場合はそこからロケールを決定します。Windows で $LANG が設定されていなかった場合、GetConsoleCP を用います。こうして決定されたロケールを表すエンコーディングオブジェクトを取得するには、Encoding.find("locale") を用います。

なお、Ruby がシステムのロケールを理解できなかった場合、ロケールエンコーディングは ASCII-8BIT になります。

えー不評。。

ここはコンソールコードページではなくユーザーロケールをとってほしい。そうでないと色々ややこしいよ。コンソールのCPはDOSのための互換機能ぐらいに思ってほしい。

あと、

UTF-16 & UTF-32

先述の通り、Ruby 1.9.1 では UTF-16BE、UTF-16LE、UTF-32BE、UTF-32LE がサポートされています。これらは全て BOM *2なしのエンコーディングです。よって、U+FEFF は ZERO WIDTH NO-BREAK SPACE として認識されるので、BOM であることがわかっている場合は適宜削ってください。また、Ruby 1.9.1 では、"UTF-16" と "UTF-32" はサポートしていないことに注意してください。 ASCII 非互換なエンコーディングは一部の先述の通りサポートが限定されているので、本格的に扱いたい場合は UTF-8 に変換して扱うことが推奨されます。

BOMなしでUTF-16を扱うのはかなり考えさせられる。あるなしのオプションはあってもかまわないとは思うけど、LE,BE混在で処理が必要な場合にかなり困ると思うぞ。自分でエンコーディング追加しろってことか。

ということで、記事は一通り読んで頂くとして、WindowsのMUI/NLSの考え方と整合性を持たせながらRubyのM17N使うのはやっかいそうな感じです。

ああ、この文書でWindowsの場合にロケールと呼ばれている物はシステムロケールなのか、ちぇっ。

まぁMCI方式にした時点でって事だなぁ。

2009年02月03日

UX Patterns Explorer

Infragisticsが提供しているらしいUser eXperienceのパターンをまとめサイト。 (英語)

Infragistics Quince: UX Patterns Explorer / Home

サイト自身が美しい。ただし美しいことと使いやすいことは違う。

Microsoft Songsmith

On Off and Beyond: 身悶えするほど恥ずかしいマイクロソフトのSongsmith

SongsmithはMicrosoft Researchが制作した、鼻歌に伴奏を付けてくれるソフト(らしい)。

本体がまともに取り上げてくれないから自分たちで販売に乗り出したらしい。F#のようには上手く行かなかったようですね。

Blog等であまりにもひどい書かれ方をしているので、逆に思わず買ってしまおうかと思った。円高だし。お値段29.95ドル。

Microsoft Songsmith

Buy, download Microsoft Songsmith from Microsoft Store

このコンピュータ書がすごい! 2009年版の動画が公開されました

1/10にジュンク堂池袋店で行われた「このコンピュータ書がすごい!2009年版」がニコニコ動画で公開されたようです。

なんか映ってるな。ていうか壁になってるな。あははは。。

トークセッションの動画を公開しました - 『このコンピュータ書がすごい! 2009年版』最新情報 - compbookグループ

2009年01月31日

Oslo SDK January 2009 CTP

新CTPです。。

Download details: Oslo SDK Jan 2009 CTP

変更箇所等々はReadmeを参照のこと。

Don BoxのBlogが久しぶりに更新されたと思ったらこれだもの。

Fresh Oslo Bits - Don Box's Spoutlet - Pluralsight Blogs

アランケイ京都大学名誉博士号授与記念講演(日本語同通)

日本語同通の音声で。

 

元ネタは

2009-01-30 - 大島芳樹のカリフォルニア日記

からです。

追記(メモ):

スライドを見せながら話しているのに、そのスライドが見られないのは辛いな。

はしがき。

今のソフトウエアはエンパイアステートビルより複雑。しかしそれは必要のある複雑さではない。

大切なのは新しい見方を得ることそれに順応すること。抽象化抽象概念を自動化することが新しい見方をうむ。小さなブロックを積み上げるのではなく大きな構造(抽象化抽象概念)を定義することでコンピューティングをスケーリングする。

非常に小さく、しかし包括的なカーネル。DNAのようなカーネル。

これからのコンピューティングに必要なのは今までの継続ではない新しい見方、新しい味方を得るための教育。インターネットを超えたスケーラビリティ、キャパシティを持ったコンピューティング、シンプルな物から生物学的に複雑なシステムを構築するコンピューティング

ダメだちゃんとまとめられない。スライドみたいよ。

追記(19:28)

この講演内容のベースはこの文書みたいです。

「ソフトウェア工学」は矛盾語法か?
http://metatoys.org/oxymoron/oxymoron.html

はじめての “Oslo” – Tech Days 2009 でのサンプルと解説

Tech Daysも終わり登壇者の皆さんからのフォロー記事もあがってきました。

長沢智治のライフサイクルブログ : はじめての “Oslo” – Tech Days 2009 でのサンプルと解説 - Part I

長沢智治のライフサイクルブログ : はじめての “Oslo” – Tech Days 2009 でのサンプルと解説 Sample Code- Part II

ということで長沢さんのOsloでのサンプルのコード。Mの入手先やインストールについての説明もあります。

Tech Days 2009 で使用した F#入門で使用したサンプル

今度は最終日のF#のサンプルです。

荒井省三のBlog : Tech Days 2009 で使用した F#入門で使用したサンプル

2009年01月30日

書評:モダン・コンピューティングの歴史


ポール E.セルージ
Amazonランキング:225216位
Amazonおすすめ度:

今ある技術を理解し、その技術の方向性や将来性を確認するために技術史を学ぶことの重要性は、ドラッカ著書を引用するまでもなく非常に重要である。ある日突然何もないところからイノベーションは起こらない、実際のイノベーションはそのセンセーショナルな印象とは違い実際には何らかの技術の流れの中で技術が積み重なって出てきたものであり、その新技術の重要性、将来性を理解するためにはそれが何をルーツにするのか、そのことからどのような将来性があるのか複合的に考える必要がある。この技術の連環はクラウドコンピューティングとはいえ例外ではない。

そういった点で、今まで特定の人物、会社に絞った伝記はあっても、書籍として計算機の技術史を全般にわたってディテールを確保しながら網羅しようという試みは少なくそれに成功した本書は、技術を学びそれを職とする者にとって極めて重要な1冊だ。

2009年01月29日

Microsoft Tech Days 2009 2日目

ということでまとめ

T3-307 分散キャッシュテクノロジー Verocity

今年リリース予定のV1ではレプリケーション機能なし。以上。

自分にとってはこれで十分。。代替技術を探さなきゃ。

たぶん目指すところがというかライバルがMemcachというよりOracleやIBMの高額有償賞品なんだろうけどちょっと開発が遅すぎないかい。。

まぁ今はプロジェクトとして残ること自体が幸運なのかもしれない

BOF-5 モデリング

森屋さんと福井さんによるBOF。

前半はAzureの話だったらしいがその後半はOsloについて。まぁBOFなので前日のOsloのセッションに比べればデモ通信ではるかに濃い目。当然こっちのほうが楽しい・

200人らしいので(何が?)信じてもいいのかもしれない。

OsloのモデリングプラットフォームについてはUMLやDOAのモデリングツールのような完成品を求めるのではなく、独自のDSLを作成し、モデリングをしていくためのモデリングツールとして考えたほうがいい。

BOF-6 魅せます、Monoの実力

ノベルの榎本さんによるBOF

Monoの概略、.NET Fxとの互換性の話、Moollightのお話とデモ。

シャレでMoonlightというビスケットが出た

Monoが.NETの互換環境だけでなく、Gnomeの環境を立地にする目的があるという点が印象的。

個人的には榎本さんに会えたのがよかった。モノミーティングいきてぇ

T3-310 F#入門

講師は荒井さん。

「そもそも関数型言語に入門なんてあるのか?」はその通りかと思う。

内容はF#の言語使用の説明

「関数型言語は式」はごもっともというか、多分それが一番分からない

関数型言語はパラダイム変換で頭の中を入れ替えることが何よりも大事だと思う。荒井さんもセッションの中で言っていたけど、関数型言語はそもそも排他制御が必要な変数がないのこともあり並列との相性はすこぶるいいので、ある日気づいたら今の手続き言語と立場逆転しているかもしれないよ。

2日間通しての感想

やっぱりBOF(の方が)が面白い。

セッション内容は開発者向けにTech Edよりも程よく濃くよかったのではないでしょうか。ただまぁ二日間それも午前中はキーノートに取られるという短い時間なのですがもう少しそれぞれに突っ込んだセッションがあってもよかったのかと思います。

Microsoft Tech Days 2009 1日目 その2

ということで、残りの分まとめ

T3-302 初めてのOsloモデリングプラットフォーム

議論の前提となる「モデル」に対する考察

現在のOsloの基本的な構成について

  • モデリング言語”M”
  • グラフィカルなモデルエディタ・分析ツール”Quadrant”
  • レポジトリ(現状はSQL Server)
M言語についての解説

シンプルかつ自然なモデリング

ドメインモデル

Textual DSL

やりたいことはMでDSLを作ってモデルを活用すること

Quadrant

グラフィカルなモデリングツール

人とデータをつなぐツール

Osloはモデリングのプラットフォーム

感想:

Osloの全貌はまだまだこれからだなぁという印象。Mは非常にニュートラルだと思うので、これで完結したものというより、いかにこれを使って独自のDSLを作成していくかだと思う。

T3-303 スケーラブル名並列プログラミング

メニーコアシフト

フリーランチが終わった時代

我々がマルチ、メニーコアに対応しないとハードウェアを活用できない。

その障害としてのアムダールの法則

フリーランチを取り戻す=スケーラブル名並列プログラミング

閉校と並列の違い

マネージドコードでの並列化

ユーザーモードスケジューラー

スレッドプーリングの機構を有効に活用する

Taskベースのプログラミング

  • Threadクラスの使用をやめて、Prallelエクステンションを使用する
  • System.Threading.Taskの使用

構造的な並列化

  • ループは並列化しやすい
  • Parallel.For, Paallel.ForEachの使用

宣言型の並列化

  • PLinq
ネイティブコードでの並列化

メモリ共有ベースの並列化ライブラリ。テンプレートベース。

Agentライブラリ。メモリ共有型でなく、メッセージベースの並列化

感想:

.NET Fx 4から導入される並列化機能の解説が中心。ネイティブコードでのメッセージベースの並列化支援はNUMAアーキテクチャが中心となるマルチプロセッサ環境、ヘテロジーニアスなマルチコア環境が当たり前になりつつあり重要になってくると思う。

2009年01月26日

書評:ひなた先生が教えるデバッグが256倍速くなるテクニック



Visual Studio 2008を前提にしたデバッグのハウツー本。ただツールの使い方というより、その時にどう考えればいいのかというところに注目して書かれている本。
デバッグの方法を特に誰かに教えうけたわけでもなく我流でやってきて行き詰っている人や、この本の主人公(w)のケンイチくんのようにこれからデバッグにかかわっていくプログラマ初心者には何をどうすればいいのかという点に道筋をつけている点でいい本だと思います。
ただそれにしてはC/C++のデバッグに必須ともいえるプロセッサの仕組み等奥行きに関する記述が少なく、これだけで済まないのも事実で、その点についてはこの本の後にさらなる書籍に移っていく必要があるので、それらの書籍の紹介もあったほうがいいと思う。

2009年01月25日

第29回NT-Committee2関東勉強会

昨日はお寒い中お集まりいただきましてありがとうございました。

簡単なまとめと私の感想など。

仮想化技術のキホン

講師:大河原さん

導入としての仮想化技術全般の説明。

各仮想化機能の実装方法とそれらの違いに関する説明。

USBメモリでお手軽仮想化

講師:比留間さん

USBでVMWare ESXiをUSBブート可能にする方法とその実践(デモ)

私の感想:

VMWare ESXiのほうがHyper-V Serverよりコンソールでの設定UIがこなれていて使いやすそう。

SC420で!秘密の呪文 nocheckCPUIDlimit

Webベースの管理ツールっていいよね。

初回USBブート時つながっているHDDを勝手にフォーマットするだとぉ!

ネットワークは早いほうがいい。IntelのServr NICを激しく推奨。ただし、起動イメージの再構成が必要な場合がある。

こいつがなくっちゃ始まらない

講師:堀田さん

仮想化の歴史(メインフレーム時代)

※石坂注 この辺はモダン・コンピューティングの歴史を読むといいです。

言語環境の仮想化

仮想化OS(VMWare、Oracle(Xen)、Hyper-V)

CPU(マイクロプロセッサ)

  • i386の仮想86モードは複数のx86仮想マシンを作成する

メモリ管理

  • Linux/Windows NTではOSの特権エリアとユーザーエリアに分割されるようになった

CPUが提供するメモリプロテクションの仕組み

仮想化支えるハードウェア技術

私の感想:

感情見回した雰囲気として、難しかったでしょうか?私は大変おもしろかったんですが。

OSの内部動作(ハイパーバイザーだってOSだ)の内部動作を理解するためにはプロセッサの仕組み、機能、それらの違いを知ることが必要になります。

2009年01月23日

オバマ大統領はBlackBeryをキープ

良かったですねオバマ大統領。

Confirmed: Obama gets his BlackBerry, no Sectera Edge in sight - Engadget

しかし、新大統領報道官の最初の仕事が大統領はBlackBeryを使えますってどんだけ注目浴び点だよ。(当然記者会見の内容はそれだけじゃないけど)

もちろん誰にでも電話を掛けられたり、SMSやりとりできるわけでなく、周辺スタッフにのみ限定、かつ検閲記録付きというこうとなったようです。

たぶん電話取り上げられた大統領がいらいらする姿を想像しなくて良いので、スタッフたちが一番ほっとしているでしょう。

2009年01月21日

エラー メッセージ

実践的なユーザビリティ: 実用的なエラー メッセージ

このMSDNマガジンの記事を読んで思い出したのがこの本。今でも職場の手の届くところにおいてある。

Windowsエラーメッセージ実装ガイド Windowsエラーメッセージ実装ガイド
Ben Ezzell 古山 一夫

オライリー・ジャパン 1999-03
売り上げランキング : 449944
おすすめ平均

Amazonで詳しく見る
by G-Tools

アプリケーション内部で何らかのエラーが発生した場合、フレームワークやランタイムのエクセプションの情報そのままメッセージボックスで表示するアプリケーションが多いが、それではほとんどユーザーにとって何が起きたのかわからないし、それでできることはユーザーはマシンをリブートして、あなたにクレームの電話を入れることぐらいで、恐らくユーザーにとっても開発者であるあなたにとっても改善や修正に有用な情報は何も残せない。

適切なエラーメッセージとは、ユーザーに対しエラーメッセージを出す以上それがユーザーにとって理解でき、有用な物、少なくとも有用だと感じられる物でなくてはならない。 この本には全編にわたりこのことについて語られているが、完結にまとめるとエラーメッセージとしてユーザーに表示すべき事は以下の3点である。

  • 何が起きたかを想定ユーザーにわかるように説明する。
  • その原因が何と推定されるかを想定ユーザーにわかるように説明する。
  • このエラーによってユーザーに起こしてほしいアクションを説明する。

当然これだけのことを書こうとすれば、メッセージボックスなどで終わりにできるはずがない。適切なフォーム設計が必要であり、それについても実際の実装について書かれている。

ただ、いかんせんこの本が対象としているのは昔のVC++とVBなので、この中のコードをそのまま今の環境にはもってこれないし、時代の変化に合わせた修正も必要だ。(そして今絶版。。)

そう言う意味で、今回のこの記事は運悪くこの本に巡り会えなかった人にエッセンスを伝える意味やこの本の内容を現代化する意味でも読むに値する記事だと思う。

異常時にちゃんとしてくれることこそユーザービリティの第一歩だ。

※ただ自分はこのMSDNマガジンの記事のようには実装しないなーという気はしてる。

※スタックトレースの情報どうすんだって香具師むけに追記しておくと、そんなもんはユーザーに見せずに黙ってログしろと言うことだ。

.net by au

Brew上で(おそらくCLIが走ってその上で).NET Fxのアプリケーションが走ることになったようです。

.net by au | モバイルソリューション | KDDI株式会社

概要・特長

au携帯電話上で動作する、Microsoft® .NET Frameworkと互換性を持つオープンなアプリケーションプラットフォームです。
Windows® PCなどでの.NETアプリ資産、開発ノウハウを流用し、低コスト・短期間での業務用アプリケーションを導入を可能にします。

.NET環境でのアプリケーション開発

Microsoft® .NET Frameworkのサブセットをau携帯電話上に用意することで、豊富な.NETアプリ資産、開発ノウハウを流用しアプリケーション開発を行うことが可能となります。

これってあれか、このときに玉木さんが話していたやつか

エミュレータ付きのSDKとかダウンロードできるようになったりしないかな。

Microsoft Web Platform Installer 1.0 リリース

ようは、これ一つインストールすれば個別コンポーネントやプロダクトをかき集めたりと言った面倒なこともなく、それらのインストールも自動で行われてすぐに開発が始められますよというパッケージです。(英語版ですけど)

  • Internet Information Services 5.1 on XP SP3
  • Internet Information Services 6.0 on Server 2003 SP2
  • Internet Information Services 7.0 on Vista SP1 and Server 2008
  • SQL Server 2008 Express
  • .NET Framework 3.5 SP1
  • Visual Web Developer 2008 Express SP1
  • ASP.NET, Complete and Custom installation options
  • XML-based product manifest updated automatically when tool is run

ダウンロードと概要はこっちから

Microsoft Web Platform

VMWare WorkstationなしでVMWare仮想ハードディスクを作る方法

以下のWebサイトで作れます。。

EasyVMX!: Virtual Machine Creator

VMWare Playerだけですみます。。

なんかすごく気まずい感じなんですが、大丈夫なんでしょうか。

もとねた

あるSEのつぶやき: VMWare Player + Windows 7 ベータ版インストールメモ

2009年01月20日

JPCERT/CCによる制御システムワークショップ

JPCERT/CCによる制御システムエンジニア向けのセキュリティワークショップが2月18日、19日と開催されるようです。

ワークショップの内容については以下のJPCERT/CCの頁を参照してください。

http://www.jpcert.or.jp/ics/taskforce.html (IE7では正しく表示できません)

ここでも書きましたが、もはやITとオートメーションとに垣根など無いのです。単純に分離しているから大丈夫なのではなく、ITの世界では当たり前な多層防御の考え方、背急なアプリケーション実装、後付ではなく、設計の最初からセキュリティに関す利子洋を取り込む努力といったものが必要になっています。

自分も可能であれば是非参加したいと思っています。

2009年01月19日

気になる本:プログラミングC# 第5版

O'Reilly Japan News 第132号より

-----------------------------------------------------------
■プログラミングC# 第5版

   * Jesse Liberty、Donald Xie 著
   * 鈴木 幸敏、首藤 一幸、株式会社情報技研 訳
   * 定価5,040円
   * 608ページ
   * ISBN978-4-87311-396-8

鶴本!キタ━━━━━━━━m9( ゚∀゚)━━━━━━━━!!

発売は来月です。

その前にプログラミング言語Rubyだの、初めてのPython第3版なども控えているわけですが。。

http://www.oreilly.co.jp/books/9784873113944/

2009年01月15日

Channel 9でのWindows Server 2008 R2のリソース

昨日書いたNUMA APIのデモ等確認することができます 。

w2k8r2 | Tags | Channel 9

2009年01月14日

Windows Server 2008 R2 と Windows 7 での新しいNUMAサポート

AMDはもちろん、ネハレン以降のIntelもマルチプロセッサのアーキテクチャがNUMAになってしまうわけで、 WindowsがサポートするプラットフォームのほとんどはNUMAという状況になるのでNUMAのサポートを強化する必要があるわけです。

New NUMA Support with Windows Server 2008 R2 and Windows 7 - Home

狙い的にはタスク切り替え時にNUMAのプロセッサグループをまたぐ形でスレッドが移動してしまうとプロセッサ間でのメモリ転送のコストが大きいので、プログラマがちゃんと書けばスレッドをむやみにプロセッサグループ間で移動しないようにできるよってところですかね。(ちなみに実際問題としてこの資料で言われているプロセッサグループは複数コアを内蔵する物理プロセッサを実際には指すと思います。)

この辺インテリジェントにCLRでラップしていただけるとありがたいです。

2009年01月08日

MicrosoftのBokuがKoduとして登場


CES 2009 Matthew MacLaurin on Kodu

以前MSRのイベントでBokuとして紹介されていたXBox 360上で動作するグラフィカルなプログラミング環境がKoduと名前を変え登場するようです。

Koduで作成されたゲームはXBox Liveマーケットプレースで公開することもできるようになるようです。

2009年01月01日

.NETでの例外処理について

とあるコンサルタントのつぶやき : .NETの例外処理 Part.1

まぁわかるんだけど、例外発生時にプロセスを落としていいかどうかでこの考え方は根本的に変わってしまうね。まぁそこでケースバイケースなんだろうけど。

たとえばディスクIOエラーとかDB関係のエラーは、次の機会では回復する可能性もあるので、その例外が発生したときにプロセスが落とすか、落とさないかというのはシステム要件だね。僕の仕事では例外処理を入れてログに出させて、必要な利用者にメッセージを出して(メッセージボックスじゃないけどね)とりあえず処理を継続させる方が正しい。

まぁ結局システム要件ごとに例外処理も実際には変わってくるし、これでどれでもOKということもないので、結局自分の頭で考えることになるけど、参考になる記事だとは思います。

2008年12月29日

『このコンピュータ書がすごい! 2009年版』の予習

『このコンピュータ書がすごい! 2009年版』最新情報 - compbookグループ

高橋さんが新春座談会に向け、予習しろと冬休みの課題図書リストを提出されています。

この5冊、たぶん10日までにはかなりの速読でもないと1冊読みきれないと思います。

たぶん、このうち1冊自分が読まないといけないなと思っているのはパターン認識と機械学習で、今後10年のコンピューティングというものを考えたときに、この本に記されている内容がプログラマにとって必要な基礎の一つになると思っているからです。だからといって読んで理解できるとも思っていないのですが。まぁそんなことでは向こう側の中の人にはなれそうにありませんねw

2008年12月19日

DCOM仕様書

http://download.microsoft.com/download/a/e/6/ae6e4142-aa58-45c6-8dcf-a657e5900cd3/%5BMS-DCOM%5D.pdf

こんな形で手に入るとは。

以下の大西さんのBlogで紹介されている、マイクロソフトの各種プロトコル等の公開ページで、Windows Serverのプロトコルの1つとして公開されていた。

Akira Onishi's weblog : Microsoft Protocol Programs と MSDNライブラリのOpen Specifications(英語)

ダウンロードの詳細 : Microsoft® Visual Studio Team System 2008 Database Edition GDR

そゆもの。SQL 2008への完全対応とか、VS2010搭載予定機能の一部先取りらしいです。

ダウンロードの詳細 : Microsoft® Visual Studio Team System 2008 Database Edition GDR

2008年12月18日

連載記事「組み込みマルチコア進化論」 - @IT MONOist

良スレの予感w

連載記事「組み込みマルチコア進化論」 - @IT MONOist

対象を組み込み開発としていますが、マルチコアでの並列処理全般に興味のある人は読んだ方が良いかもです。

#こういう話は読んでいても飽きない。

2008年12月17日

Processing

本家: Processing 1.0

日本語での情報サイト:Processing.jp

某方面ではまぁ色々とピンとくる物が無く、Processingでもちょっとさわってみようかと。

ここでもはまりの神様は私に舞い降りるらしく、Windows(Without Java)なパッケージではしっかりJavaVMがインストール済みなのに動いてくれません。動かない環境がある問題もあるらしいのですが、なんだろう。x64だからか?とりあえずフルパッケージの方を落として、解凍し、Processing.exeを起動すればつかる環境にはなりました。しかしちょっと気分悪。

ちなみにプProcessingはJavaの構文を利用してグラフィックを操作するのが楽なプログラミング言語/環境です。

2008年12月15日

気になる本:ThoughtWorksアンソロジー

おそらく今年最後の冬休みの課題図書。

Book:ThoughtWorksアンソロジー

ThoughtWorksアンソロジー ―アジャイルとオブジェクト指向によるソフトウェアイノベーション
ThoughtWorksアンソロジー ―アジャイルとオブジェクト指向によるソフトウェアイノベーション 株式会社オージス総研 オブジェクトの広場編集部

オライリージャパン 2008-12-27
売り上げランキング : 11172


Amazonで詳しく見る
by G-Tools
マーティン・ファウラーが在籍するソフトウェア開発コンサルティング会社、ThoughtWorksのメンバーによるエッセイ集。

2008年12月13日

VS 2010 CTPが2009年1月1日で期限切れになってしまう問題

そうなんです。1月1日には期限切れになってしまうのです。

Brian Keller: Technical Evangelist for Team System : Visual Studio 2010 CTP VPC: Dealing with Activation Messages

上のブログではその回避方法として、Virtual PCの設定でホスト・ゲストの時刻同期を切ってしまい時計を元に戻す方法があげられています。。。

まぁこれもありといえばあり。

ただ一番スマートな方法は年末までにMSが新しいCTPをリリースするだろうなw

というか、日本でTech Daysをやるときに、せっかくセッションを受講してもさわるものがないという状況になりかねないよね-。

2008年12月11日

IronPython - Release: 2.0

キタ━━━━━━━━m9( ゚∀゚)━━━━━━━━!!

IronPython - Release: 2.0

いよいよリリースですよ!

リリースノート

2008年12月10日

OpenCL

Open CLがKHRONOSにて標準として批准されたようです。

OpenCL

2008年12月05日

Cellプログラミングチュートリアル

ホモジーニアスなプロセッサでのプログラミングしか知らない物(ヲレ)にとってはかなり興味深いとともに、中の人になったら殺されそうだと思う。

Cellプログラミングチュートリアル - PS3 Linux Information Site / Cell/B.E.のパワーを体験しよう

まぁ、この世界に入り込めれば幸せなのかもしれないし、ヘテロジーニアスなプロセッサで苦労するというのは数年後の自分であるかもしれないわけだ。

2008年12月03日

Booの入門記事

.NET言語、Boo入門 (1/5) :TEDIA

Booの日本語で読める入門記事が登場しました。

BooはIronPythonのようにCLR上で動作するスクリプト言語で、ダックタイピングを備えていたり、特徴的な言語文法を持っています。

2008年12月01日

Martin Fowler's Bliki in Japanese - ボールとソケット

ソケットが意図したいところはわかるんだけどなじめないなぁ。 まぁ、この記事で少しだけ使っていこうかと前向きに。

Martin Fowler's Bliki in Japanese - ボールとソケット

UMLといえば、VS10のUML作図機能があんまりと言えばあんまりな感じなのでどうフィードバックしようか思案中。(というか纏める時間無し)何を目指しているのかがわからない。そもそもUML 2.0には対応しないのとか。

2008年11月28日

クラウドコンピューティングにおける大規模データベースについて

メモ。

栗原潔のテクノロジー時評Ver2 > 3つの最重要企業アプリケーションとクラウドについて : ITmedia オルタナティブ・ブログ

2008年11月27日

I18N : MSDNマガジン CLR 徹底解剖: 国際化対応のアプリケーション

メモ。

CLR 徹底解剖: 国際化対応のアプリケーション

IronPython 2.0 Release Candidate 2

出ました。

IronPython - Release: 2.0 Release Candidate 2

今回はバグフィックスのみ。

またCodePlexにDLRのページができた(あった?)みたいです。

Dynamic Language Runtime - Home

2008年11月25日

GPUとの違いが際立つLarrabeeキャッシュアーキテクチャ - 後藤弘茂のWeekly海外ニュース

GPUとの違いが際立つLarrabeeキャッシュアーキテクチャ-後藤弘茂のWeekly海外ニュース

ららびーの内部解説。このときからの続き。

SIMDを前提としないGPUではない汎用CPUでのAny Coreの形がららびーと同じかどうかはわからないけど近い形にはなっていくんだろうな。

2008年11月24日

I18N : フォント。。。

Microsoft Developer Forum 2008

ここでのQ&A。。

Q:
現在の日本語フォントでは、すべての Unicode 文字を表示できません。世界に向けたユニバーサル フォントを Windows に添付してもらえませんか。

A:
Windows XP 以降では、「Arial Unicode MS」というフォントで Unicode 2.1 規格で定義されている文字、表意文字、記号をサポートしています。

ちょ、おま。。

Vistaが対応しているUnicodeのバージョンっていくつでしたっけ?

ちょっと部屋の隅で泣いてきて良いですか?

続きを読む "I18N : フォント。。。" »

2008年11月19日

Microsoft Robotics Developer Studio 2008リリース

プレスリリース:
Microsoft Unveils Microsoft Robotics Developer Studio 2008: Software development platform allows academics, hobbyists and commercial vendors to simplify the creation of robotics applications across a wide variety of hardware.

ダウンロード:
Microsoft Robotics Downloads

ということで正式リリースです。

Express EditionとStandard Editionがあり、Standardは62,800円ほど。Expressは無料です。

リリースノートによると違いは以下の通り

With this release of RDS the package has been split into two Editions:

  • Express Edition
  • Standard Edition

The Express Edition is available for download from the web at no charge. Standard Edition can be purchased online and then downloaded. Academic institutions can obtain the Standard Edition as part of the MSDN Academic Alliance for distribution to their students, or students can get a copy through the Dreamspark program.

The different Editions contain different features, with Express Edition being a subset of the Standard Edition. Both Editions can be installed side-by-side if necessary. There is no upgrade - you simply install Standard if you already have Express and move any code you have written across to the new directory where it will work without changes (other than recompilation).

って、具体的に何が違うのかわかんないじゃん。。機能比較表とかないらしい。

2008年11月18日

I18N : また照合順序か(その三)

愛々問題をざっと調べてみた - ものがたり

ちなみに、.NET 4.0では文字列処理はordinalがデフォルトになるそうで、もう何年も前からMSのglobalization担当者が見ているところでそうしろと主張していた僕は、ようやく来たかと思ったのであった。

なるほど。

VS2010 CTPの環境でなんの問題も出ないはずだ。コード比較であればこの問題の出ようが無い。

しかし、MSが長い間混乱しながらNLSとSQL Serverで別々に実装してきた照合順序(文字重み付け)での文字比較とソートって言うのはなんだったんだろうね。

2008年11月13日

I18N : また照合順序か

愛が重ならない.NET Framework 2.0 - 新日々此何有哉

また、照合順序上の重みがない事による不具合です。もしかすると.NET FXの不適合ではなく、WindowsのNLS APIかもしれませんが。

ということで日本語が必要な人は以下のページにて高評価(Vote)しましょう。

"愛々,123".IndexOf(",")が不正な結果を返す
https://connect.microsoft.com/VisualStudioJapan/feedback/ViewFeedback.aspx?FeedbackID=381451

2008年11月12日

C++0x ワーキングドラフト公開

 http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2798.pdf

PDFで1352ページあります。読んでられるかーって感じですね。どこまで仕様が大きくなるんでしょう。まぁ大きくなることはC#やJavaでもかわ(ry

日本語の記事:

C++ 12年ぶりに次世代スタンダードへ - "C++0x" 策定進み草案公開へ | エンタープライズ | マイコミジャーナル

WikipediaでのC++0xに関する解説

C++0x - Wikipedia

技術書等を見ながらコードを移すときの注意

写経の注意点です。

コード写経 - 橋本抱懐 - ハチロク世代

本から丸写しでとりあえず動くプログラムを作ろうとしている人はなぜか上から書き写していくが

外側から、{ }とかの外側から内に向かって書く事をおすすめするとしばらくするとコードが書けるようになる

そりゃ普通に