Archive : 2008-05

MAY
29

AU夏モデル

Published:2008-05-29 01:41:07 UTC

auケータイ情報watch-2008年au夏モデル新機種の噂情報

この夏は豊作のようだ。ついに、ついにBluetooth搭載二軸ヒンジ携帯がAUから登場。それも何種類も。今度こそは機種変してやる。

MAY
29

TOEFL iBT対策中

Published:2008-05-29 00:50:22 UTC

只今週末のTOEFLのテストに向けて勉強中。模擬問題を解いているのだが、イメージしていたよりも簡単で一安心。TOEICとは比べ物にならないほど難しいというのがネットでの評価だったが、ReadingとListeningに関してはそれほどの違いがあるようには感じられなかった。むしろパッセージのテーマがアカデミックな内容なので、TOEICより取っ付き易いという印象を受けた。コンテキストから解答を考えるやり方に頼り過ぎていて、英語力というより国語力、公民力で解いている部分が大きい自分としては、テーマはかなり重要であり、本番でも相性の良いテーマであればと切に願ってしまう(笑)

しっかし最近の自分は明らかにオーバーワークだ。去年と同じく歪みが簿記に集まってきている。なんとかせねば。

MAY
28

Windows Live WriterのAPI

Published:2008-05-28 01:15:53 UTC

gihyo.jpにWindowsLiveWriterのプラグイン作成方法の解説記事の第二弾が上がっています。著者は松江祐輔さん。あとこっちに補足が。

結構簡単そうだなー。IEのツールバーをC#で作るよりはずっと。Content Source Plugin APIというものを使えばいいらしい。@itにGoogle Deskbarのマネージドプラグインを作成する方法の記事があったけど、それと同じ感覚で出来そう。このBlogもWordPress+WindowsLiveWriterで運用しているし、今度試してみよう。

ところでこの記事はContent Source Plugin APIを利用したプラグインについての解説だけれども、WLWには他にもWindows Live Writer Application APIや、Windows Live Writer Provider Customization APIというAPIも用意されているらしい。その機能はリンク先のMSDNによれば、以下の通り。

Windows Live Writer includes an application API that external applications can use to launch Writer in order to create new posts, to open existing posts, and to support "Blog This" operations for various content types including links, snippets, images, and feed items.

application APIは外部プログラムから記事を投稿したり編集したり、"Blog This" operations?なるものをサポートするためにWLWを使用するためのAPIということか。Windows Live ToolbarはIEで表示中のページから引用文として取り込みながらWLWを立ち上げられると聞くが、このAPIを使用しているのだろう。

Beta Two of Windows Live Writer introduces a set of APIs which can be used by weblog providers to customize both the capabilities of Writer as well as add new capabilities to the Writer user-interface. Available customizations include:

  • Defining the subset of weblog features supported by the weblog. This allows providers to implement any subset of the core XML-RPC based weblog APIs (Metaweblog, Movable Type, or WordPress) and have Writer’s UI correctly respect this subset.
  • Provide the correct URL entry points for viewing and managing the weblog as well as editing posts online.
  • Define a custom icon and watermark image that appears in the Writer Sidebar
  • Define custom buttons that can link to web-pages, display content in a drop-down, and notify the users of new content and other online activity.
  • Define WYSIWYG editing templates for the active weblog theme.

imageんー、Provider Customization APIは、Blogサービス提供者が自分の提供するサービスと適合するようにWLWをカスタマイズするためのAPIということなのかな?このAPIをうまく使ってやれば、アカウントセットアップ時に右図のように表示されるサービスの一覧に自分のサービスを追加できるのだろう。多分。

ということで、Content Source Plugin APIとApplication APIは大分使えそうな印象。あー、Sleipnirがプラグイン作成用SDKを公開してくれていれば、すぐにでもApplication APIを使用して引用記事を書くプラグインを作るのに。

MAY
27

NHKスペシャル-人事も経理も中国へ

Published:2008-05-27 17:14:49 UTC
TV

半年前の番組。

NHKスペシャル-人事も経理も中国へ

あぁ、観たいなこれ。オフショア化は止められないし、行われるべきだとは思う。しかし、いざ迫ってきている現実を突きつけられると、我が身可愛さにどうしても複雑な感情を抱かざるを得ないだろうが、とりあえずは見てみたい。

MAY
26

