Author Archives: reedom

reCaptchaの提示画像に戸惑う

reCaptchaがこんな画像を提示してきた。
2つの単語を入力させる仕組みのはずだが…

めずらしいもんみたな?、と。

左側は `-’ (ハイフン)だと思うが、果たして?
試したところ、ちゃんと通った。

LINQ to XMLでATOMを読む

ハマった。

LINQ to XMLのサンプルコードとしてRSSフィードリーダが作られていたので、ではそのコードでATOMフィードを読んでみようとしてみると、フィードの内容が一切取り出せない。
おかしいなぁ、と2日間情報を探し回ったあげく、ようやっと「MSの想定する処理方法」のひとつが見つかった。

RSSのコードのまま取り出せなかった理由は、ATOMフィードがデフォルトネームスペースを設定しているためだった。LINQはXPathを理解するのだが、XPathの仕様としてXML要素を取り出す際には、デフォルトネームスペース内の要素でさえ、いちいちネームスペースを指定せねばならない様子。
結果、LINQ to XMLでは次のようなコードになる。

XDocument doc = XDocument.Load(@"http://satoshi.blogs.com/life/atom.xml");
XNamespace nsDef = "http://www.w3.org/2005/Atom";

var feeds = from feed in doc.Descendants(nsDef + "entry")
select new {
[...]

Silverlightアプリケーションのデバッグ

Visual Studio 8.0 β2からSilverlightアプリケーションをする方法として一番簡単なものは、Silverlightプロジェクトをアクティブにしてデバッグ実行すること。Silverlightアプリケーション作成ウィザードで生成されたテストページをてブラウザがローカルファイルとして読み込み、ブラウザとデバッガが通信してデバッグできる。
しかし、BrowserHttpWebRequestクラスで通信しようとすると問題が起きる。クロスサイトスプリクティング防止のため、ローカルファイルとして読み込まれたページから同クラスを用いた通信はできないよう制限されているので、正常ロジックを通すことができない。
そこで、テストページをローカルファイルとしてではなくHTTP通信経路で取得するようにして、そのページをデバッガで追うための手順をwebで探した。
ところが本家の手順を踏んでもまっさらなページが表示されるだけでデバッグできない。他の情報を当たってもテキトーな方法を書いたものしかみつからない(“ここ”など)。困ってるのは自分だけなのなぁ、と試行錯誤と情報の断片の掻き集めとを続けて、ようやくそれらしい方法がわかった。

使用したもの

(以下は http://silverlight.org/GetStarted/ からリンクが張られている)

Visual Studio 2008 β2
Silverlight 1.1 Alpha Refresh
Microsoft ASP.NET Futures (July 2007)
Microsoft Silverlight Tools Alpha Refresh for Visual Studio (July 2007)

デバッグ手順

Visual StudioでSilverlightプロジェクトを含むソリューションを開く

ソリューションエクスプローラで、ソリューション項目を右クリックして、[Add] – [New Project...]を選択

ASP.Net AJAX Features Web Applicationプロジェクトを作成

ソリューションエクスプローラで、作成した ASP.NET プロジェクト項目を右クリックして、コンテキストメニューから Add Silverlight Link を選択

確認ダイアログで OK をクリック

default.aspx をダブルクリックしてコードをエディタに表示させる

<body>開始タグに続けて次のコードを追加

<asp:Xaml runat="server" XamlUrl="~/Page.xaml" [...]

Silverlight 1.0RC/1.1 Alpha Refreshはインストール不可

Silverlight 1.1 Alpha はインストールできたのに、Refresh版がインストールできない。

なぜなのだろうとSilverlightのフォーラムで聞いてみたら、CPUがSSE(高速描画)命令セットを実装してないからだ、とのこと。

げべん。

CPU買い直しですか?とすると、マザーボードもメモリもあわせて買わないかんとですか?

Force to append lang-code to feed links

I think rss feeds should always have language code, no matter what the Gengo setting is.
So, I made a patch.

[before]
http://wp.reedom.com/feed
[after]
http://wp.reedom.com/feed/ja/

Index: gengo.php
===================================================================
— gengo.php (revision 106)
+++ gengo.php (working copy)
@@ -175,7 +175,7 @@
[...]

Feedのパーマリンクには必ず言語コードを付加させる

Gengoのパーマリンク設定に関係なく、フィード(RSS)リンクには言語コードを必ず含ませたいと思い、パッチ作成。

[前]
http://wp.reedom.com/feed
[後]
http://wp.reedom.com/feed/ja/

Index: gengo.php
===================================================================
— gengo.php (revision 106)
+++ gengo.php (working copy)
@@ -175,7 +175,7 @@
add_filter(’year_link’, array(& $this,’append_links’));
[...]

Drain HoleをGengoと共存させる

ダウンロードリンクを貼り付けるのに便利な Drain Hole。
Gengo環境下でインストールすると get_currentuserinfo()関数は未定義 といったエラーが出るのでパッチ当て。

Index: drain-hole.php
===================================================================
— drain-hole.php (revision 105)
+++ drain-hole.php (working copy)
@@ -57,6 +57,13 @@

function DrainholePlugin ()
{
+ [...]

IronRubyインストール

John Lam on Software: A first look at IronRubyを参考にIronRubyをインストール。

IronRuby-Pre-Alpha1.zipをダウンロードして適当なところに展開

.NET Framework 2.0 Redistributableをインストール

IronRubyのビルドスクリプトBuild.cmdの中身を見る。

%frameworkdir%\%frameworkversion%\msbuild.exe
/p:Configuration=Release /t:Rebuild IronRuby.sln

.NET Framework 2.0 Redistributableによって MSBuild.exe がどこにインストールされたか、エクスプローラで検索

見つかった場所を環境変数に設定し、ビルド

CD C:\src\IronRuby-Pre-Alpha1
SET frameworkdir=C:\WINDOWS\Microsoft.NET\Framework
SET frameworkversion=v2.0.50727
build

リダイレクトループ

以前、SimpleTaggingのタグ検索機能を使ったらリダイレクトループに陥ったことがあり、その時は Gengo との相性が悪いと判断して Gengo設定の「パーマリンクに言語コードを追加する」を無効にして逃げた。
今日まで Gengo のバグ取りをしてきて、ようやく回避方法を見つけられた。

管理画面の Gengo の「除外URL」設定で、「任意フィルター」欄に “/tag”を追加

なんだ、回避機能が標準で用意されてたんじゃん。

without language codes to permalink may causes 404

After activating SimpleTagging plugin I faced some problem. To avoid that I disabled the Gengo’s feature `Gengo should append language codes to permalinks automatically.’.
Days later I noticed a WordPress’ strange behavior.
I have pages having translations and when I clicked a link to the another language’s page then I saw a `404 Error’ page.
That’s [...]