Aug252008

最近の衝撃事件 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

曇時々雨 ひろまさ@ 8 月 25th, 2008 投稿時の月齢:23.3  月名:真夜中の月  潮汐:小潮

うーん、どうも忙しいとだめっすね。 無理にブログのネタとか考えちゃうわけですが、こういうときは自然体で行くのが一番、ていうことでテーマもなくつらつらと。 ええと、じゃー最近起こった衝撃的なことを。 :-)

うちのアパートの下には、住民用の駐車場があります。 事件の時間は、4:50。早朝。

ぷーーー

けたたましいクラクションの音が。 なんぞそれ、とねぼけながらおもいつつ、「あ~、だれか変な車のとめかたして、車でれなくなったんだな、、とうつらうつら。

5分経過。 ・・・鳴りっぱなし。 ねばるなー。

10分経過。 ・・・鳴りっぱなし。 何かおかしい。。

なにか常識を逸している早朝の騒音に、アパート中の住民が起き出す音がきこえました。

ベランダから顔をだして下をのぞいてみると、既に不審に思い駐車場までいっているひとが。 こいつだ、こいつ。 と車をさして、ベランダから顔をだしている人たちにアピール。 なんと、その車、無人。

どーも、クラクションが壊れたらしく鳴りっぱなしに。。 イモビライザーっていうんですか? ぼくは車のことがまるで分からないのであれですが(なんたって免許をとったのが30すぎてからだ)、どーもその手の警報ではなくって、単純に壊れたようです。

ややしばらく鳴り続け、持ち主現れ、JAF の人が到着した模様。 ボンネット開けるも解消されず。

お客様の中に、自動車整備士の免許をお持ちの方はいらっしゃいませんか?

と、お医者さまを探すスッチーさんのまねをしてみたかったですが、みんな殺気立っている中で言う勇気はありませんでした(笑)

結局、鳴りっぱなしでレッカーされていったようでした。。 早朝 50分間クラクション鳴りっぱなしの悲劇的な事件、。

自分って無力だなぁとおもいましたが、きっと専門家ならすぐなおしちゃうんだろーなー。 後日談で原因は「接触」とのことでしたが(なんの接触だったかまでは不明)、素人かんがえだと、バッテリーを抜くとか、ハンドルをはずすとか? ・・・まったくわからんす。。

PHP のちょいなおしなんて比じゃない、高度な知識と手先をつかう難しい作業に違いありません。

なんもしらないひとの、分からないなりの知識って笑えると思うので、ぼくの車について知っていることをいっぱいかいてみます。 200% 間違っている確信がある。(笑)

車といえばエンジン。 ピストンがついてるやつっすね。。 ピストンの数が気筒数?その中にはいる容量が排気量? 昔、F1 は V12 っていってた気がする。

4サイクルってのが、吸入圧縮膨張排気で、ガソリンを圧縮してプラグで点火? これは技術家庭の時間にならったなー。 でもって、この発火点とかがマイコン制御になっていて、ROM 書き換えるとなんかかえれるって友達がいってた。