katamari blog,katamari soulware

Published:2008-05-26 02:04:47 UTC

凄い、この人凄い!松江祐輔さん、katamari blog,katamari soulwareのオーナーで、色々参考になりそうなこと書いてる。WLWのプラグインやIEツールバーなどを作成されており、この人のWLWプラグインは、このサイトではないけど使用している。TipsをBlogに載せてくれているので、明日早速アーカイブを端から読んでいこう。

MAY
18

RigidChips

Published:2008-05-18 17:53:42 UTC

とてつもない動画を発見。RigidChipsという、Chipと呼ばれるパーツを組み合わせて3Dモデルを作成し、luaで制御して楽しむソフトがあるのだが、それのプレイ動画。

プレーヤーの技術向上が凄まじいなぁ。SSGNは良く特徴を捉えているし、LINE3Dで描かれたCIWSの弾には圧巻というより他ない。かつて自分もハマったが、工夫と技量次第でここまで作り込めてしまうRigidChipsは本当に素晴らしいソフトだと思う。残念ながらRigidChips本体のUpdateは止まってしまっているが、それでも活気を失わないユーザーコミュニティの存在がこのソフトの価値を証明している。自分も、このような素晴らしいソフトを作る技量を身に付けたいものだ。

MAY
18

i18n

Published:2008-05-18 16:45:29 UTC

sc0004

iKnowって英語表示に切り替えられたのか。素敵。Fiddlerで通信を覗いた時に、言語リソースを送っているのを確認していたが、ちゃんとi18nしてたのね。

本気でやるならクロスプラットフォームは避けてMozillaアプリを作るべき-hogehoge

うーん、そうかな。自分もクロスブラウザスクリプティングの労に嫌気が差して、Firefoxの拡張制作に逃げ込んだ経験がある。でも逃げ込んだ先のMDCのドキュメント漁ってたら仕様変更・方針転換の痕跡がゴロゴロあって、サンプルコードとか読んでも、バージョン毎に処理分けしてたりと、クロスブラウザスクリプティングと大差ない面倒を抱え込まなきゃいけないことに気づいて萎えてしまった。

何で後方互換性という基本的なことさえ担保されないのか。

色々事情は有るのかもしれないけど、ブラウザがバージョンアップするたびに動作しなくなった拡張が死屍累々・・・、という状況を許容しているMozillaとは、とてもじゃないが付き合いきれないと自分は思った。やたらと乱発される仕様変更によって、非生産的な対応作業を、ユーザーと、拡張作者に強いるMozillaのやり方は賢いとは思えない

対照的なエピソードがMSにはある。Windowsリリース時の話だ。

