2008年5月31日土曜日

Yahoo!Pipes 制作物(Google/Yahoo!検索Pipe)

TopPageの検索結果だけ対象ですが、日本語版Google検索PipeとYahoo!検索Pipeを作りました。
(デフォルトでは英語版しか用意されてない & 翻訳Pipeでは結果に違和感あったので‥)


【特徴】

・検索結果TopページのデータをRSSで出力可能

・キーワードは任意でURLへ入れて使う
(自分の場合はWebアプリに仕込むので、検索結果RSSの各URLにキーワードクエリを渡して、配列にして取ってきます。)

・「keywords で検索対象のキーワードを指定する」

・「input number で表示したい検索結果件数を指定する」


※気まぐれで500Errorが出ることも。。

  • Google検索
    (元データはhtmlなので、FetchPageモジュールで検索結果を抽出&Regexpで不要なmetatag列を削除&RenameモジュールでRSS化)

    http://pipes.yahoo.com/pipes/pipe.run?_id=f1c7d25931aaa47ad6e59f6683656e38&_render=rss&keywords=(キーワード)&numberinput=(表示件数)

    例:SQL


  • Yahoo!検索
    (元データは検索WebServiceのXMLなので、不要なmetatagをRegexpで除去してからFetchDataでRSS加工)

    http://pipes.yahoo.com/pipes/pipe.run?_id=kg4GW_QH3RGc0zDMiXrL0A&_render=rss&keywords=(キーワード)&numberinput=(表示件数)

    例:SQL

  • これは拝借物ですが、PowerSet検索
    (Pipe制作する上でとても参考になります)

    http://pipes.yahoo.com/pipes/pipe.run?_id=5d07e2ff70a3612039b9188e6394439d&_render=rss&text=(キーセンテンス/英語質問文)

    例:What is SQL?


Topページ(検索結果1ページ目/1~10件)だけでなく11件目以降をRSSで取るには、新たに別のPipeを追加しないといけないところが難点なので解決を図ります。

とりあえずこれでYahoo!Pipesを情報収集ハブとして使う目途が立ってきました。。


(追記@2008/06/01)

Yahoo!Pipesで作成してあるPipeで「Input nymber で表示したい検索結果件数を指定する」機能を追加しました。(デフォルトでは50件表示に)

この延長で「検索対象の言語指定」、「URLに検索キーワードが含まれているかどうか選択」など機能追加できます。

具体的にはRSSを出力するURLをYahoo!Pipesで生成するだけでOK。
参照サイト→WebOSGoodies


(追記@2008/06/07)

PowerSet のPipeが使えなくなってました。。
考えられるのは、、サイトデザイン変更に伴うPageFetchに失敗したとか…?

自力で作成しようと検討中。


→作りました。(@2008/06/08)
Babelfish モジュールで「英→日」変換は一発です。

翻訳の精度はGoogle翻訳APIと比較してみたいかも。。

シリコンバレーと人と歴史、またはコミュニティと積み重なるもの

歴史は誰かが書いたCode。
残しておくべき動画。

  • シリコンバレー史

    4部構成のうちの始まり。

    シリコンバレーと大学。
    大学が産み、育んだ企業のはなし。




  • シリコンバレー史

    4部構成のうちの終わり。

    社会と企業家、互いに支えあう土壌あるいは文化。
    歴史と人。
    人の歴史。





これから起きることは、すでに別のどこかで前兆が起きているそうです。

昔が積み重なっての歴史。
未来は何処?

2008年5月29日木曜日

Game開発の現場など@2525

ディスカバリーチャンネルは動画サイトの一押しです。
下記のはXboxとゲーム製作チームを取り上げたもの。

ニコ動の科学板で発掘です。。
ニコニコ動画++


Gameプログラミングの裏方には関数言語が潜んでいるーという話しも面白いのですが(川合史朗氏対談)動画はクリエーター、デザイナー、マーケター寄り。


  • インタフェースとデザインのこととか



  • チームのこと、製作の流れ





ものづくりの裏表。。

現場を動画で見れるのは技術伝承や後進のインスパイアに最適と思います。

2008年5月24日土曜日

wget でスクレーピング

Unixのツールとのことでしたが、Windowsでもいけるんですね。(cygwinなしでもOK)

Windowsでwgetを使う方法

ftp://sunsite.dk/projects/wget/windows/
のFTPサイトからバイナリデータを2つ拝借。

解凍したファイル群をすべて同じフォルダに移して、コマンドプロンプトで以下を入力

"wget (URLとか欲しいファイルまでのURI)"
例:wget http://weather.is.kochi-u.ac.jp/FE/00Latest.jpg

すると先ほどのフォルダの中にjpgファイルが収まってます。

早い・簡単・便利!


wget URLを指定するとHTMLファイルがとれます。

あとはお好みで加工していきます。




2008年5月19日月曜日

CSS エディタ選び

さくっとCSSだけいじれるWindowsでもOKなフリーソフトを発見。
EclipseのプラグインでJavascriptやHTMLのコーディングをサポートしてくれるものも良いのだけど、今回はさくっと感優先で。


・CSSエディタ紹介記事から

たぬきのしっぽ

→Web上でCSSの編集が可能とのこと。。
編集したいブログのURL入れると即いじれるらしいです。
DreamWeaverで不可な独自タグもプレビューOK。
ちょっとした手入れ向け。

Nvu

→OpenSourceのCSSエディタ(公式サイト)
それと日本語化サイト
高機能HTMLエディタとしても良い感じそうです。
今回はこれをチョイス。

日本語化はFirefoxの拡張機能のようにインストール。