おでこのくるまは、オデッセーではない。 間違えがちなので要注意。(←関係ない

エムズライフ by みなみ、のくるまはライフである。(←豆知識

ターボは、走っている速度で空気をすいこんで、強制的にエンジンに酸素をいっぱいとりいれて、大爆発?

2サイクルは、YAMAHA のバイクで、えっと、後ろにオイルをかけれたりする?(←わけわかんない昔の記憶) バイクといえば TRX である。(←Masayan さんのところで覚えた

バイクで知っている車種は、、TRX と、ハヤブサ?(なんか速い?)、ZZR?(絶対違いそう)、ハーレー(ぼぼぼぼって鳴る)、ベンリー50(誰か乗ってた)、えっとあとなんだっけ、50cc のクラッチついてるほんだのやつ。。

うーんと、殿様スタイル。 ちょっぱー。 (←急に出てきた言葉を言ってみた

・・・きっとめちゃあほやな。 まいっか、笑ってください。(笑)

ええと、、、気を取り直して。 PC ねたでも。。

なにかいろいろつくりたいものがあるのですが、お疲れ気味でひとさまに使っていただけるようなものはありません。。

ぴこん、と突如思いつき、実質1時間くらいでできたのが「しょこたんぶろぐ screenlets」。

syokotan

しょこたんぶろぐの RSS を定期観測して、その中から画像を抽出してデスクトップがジェットとして表示するものです。 画面右、はちゅねさんの上のねこちゃんがそれで、左の画像達は取得してきて順次表示用にキャッシュしているものです。 最新の RSS に含まれる画像の中でぱたぱた1分おきに変わっていきます。

画像ぴこっとおしたら、その URL にとんでくとか、こういう Vista とか Google ガジェット芸能人とかの公式ブログで配布したらおもしろいのかな~と思いついてつくりました。 まぁこれは勝手に作っているもので(おまけに UNIX 用だ)、配布なんかできませんが、しょこたんみたいな更新が多いブログではなかなかいいかもです。 :-)

あと関係ないですが衝撃的だったのが、オープンソースメディアプレイヤーの Songbird がアップデートされ「白く」なったことです。。

songbird30

う~、黒い鳥さんが好きだったのにしろくなっちまいました。。 もちろんテーマでかえれるのは知っていますが、サイトのトレードカラーも白くなってしまい、ちょっとしょんぼり。 なんかクローズトソースの商用メディアプレイアーに対する挑戦ぽいソフトで、ダークカラーがお似合いだったのですが、ちょっと残念です(笑)

しかしながらパフォーマンスもチューニングされてきて速くなってきているので、なかなか良いですね!

てなわけで、つれずれでした。。 おしまい、。 :-)

あ、もーいっこあった! このブルーチーズがやばいくらい強烈だった!! ぼくはだいじょうぶだけど、ふつーのひとはだめにちがいない。。

DVC00045

Aug132008

WordPress Related Post for Japanese 1.01 (バグフィックスリリース) このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

曇り ひろまさ@ 8 月 13th, 2008 投稿時の月齢:12.0  月名:十三夜  潮汐:中潮

昨日リリースの WordPress Related Post for Japanese のバグフィックス版をリリースします。 DB 構造がかわり、大変申し訳ないのですが辞書再生成となります。 すいません、すいません。。

JSeries に 1.01 としてリリースしております。 このプラグインのオプション削除(これでテーブル再生成および初期化されます)の簡単な手順ものせましたのでお手数ですが 1.00 試された方はご覧のうえアップデートください。

WordPress Plugins/JSeries » WordPress Related Post for Japanese

バージョン 1.01 は 1.00 からデータベースの構造が変わりました。 大変お手数ですが、(wp_)options テーブルから WpJRelated 行を削除してオプションの設定からお願いいたします。(辞書は一度クリアされます)

1.01 はいくつか重要なバグフィックスを含みますので、アップデートは必須とさせてください。

せっかくいい感じに辞書できたかたごめんなさい。。 うちもクリアしました。

昨日はたくさんのコメントありがとうございました。 非常に参考になりました。

以下変更点です。

  • 閲覧時の辞書作成コストの一部を、バックグラウンド側ではなく閲覧側に倒しました。 これにより閲覧時は1クエリふえますが、サーバ負荷は軽減されます。
  • 非公開投稿を関連検索対象としてしまっていたのを修正しました。 (thx yuriko さん) ただし非公開投稿の形態素分析は行います。 これは現在のところ仕様とさせてください。 (Yahoo に非公開投稿の内容が送られるのに抵抗があるかたは適宜ソースを修正してください)
  • MySQL 4 系で create table が動かない問題が修正されたハズです。 (thx yuriko さんをかもとさん)
  • テーブル定義で unique をきっていなかったので、辞書生成タイミングによってはキー重複がおきていたため unique を alter しました。 (tnx をかもとさん)
  • (wp_)morpheme テーブルの yahooid 項目を appid 項目に変更しました。 また関連検索時に appid 項目を アプリケーションID をもってひくように修正しました。(というか実装をわすれてました。。)
    Yahoo! 側のバージョンアップがあった場合のデータ切り替えや、他の形態素解析などがでてきた場合を想定して、既存データそのままに appid でなにかしら区分けしようというのが意図でした。(現在のところあまり意味を持っていません) (to yuriko さん)
  • 関連表示の HTML タグがおもいっきり間違っていたので修正しました(汗) (thx テルミナさんおでこさん)
  • add_options_page でマジックナンバーを使っているのを削除しました。 (thx yuriko さん)
  • get_class 時の小文字化のコメントが不適切だったのを修正しました。(thx yuriko さん)
  • 投稿タイトルの取得を get_the_title() に変更しました。(thx yuriko さん)
  • 不要な global 宣言を削除しました。(prefix の指定を wpdb のメンバに変更しました)
  • 少しだけコードのクリーンアップをしました。
  • テンプレートタグのようにつかえる、getRelated() メソッドを追加しました。 (tnx Masayan さんをかもとさん)

ソース差分は sourceforge の CVS から確認できます。

いやーいっぱい。。 すいません、こんなに使っていただけるのならいっかいアルファリリースすればよかたす。。 PHP 5 完全対応はちょっと遅らせます。 simpleXML の部分だけなのでちょっと迷い中です。

最後の getRelated は以下のようにすれば呼び出せるはずです。

<?php if(isset($wpjr)) echo $wpjr->getRelated(); ?>

is_single() 判定していないので、メッセージループの中にいれると好きな位置に関連が表示できます。 思うほどコストは高くないとは思いますが、関連エントリのタイトルなどを取りに行くため、多くの投稿を一度に表示するトップページのループなどでの利用は負荷の注意をして使ってください。

昨日、yuriko さんから興味深いコメントをいただいていますのでご紹介させてください。

形態素解析自体はもはや枯れた技術だと思うんですが、その結果を用いて記事同士の関連を見つけるのは、けっこう難しいことです。本プラグインでは、単語の出現頻度が似ているものを関連している記事としているようですが、それでどこまで適合率および再現率が出てくるかは、興味深いところです (「適合率」「再現率」という用語については Wikipedia の「情報検索」あたりを参照)。

関連記事を5本しかピックアップしないため再現性は重視されていないわけで、適合率を高めるのがポイントとなるでしょうか。

情報検索というのは、非常に面白い分野ですね。 ぼくはまったくもって素人なのであれですが、同じことをするにもいろいろなアルゴリズムがありそうです。

今回は、動的関連生成(その場で検索してしまう)をしたいという要件が最初にあったため、「高速でそれっぽく」というのがテーマでしたがはたして。 文章の内容によってもいろいろクレンジングやチューニングが必要になってきそうで興味はつきません。 :-)

では最後に開発風景などを。

一生懸命 SQL をかいて抽出を確認中の図。(← SQL が苦手である

jrelated21

CVS コミット前の差分確認中。

jrelated22

まだバグいる予感もしますので、何かありましたらご連絡ください。 :-)

Aug122008

WordPress Related Post for Japanese リリース このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴のち曇 ひろまさ@ 8 月 12th, 2008 投稿時の月齢:11.2  月名:十二日月  潮汐:中潮

形態素解析を行い各投稿の関連記事を出力するプラグイン、WordPress Related Post for Japanese ができたのでおいてみます。 :-) Yahoo! Japan の提供する形態素解析を用いて、その結果を元にランク付けを行い、シングルページの場合に投稿の最後に関連度トップ5 のタイトルとリンクを付与します。