スポルスキー氏は2004年にマイクロソフトの基本的な戦略について興味深いことを書いている。DOSからWindowsへ移行する時期に、バギーなアプリケーションをWindows上で走らせるためにアドホックな機能追加を行っていたと証言しているのだ(参考リンク

その具体例に驚かされる。往年のヒットゲーム「SimCity」はメモリの扱いで致命的なバグがあった。開放したメモリを、開放した直後に再び使ってしまうというバグだ。これは1度に1つのアプリケーションしか動かないシングルタスクのDOSでは問題がないが、マルチタスク環境のWindowsでは重大な問題を引き起こす。開放したメモリは、すぐに別のアプリケーションによって利用されるからだ。このためSimCityはWindows上でクラッシュを繰り返したという。SimCityのバグの原因をディスアセンブルして突き止めたマイクロソフトは、SimCityの稼働を検知したらメモリアロケータを特殊なモードで走らせるという機能追加を行った。

これは特殊な話ではなく、Windowsを新バージョンにアップデートしたときに、あらゆるアプリーションが稼働するよう同社のテストチームは非常に多くの“回避策”をWindows上に仕込んでいったという。たとえアプリーション側に問題があったとしても、それはWindowsユーザーには関係ない。ユーザーは、Windowsをアップデートしたら自分のアプリケーションが動かなくなったと考える。問題のあるアプリケーション開発者全員に修正させることができない以上、Windows側で回避策を打つ、というアプローチだ。

Webブラウザ戦争でAcidレースの局地戦が白熱 - @IT

どうだろう?今でもこのカルチャーがMSに受け継がれているかは知らない。IE8では原則に反してドラスティックな変更が入るかもしれないことがこの記事でも言われている。だから、IEを勧めたいのではない。だが、自分の知る限り、.netの世界ではライブラリの後方互換性が大きく破壊されることはこれまで起きていない。設計が良いのだろう。というわけで、Silverlightはどうだろう?Silverlightなら、プレーヤーのバージョンアップが入っても、まず間違いなく後方互換性は担保される。レンタリングするのはMS製のエンジンでしか有り得ないのでクロスエンジン互換性を気にすることもない。Silverlightなら、色々な人を悩ませてきた、色々な問題を解決してくれる…筈。

何アホ言ってたんだ自分・・・。猛省。

MAY
17

iKnow500語完了!!!

Published:2008-05-17 14:02:24 UTC

遂にiKnowの学習完了語数が500を達成。いやはやiKnowは素晴らしい。ものぐさな自分でも毎日続くのだから。
そしてコミットメント効果を強化するために、「iKnow進捗状況」という独立ページを設け、進捗状況の可視化デモを纏めてみた。
TOEFL Standard 3」の量の多さに心が折れないよう、頑張っていきたい。

MAY
17

id:amachangさんによる紹介記事を読んで知ったXPathGraphを使って、自分のiKnowの学習中アイテム数と学習完了アイテム数を表示するグラフを描いてみた。木曜の1限が休講になって、ボケっとしているうちに思いついたので勢いで書いたのだが、グラフが描かれるまで待ってたのでエントリが遅くなってしまった。

さて、XPathGraphはURLで指定したデータソースに対して、1日1回XPath式を実行し、得られる数字をグラフにしてくれるというサービス。
iKnowの学習中アイテム数は、Flashで作成されたブログパーツが使用しているXMLファイルから取得できることはiKnowLastAccessTimeCheckerを書いた時に確認済。これを使えばすぐ終わるかなと考えていたのだが…、XPathGraphは困ったことに、XMLファイルを解さないらしい。XPathなのに。…XPathなのに。その訳を調べてみると、どうやらXPathGraphはXPathの処理系にHTML::TreeBuilder::XPathとかいうHTML処理用?の奴を使っているらしく、XMLでもHTMLとして処理しようとする為らしい。仕方ないのでYahoo pipesという米Yahoo!のサービスと組み合わせてみようとしたところ、今度はiKnowのXMLファイルにXML宣言が無いせいでパースエラー。/(^o^)\ナンテコッタイ

という訳で最終的にはpipeにあたるものをphpで自作。要はXMLからデータを取ってきて、HTML化すれば良いわけだから、iKnowLastAccessTimeCheckerの時と同じ要領。

<?php
function getScores($id){

    $req = 'http://www.iknow.co.jp/assets/user/' . $id . '/iknow_badge.xml';

    $iknow = @simplexml_load_file($req);
    if($iknow===false){
        echo('パースエラー');
        exit();
    }

    $studying = $iknow->history->fragment->score[0];
    $finished = $iknow->history->fragment->score[1];

    return array("studying"=>$studying, "finished"=>$finished);
}

?>

<?php
    $id = htmlspecialchars($_GET['id']);
?>

<!DOCTYPE html PUBLIC '-/W3C/DTD XHTML 1.0 Strict/EN'
    'http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http:/www.w3.org/1999/xhtml' xml:lang='ja' lang='ja'>
    <head>
        <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 
    </head>
    <body>
        <p>

<?php
    if(!empty($id) && (strpos($id,'/')===false)){
        $scores= getScores($id);
        echo('<ul>');
            echo('<li class="studying">');
                echo($scores["studying"]);
            echo('</li>');
            echo('<li class="finished">');
                echo($scores["finished"]);
            echo('</li>');
        echo('</ul>');
    }
?>

        </p>
    </body>
</html>

これをデポに設置したうえで、XPathGraphから以下のようにidをパラメータとして渡して呼び出し。

http://depot.sharplab.net/php/iknow/PipeToXPathGraph.php?id=shiroica

XPathの方はこれだけ。

//li[1]

さて、出来たグラフ。まだ二点分のデータしかない(5/17時点)けど、まぁ動作しているのが確認できる。

shiroicaのiKnow学習中アイテム数

そして学習完了アイテム数。

shiroicaのiKnow学習完了アイテム数

これで進捗状況が一目で分かるようになった。さぁがんばれ自分。