再起動させて設定完了。
せっかくなので機能(特徴一覧)を転記。

  • 要素は移動OK
  • ツールバー[表示][ツールバー][カスタマイズ]はカスタマイズOK
  • CSSエディタは[ツール][CSSエディタ]から
  • F9または[表示][ツールバー][サイトマネージャ]でサイトマネージャの表示切替
  • 要素にstyle属性でCSS適用[右クリック][インラインスタイル指定]
  • テーブルはWIYSWIGエディタで大小変更OK
  • サイトマネージャで複数サイト変更OK
  • OS依存はなしWindowsでもMacでもLinuxでも。
  • Ctrl+Tabで新規タブ
  • Ctrl+Shift+Nで新規ウィンドウ
とヘルプにありです。

使ってみての感想はまた後日。

2008年5月18日日曜日

Yahoo!Pipes 作成中

デフォルトでは、Google検索・Yahoo!サーチともに日本語での検索結果をRSSで受け取るpipeは用意されてないので作成中。

正規表現試しながらなのでペース遅いです。

いやはや、全文検索(自然言語処理)のPowerSetのPipesができてたのは焦り。



過程で参照しているサイトは下記にて。

PipesからのRSSの作り方がわかりやすいフロー

Yahoo!Pipesモジュール和訳一覧

Fetch Pageの用法
各モジュールとFetchPageの組み合わせ方

Regrexでタイトル置き換え

PipesからJSONPで出力(roopの使い方も)

正規表現用法

Regrexモジュールのチェックボックスには言及が少ないので転載。

  • gオプション:繰り返してマッチを行う
  • sオプション:ワイルドカードのドット( . )が改行にもマッチするようにする
  • mオプション:対象のパターンに改行が含まれていても、その改行にまたがってパターンを検索する
  • iオプション:大文字と小文字を区別しないでマッチングする


以前の話し。。
Saerch&RSS経由で前述の検索結果を拾うPipeを作ってみたものの、返ってきたRSSのtitle,descriptionの文字化け問題が解決できず断念。。

今回は直接検索ページから抜き出したので文字化けはおそらく起きないはず(UTF-8で統一)。

2008年5月5日月曜日

code と algorithm 周辺のこと

数学オリンピック同様、ICPCなるプログラミングコンテストも世界大会があるようで。。

詳細はid:tanakh さんの2006ICPCの参加記から伺うことできます。


http://fxp.hp.infoseek.co.jp/icpc2005/wf/4.html
(前述のURLにもあるのだけど、出題問題PDF@ICPC20062007

それで、初めて耳にしたキーワード周辺を少し調べてみようかと。

ダイクストラ、ベルマンフォード、などのアルゴリズム名でGoogleってみると、適切な通信経路選択する上で利用されているとのこと。

実生活とアルゴリズムを意識するきっかけって改めて少ないなー、、暗号とかいじることもなく。
サーチエンジンの裏側でページランク算出するのに使われるとはいえ、公開されているのではないし。
 
 ・(検索エンジンを作ろう~記事)
 
 ・(Google検索ランキング要素の推測)
 
 ・(dan さんの「知っておきたい10のアルゴリズム」)
 

それとは別に、アルゴリズムとコードでは奥村晴彦先生の「『C言語による最新アルゴリズム事典』  技術評論社,1991年」を読んだものの、まだ活用するタイミングがなひ。


途中、コードアーカイブが発見されたので後日見てみる。

アルゴリズムコード

例えばSearch Algorithm 項目
EXACT STRING MATCHING ALGORITHMS
(http://www-igm.univ-mlv.fr/~lecroq/string/)
のページを開くと、「人名+algorithm」でコードとアルゴリズムが一覧できる。

各アルゴリズムページには "Visualization" ボタンが設置されていて、これを押すとテストデータに対してコードが実行されるというおもしろもの(Java appletの動作)。。

さっとデータ入れて動かせて、コードの挙動を見れる仕組みは良い学習素材と思う。



(追記)
計算幾何工学とアルゴリズム?画像解析とか複雑そう‥
http://tokweb.ics.es.osaka-u.ac.jp/toklab/research/compg/index-j.html

2008年5月4日日曜日

洋書版「Catalyst」 by Jonathan Rockway のサンプルコード

下記URL先の「2008-04-22」 づけBlogからダウンロードOK。

http://blog.jrock.us/


収録サンプルは

・chapter2(Creating a Catalyst Applications)
→MyApp

・chapter3(Building a Real Application)
→AdressBook

・chapter4(Expanding the Application)
→AdressBook

・chapter5(Building a More Advanced Application)
→ChatStat

・chapter6(Building your own model)
→AdressBook
→Blog

・chapter7(Hot Web Topics)
→AdressBook
→MyApp

・chapter8(Testing)
→AdressBook
→ChatStat



2008年5月1日木曜日

関数型言語メモ (Haskellメイン)

(関数型言語に関心があるけど、今までノータッチな自分のためのメモ)


まずここ
id:higepon さんの2006年頃のログ@はてな


【なぜ関数型言語?】

は以下。1984年から回覧されている記事とのことです。
http://www.sampou.org/haskell/article/whyfp.html

結論には、
  • 生産性の向上をさせるため、プログラミング言語はモジュール性(小ささ・コンパクトさ)をサポートすべき
  • 2種類の糊(ノリ)、高階関数と遅延評価がプログラムを容易にモジュール化可能
  • より小さく、より汎用的なモジュールは、のちに広く再利用される
とありました。

いわば、糊しろのついたLEGOブロックのような言語がパワフルということなのかな、と。


【プログラミングとか】

・「独習Scheme 3週間

・「やさしいHaskell 入門

・先人のHaskell 学習記録も参照されたし

・コードサンプルなど
実例集

Blogger Syntax Highliter