このプラグインは実は 3年前からつくろうとおもっていたものです(笑)

hiromasa.zone :o) » WordPress Related Entries for J (仮称)

そのエントリに関連するエントリを抽出する、Related Entries for J (仮称) を作り始めてみました。

うーん、この手の日本語の処理は大変です。 漢字コード表とにらめっこで、なんとかデバッグ表示くらいまでは動くようになりました。

N-Gram のまねごとで辞書をつくって検索、、という予定だったのですが N-Gram 解析時にメモリ不足でとんだり、はたまた既存の投稿にたいする辞書作成のよい UI が思いつかなかったりで結局お蔵入りになったのでありました。

時はたち、Yahoo さんが形態素解析 API を提供してくれ、WordPress は wp-cron によるバックグラウンド動作をサポートしてくれ、そしてひろまさくんは PHP が少し分かるようになり(笑)、

期は熟した!

ってことでリリースとあいなりました。 :-)

WordPress Plugins/JSeries » WordPress Related Post for Japanese

Yahoo! Japan が提供する日本語形態素解析APIを利用して、WordPress の投稿をアナライズし、自動的に投稿の下部に「関連する記事」へのリンクを付与するプラグインです。

使い方ですが、プラグイン有効化してほっとけばそのうちいい感じに関連記事がでてくるようになります。 ほっとけば、、というのは過去記事に対しては閲覧をフックして、その投稿に辞書がまだなければ Yahoo! に問い合わせがいくようになっています。 なので、サイトアクセス数にもよりますが 2、3日くらい待ってもらえば次第にいい感じになっていくと思います。

bot の襲撃をうければ一気にできるでしょう。 まったりどうぞ。  :-)

jrelated10

jrelated12

形態素分析なんかはめったにできるもんじゃないので、Yahoo! からの貴重な RAW XML データもそのままテーブルに保持しています。 (wp_)morpheme というテーブルが新規にできているはずです。 最初はこのテーブルのできをみていると面白いかもしれません。

形態素解析。

形態素解析 - Wikipedia

対象言語の文法の知識(文法のルールの集まり)や辞書(品詞等の情報付きの単語リスト)を情報源として用い、自然言語で書かれた文を形態素Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの品詞を判別する作業を指す。

形態素解析は日本語を文章として解析してそれぞれの品詞を取得できます。 日本語って英語のようにスペースデリミタじゃないので単語の区切りを切り出すには意味の解析が必要です。

日本語の検索というのはこれが難しくって、形態素しないで普通に文字一致で検索をかけると「京都」の検索で「東京都」があたってしまったり、「パン」の検索で「ルパン」があたってしまったりするわけです。 :-)

今回は、このような不具合をさけるためまずは形態素で名詞を抽出し、それをハッシュして DB に登録。 そのハッシュに対して MySQL の like で検索しています。 またハッシュで格納する際に高頻度ででてくる単語を前に配置し、その位置情報も加味してランキングを決めています。(SQL 一発取りしたかったのもある)

まー紛れも多い実装で、やってみるまではドキドキでしたが、うちのサイトではなかなかの精度ででてきてくれるようで嬉しいです。

逆に、Yahoo! が知らない単語、たとえば「プラグイン」が「プラグ」と「イン」にわかれたり、「タチコマ」が「タチ」と「コマ」に分かれたりしていますが、双方はたいていはセットで出現するため大きな問題にはならなかったようです。

関連出さなくても、(wp_)morpheme テーブルを生成するだけでも後々いろいろ使えるかもしれません。(オプションでそういう設定もできます)

たとえば、WordPress のサイト検索をこのテーブル読むようにおきかえると、頻出順とかにもできますし、先ほどの部分一致の問題も回避できるかもです。 あと、robot 用のメタタグいれても面白いかもですね。 一応、隠しで使えそうな function をいれてあったりもします。(やろうとして力尽きたとも言う)

てなわけで、ぼくてきには機能を満たしているので 1.00 にしていますが、みなさんでいろいろ改造してみてください。 :-)

- まっじくなんばー多かったりソースコメントとかええかげんなのは、堪忍な。

Aug32008

Windows Live Writer プラグイン WlOdeko リリース(?) このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

雨 ひろまさ@ 8 月 3rd, 2008 投稿時の月齢:2.1  月名:三日月  潮汐:中潮

Masayan さん開催のトラックバック企画「WP2.5に入れるプラグイン10選」の結果発表がありましたが、WP-AddQuictag 強い~ってことで、やはり管理画面から簡単になにかを挿入プラグインというのは人気があります。 :-)

てなわけで、まけないぞー(!?)ってことで、WordPress Live Writer 用の挿入系プラグインのひな形をかいてみました。

WlOdeko-1.02.zip

プラグインリクエスターは、おなじみおでげのおでこさん。 Flickr の HTML ソースを入力すると、いい感じに highslide が動くように HTML を変換して挿入します。

超特定用途ですが、きっとみなさんもそういった要件があるはず。 ソースなおせば、その手のものにはすぐなれると思いますので、必要になったら思い出してもらえれば :-)

WLW のプラグインは .dll ファイルを作成してプラグインディレクトリに格納すれば動き始めます。

WlOdeko\WlOdeko\bin\Release\WlOdeko.dll

アーカイブでいうとこれっすね。 これを、

C:\Program Files\Windows Live\Writer\Plugins

にいれてあげればOKです。 WLW 起動すると、

wlwp30

てな感じで、右下に追加されます。 あんまりいっぱいいれると見えなくなるみたいなので要注意(笑)

であとは、こいつをくりっと押すと

wlwp31

こんなダイアログがでてくるので、

wlwp32

Flickr のコードいれて、OKするとこんな感じに挿入されます。 この挿入時に highslide が動くように HTML をごにょごにょしています。

wlwp33

WLW のプラグインも WP よろしくいろいろな形態があって、たとえばサイドバーから挿入後にいろいろ属性をいじれたりとかもできるのですが、このサンプルは一番簡単な挿入型です。 小物ですが、ぱっとつくれると結構便利なのではないかと思います。

上の .zip のアーカイブは、それっぽい感じにプロジェクト設定済みなので、Visual C# 2008 Express Edition をインストールしてもらって、WlOdeko.sln をダブルクリックしてもらって、[F6] 押してもらえれば、コンパイルして .dll つくって WLW へのプラグインインストールまでいくはずです。(WLW 本体はビルド前に落としておくのと、インストールパスは標準設定決めうちなのはご注意を)

Visual Studio 左のエクスプローラの WlOdegeForm をダブルクリックするとデザイナが開きます。で、でてきたフォームの OK をダブルクリックすると処理部分のコードがでてくるはずです。 ここをなおしちゃえばオリジナルのできあがり。

wlwp34

一応、バリデーションとかもいれているので、ダイアログだしてほにゃららする系としてそれっぽい流れにはなっているはずです。 適当に修正してください。 :-)

WlOdeko.cs がプラグインのエントリポイントになり、以下のようにプラグイン属性をいれています。 ここも適宜変更を。

[WriterPlugin(
    "25e0a22d-24fe-409c-b23e-d8fa4151ec9a",
    "WlOdeko",
    Description = "おでこを挿入します。",
    HasEditableOptions = false,
    Name = "WlOdeko",
    PublisherUrl = "http://another.maple4ever.net",
    ImagePath = "icon.png")]
[InsertableContentSource("おでこ")]
public class WlOdeko : ContentSource

だいたいのりで分かりますが、一番上の妙な文字列は GID というアプリを一意にする ID です。 まぁ配布しないなら適当でいいですが、一応、プロジェクトのプロパティのアセンブリ情報から作成できるです。 あとここのアセンブリ名は .dll の名称になります。

wlwp35

 wlwp36

アイコン変えたいときは、変更後のアイコンファイルのプロパティを表示して

wlwp38

ビルドアクションを「埋め込まれたリソース」にします。 これで、.dll の中にはいるです。

あとはー、F6 のビルドですが、WLW のプラグインディレクトリに .dll を入れる関係で Administrator 権限じゃないとだめっす。 Vista の人は起動時に Visual Studio の権限昇格しておきましょう。

wlwp39

くらいかな~。 ソースの中身は、PHP っぽくしてみたので普段 C# 使わない人でものりでわかると思います。 最初は HTML の解析に .NET の XMLパーサとかつかっていたのですが、DOM とか Exception 処理とかお手軽感がなくみえたのでやめました。 清く正しく正規表現で加工しています。(笑)

ちょっとがんばればクライアントサイドでフォントレンダリングする、WlTegaki とかもつくれそうです。 まー、静的レンダリングすると文字色背景色が固定になっちゃうのでテーマとかかえると悲しいことになりそうですが、技術的には面白そうですね。

ともかめさんの wp-tmkm-assist など WordPress 動的生成のショートコードの挿入をさらに assist する(id の選択を画面でアシストする)ような WLW プラグインとかもいけてそうです。 wp-tmkm-assist は Word のような参照挿入ができるのでかなり注目しています。 :-)

さいごに、らーめんを挿入。(←むりにおちをつける

 DVC00035

Aug32008

なぞの Firefox。 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

雨 ひろまさ@ 8 月 3rd, 2008 投稿時の月齢:1.4  月名:二日月  潮汐:大潮

わたくしがつかう Firefox は、いつもあるひとつのなぞの現象にさいなまれます。 これは異なるプロファイルの Windows 版でも Linux 版でもおきる不思議な、不思議な現象・・・。 原因を考えると夜も眠れません。 :-)

幸いなことにぼくはスクリーンショットをよくとるので、その経緯を中から拾いあつめてみました。

2008/05/28 日。 たぶんこのころは、本をかいていたころ・・・。

favicon10

画面右下、ブックマークツールバーに登録している「Gregarius」のリンクアイコンに注目いただきたい。 Gregarius はぼくが愛用する RSS リーダですが、実はこのソフトにはいわゆる favicon がないのです。 なぜかどこかからひろった favicon がついています。(どちらのか分かった方ご連絡ください・・・)

2008/06 ころから。 詳細時期不明。

favicon11

やはり、右下の Gre の favicon に注目。 なぜか Masayan さんにのっとられる。(笑) Fastladder が無事なのがハテナ。 しばらくこの状態が続く。

2008/08/02。 今日。

favicon13

ついに Nao さんにのっとられる。 巻き添え申し訳ない。 女性になったので少し嬉しく思う。(意味不明

しかし数時間後。。

favicon14

kohaku さんにのっとられる。

こらーw

・・・いうてるばあいじゃない。。 巻き添え申し訳ない。

共通項は、WordPress ブログであること。 ぼくだって WordPress 以外のサイトも見ますが、そこのはひろってこないのが最大の謎であります。

Gregarius はソースをみればわかりますが、WordPress に強く影響をうけてできているソフト。 もしや隠し機能!? そんな。。 それとも、Firefox のイースターエッグ!?。 いや、それにして意味が分からん(笑)

まー Firefox の favicon キャッシュの不具合だとおもいますが、最初の favicon が WP サイトさんだったら笑ってしまいますね。。

Masayan -> Nao -> kohaku ときたので次はどなたでしょう!? ちょっと楽しみです。 :-)

Jul282008

札幌大通りビアガーデン このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

曇時々雨 ひろまさ@ 7 月 28th, 2008 投稿時の月齢:25.5  月名:二十六夜  潮汐:若潮

オフィス街のど真ん中。 札幌大通公園で毎年開催される、大通公園納涼ビアガーデン、、なんと今年で 55回目らしい。 まぁふつういくよね、ってことでしたが、忙しくてここにきてようやくいけました(笑)

うーん、ろくりったー。

DVC00029

なんたって、ろくりったー。

 DVC00031

もうない。。orz

DVC00033

オフィスビルの真ん中、6丁ぶちぬきでこんなことやる、札幌。 やっぱりくるってるぜぇい。 55回ってあんた。 2次会は 10分でつくすすきのにどうぞ。 :-)

ここで試験的にビールを飲んでみます。(←くるってるひと

Jul282008

Windows Live Writer のプラグインをつくってみる。(0) このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

晴のち曇 ひろまさ@ 7 月 28th, 2008 投稿時の月齢:24.6  月名:二十五日月  潮汐:長潮

普段は Linux がメインのぼくですが、ブログを書くときは Windows。 Windows Live Writer の存在は偉大です(笑) WLW も WordPress の管理画面と同じように、プラグインでいろいろ機能を追加で便利な環境が構築できます。 面白そうだったので、WLW のプラグインをつくってみることに・・・。 :-)

 wlwpp10

といってもすごくくだらないことにはまった(icon の埋め込みがなぜかできなかった。。) のと、あまり時間がなかったせいでなんもできてないのですが、くやしいので(?)、作り方のリンク先を紹介します。

まずは、C# でのつくりかた。

Windows Live Writer用のプラグインを開発する:CodeZine

Windows Live WriterはMicrosoftが無償で提供しているデスクトップブログオーサリングツールです。Live Writerを使用すると、オフライン状態でもデスクトップからブログエントリを書くことができます。Live WriterはMicrosoftの専用ブログサイト(Windows Live Spaces)をサポートするだけでなく、MetaWeblog APIまたはAtom Publishing Protocolに対応する任意のブログエンジンをサポートしており、たとえばWordpress、Community Server、LiveJournal、Bloggerなどのブログエンジンで使用できます。Live Writerではユーザーのブログスタイルをダウンロードし、それをテンプレートとして使用できるので、自分のブログのスタイルでブログエントリを書くことができます。

こちらは、 VB でのつくりかた。

使ってみよう! Windows Live SDK/API:第7回 Windows Live Writer ―― プラグインの作成 Part I|gihyo.jp … 技術評論社

Windows Live Writer(WLW)とは,ブログの記事の編集・投稿・管理ができるデスクトップアプリケーションです。MetaweblogやAtomPubと呼ばれるAPIに対応しているブログサービスであれば,Windows Liveスペース以外のブログでも利用可能です。複数のブログの一元管理,オフラインでの編集,Webブラウザ上ではできない高度な編集など便利なアプリケーションです。WLW用のSDKも提供されており,今回はその中のひとつであるContent Source Plugin APIを利用してプラグインを作成します。

どちらも似た感じの解説ですがとても参考になります。 WLW 自体 .NET Freamwork で動いているので、いろいろな言語でプラグインバインディングできるのが特徴です。

で、一番使いそうな挿入系のプラグインですが、WP よろしく content にもらってきて、content にかえすだけなので簡単に作ることができます。 要は必要な HTML を content に返してあげるだけです。

開発環境は、無料の Visual Studio 2008 Express Editions が使えます。

内容的には、WLW の WindowsLive.Writer.Api.dll を参照して、using すれば WLW の API が使えるようになります。 あとは予想の通り、必要な基底クラスを extends ・・・、は C# にはないのか、: で継承してコード書けばよいです。

処理の中身は .NET Freamwork がそのまんま使えるのでなんでもありです。 外に通信してなにかとりにいくもよし、ダイアログだしてその内容に応じて HTML をかきだすのもよし、です。 :-)

wlwpp01

[WriterPlugin(
    "f727d696-4888-4eaa-abd9-0124fe14262f",
    "WlInsert",
    Description = "何かをインサートします。",
    HasEditableOptions = false,
    Name = "WlInsert",
    PublisherUrl = "http://another.maple4ever.net",
    ImagePath = "icon.png")]
[InsertableContentSource("何か")]
public class Class1 : ContentSource
{ }

プラグインの名前とかをクラスの属性にいれたりします。 WP だとコメントにかくところですね。 で、あとは適当にフォームデザイナで画面つくって、、プログラムから ShowDialog(dialogOwner) とかするようにして、

wlwpp03

できあがった、DLL を WLW のプラグインフォルダにいれれば、

wlwpp02

一番下、何かの挿入。 がつくったものです。

いまは、テキストボックスの中身そのまんまだしているだけなので、なんの意味もないのですが、中身を加工して HTML でだしてあげるだけでも、何かにつかえるのではないかと思います。 :-P

上の挿入系一覧のスクリーンショットみていただくと分かりますが、コードの挿入とか動画の挿入とかいろいろあって、なかなか使えるんですよね。

次のバージョンもでるようで、JS 系の画像ライブラリ対応とか、プラグインも投稿直前 hook とかもできるようになるらしく楽しみなソフトです。(SDK のサンプルは twitter に投稿するやつらしい)

窓の杜 - 【NEWS】MS、画像投稿機能を大幅に強化した「Windows Live Writer」の次期β版を公開

Microsoft Corporationは2日、ブログ投稿ソフト「Windows Live Writer」次期バージョンのベータ版となるTechnical Preview版を公開した。Windowsに対応するフリーソフトで、編集部にてWindows Vistaで動作を確認した。現在、同ソフトの公式ブログから英語版をダウンロードできる。

さらに、編集画面のユーザーインターフェイスも改善され、“Web レイアウト”“Web プレビュー”“HTML コード”などといった各画面をタブで簡単に切り替えられるようになった。そのほか、ブログのカテゴリーをインクリメンタル検索可能になったり、あらかじめ設定した語句に対して自動的にリンクを追加する“Auto Linking”機能が追加されるなど、細かい使い勝手も向上している。

インターネットのサーバサイド処理ととクライアントサイドの UI 融合ってぼくは強力だとおもっているので、こういった方向は歓迎です。 Linux の GNOME も最近こっち系ですよね。

Microsoft さんも GNOME さんもがんばてください。 :-)

Jul212008

WordPress 2.6 にアップデートとイースターエッグ このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

曇り ひろまさ@ 7 月 21st, 2008 投稿時の月齢:18.2  月名:寝待月  潮汐:中潮

いくつか検証事項があったので、出遅れてしまいましたが WordPress 2.5.1 -> 2.6 のアップデートをしました。 :-) 今回の、内部構造的な大きな変更は保存履歴機能ですが、 履歴をとらないで保存、ってやつができず、わりとちょこまか数文字修正をする .another ではレコードがばんばんできちゃうので OFF にすることに。 試験サイトと .zone では ON に設定しました。

履歴機能の OFF の仕方は以下にあります。(thanx ぼのの)

Revision Management « WordPress Codex

There are options, but they are hidden well :) There is a constant (not even filterable) that can be set by a plugin or in your wp-config.php file:

WP_POST_REVISIONS:

  • true (default), -1: store every revision
  • false, 0: do not store any revisions (except the one autosave per post)
  • (int) > 0: store that many revisions (+1 autosave) per post. Old revisions are automatically deleted.

ってことで、wp-config.php に WP_POST_REVISIONS 定数で false を指定してあげれば履歴機能が OFF になります。 一応標準で ON になっている機能で、今後あったほうが何かと役に立つ機能が追加される可能性もありますので、OFF にする判断は各自よく考えてからで。 :-)

// 例えば、ja_UTF.mo を wp-content/languages にアップロードし WPLANG を 'ja_UTF'
// と設定すると、日本語 (UTF-8) がサポートされます。
define ('WPLANG', 'ja');
// 履歴無効
define('WP_POST_REVISIONS', false);
 
/* 編集はここまでです。WordPress でブログをお楽しみください ! */

こんなふうに追加すると良いとおもわれます。

さて、履歴にまつわる噂のイースターエッグ。

WordPress › Blog » WordPress 2.6

Easter Egg

There have been rumors and allegations that there was a so-called “easter egg” added to 2.6 early in its development. These rumors and allegations are completely false!

hackers の ML ではぱらぱらでていたようですが、matt さんお得意のお遊びです。(笑)

てなわけで、ちょっとやぼかもですが、履歴機能の場所の紹介とともにビデオでどうぞ。 trunk みてないけど、次のバージョンでは消えるかもですね。 兎追いしかの山♪

ははは。 ちょうど先日 2 みてたよ。

そーいや、

ここの IE 5 の画面にもイースターエッグいませんでしたっけ? やり方忘れちゃいましたが、 Microsoft の旗マークをドラッグしてどうのするとスタッフロール(?)とか。。 Excel にもあったような。

Jul202008

プレステ2のジョイスティック破損 このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

曇り ひろまさ@ 7 月 20th, 2008 投稿時の月齢:17.5  月名:居待月  潮汐:中潮

ひさしぶりにプレステ2のゲームなどをやってみたら、どーもジョイスティックの調子が悪いことに気がつきました。 斜め右下の入りが悪い。 とりあえず、開けてみることにしました。 :-)

ぼくはアーケードゲーム(ゲームセンターの)が好きだった関係で、実はどーも家庭用のジョイパットってやつが苦手なのです。 あと小さいんだよねぇ。 初代 XBOX のときコントローラがでかい! ってさんざんいわれていましたが、ぼくにはちょうどよかったり。(笑)

他はボタンっすね。 ゲームセンターでゲームやっている人みるとわかるとおもいますが、パンパンたたくあの感じが好きです。 やっぱり、メカニカルボタン最高です。 :-P

joy1

てなわけでジョイスティック分解。 これは HORI さんのやつっすね。 なんだかスクウェアのゲームタイアップ品なんだろうか? 素性は不明。。

基盤一枚。 PS2 のコントローラチップはカスタム品で HORI とかいています。あとはボタンの配線だけですね。 シンプル。

joy2

で、ジョイスティックの心臓部マイクロスイッチ。 あの独特のカチカチはこのスイッチのおかげです。 ちなみに、マイクロスイッチは OMRON 製。

joy3

えーと、右下だけ調子がおかしいのでスイッチ自体は大丈夫と仮定するに、きっと原因は位置ずれですね。 ジョイスティックはスティックのてこの原理で4方向のスイッチを押しています。

joy4

ちょっとずれているように思えたので、修正してねじも締め直す。 ゆるくなっていました。

てーなわけで、元に戻してゲームしたらいい感じに。 :-)

もうちょっといけるかな。。 PS2 のジョイスティックはたぶんもう新製品がでないので、大事にしておかないと・・・!

joy5

ぱくっ! (←関係ない

Jul202008

古のオペレーティングシステムとブラウザ このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

曇り ひろまさ@ 7 月 20th, 2008 投稿時の月齢:16.5  月名:立待月  潮汐:大潮

といってもそんなに古くないんですが。

いろいろな都合上今回、XP/2000 にしか対応していないソフトを使わなくてはいけなくなりました。 うちには、Vista と Linux しかなくちょっと困る。 セキュリティ系のかなり特殊な部類のアプリのため、Vista だと本気で動作できずで、考えた末に仮想ソフトで Linux 上で Windows を動かすことにしました。

Windows 2000 があまっていたので、これを VMware にいれれば楽勝だと思っていたのですが、数々の苦難が待ち受けておりました。。

はじまりは、入れようとした Windows 2000 がアップグレード版だったことです。。

VMware ってのは、PC エミュレータで OS 上にさらに好きなゲスト OS をインストールすることができる仮想化ソフトの草分けです。 実は、かなり昔に有料版の正規ユーザだったりしたのですが、最近はフリー版がでていたりします。 すごい世の中っす。

で、このフリー版。 マウントした CD を途中で変更することができないみたいで・・・。 要は Windows 2000 インストール中にアップグレード用の前バージョンの CD を指定できないという罠がありました。

…それならまずはいれてやるぜ。 Windows 2000 の前のバージョン。 Windows NT 4.0 Workstation。

NT 4.0 は割と愛用していた OS でした。 ぼくは 9x 系ってあんまり使ってなかったかも。

vmware10

うーん、なつかしすなー。 もーいっちょ。

vmware11 

UI に半角カナがあるのが古めかしい(笑) そして、このころのバージョンの InternetExplorer は 3.0 である。 みてやるぜ、Yahoo。

vmware12

ははは、ばけばけ。(笑) エンコード指定もみつからなかったり。

IE 3.0はまだ、Netscape が圧倒的優位にあった時代のブラウザです。 まぁまぁこのころのネスケさんは、HTML をツリーで解釈できないという恐るべき実装だったりしたので、CSS に対応するすべもなく、その後消えていくことになります。(これを直そうとして発足したのが、Mozilla であり Gecko でした)

ひとしきり、なつかしい NT 4.0 を堪能したところで次に Windows 2000を。 2000 の初期ブラウザは IE 5.0 です。

vmware13

Yahoo さんは割とみれるよです。(たぶん古いブラウザように切り替えているのでしょう) んじゃ、 うちのサイトをみてみよう。。

vmware14

うけます。 本文がきれいにでていません。(笑)

どーも、ボックス要素の縦判定がおかしくなっているようで、1行だけでてスクロールバーがでているという。。 まぁまぁ、いまどき IE 5 のひともいないし、いても分かって使ってると思うのでよいですが。。

てなわけで、Windows 2000 on Linux。 途中で仮想ディスクのパーティション足りなくなるなどのトラブルにも見回れ半日以上かかりました。。 とりあえず、目的のソフトはうまくうごいたので満足です。 2000 が無理なくさくさくうごく様子はさすが老舗仮想マシンといったところでしょう、 :-)

vmware15 

2000 は .NET Framework 2.0 もまだ動くので Linux で動かしとけば Windows Live Writer とかも使えて便利ですね。

さて、今回媒体をいろいろあさっていたら、古めかしいソフトがいろいろでてきたので最後にぱちり。

vmware16

右上は、Visual J++。 Java に勝手に delegate つけて Sun におこられたやつっすね。 あれってどーなったんだっけ? クラスライブラリは WFC だったかな。 なにげに今思うと、フォームの部分は .NET のWindows Forms にかなり似ていた気がします。 ちなみに、ぼくはしるかぎり J++ 製のソフトってみたことがないです。。

というわけで、仮想化ソフトで昔の OS やアプリを楽しむのもまた一興かもしれません。(ライセンスにはご注意を)

Next »