ブラウザで見ているエントリを Movable Type で編集する Bookmarklet (2.x 系向け)
javascript:var id=location.href.split('/archives/')[1].split('.')[0];location.href='http://example.com/mt/mt.cgi?__mode=view&_type=entry&id=' + id + '&blog_id=1'
イタリックな部分はご利用の環境にあわせて変更してみてください。
MT3 の場合は URL から id がとれないので、ほかの方にまかせます。
UPDATE: ooba さんの方法 を使うと、MT 2.x, 3.x どっちでも、URL をカスタマイズしていても使えます(コメントを有効にしておく必要あり)。
javascript:var id=document.comments_form.entry_id.value;location.href='http://example.com/mt/mt.cgi?__mode=view&_type=entry&id=' + id + '&blog_id=1'
スター・チャンネル、9月より「スカパー! 110」でHD放送開始
株式会社スター・チャンネルは、9月1日より110度CSデジタル放送の「スカパー! 110」においてHD放送を開始すると発表した。
CATVのみなとケーブルでデジタルコース経由(Panaosonic STB)でも HD になるのかな? ちょっと気になりますね。まあ、内容が WOWOW とかぶってるのでスター・チャンネルに加入する意味はないのですが。。
search.cpan.org: Benjamin Trott / XML-Atom-0.09
Atom feed and API implementation
XML::Atom に自分の書いたパッチがとりこまれてリリースされてました。
search.cpan.org: Benjamin Trott / XML-Feed-0.02
Syndication feed parser and auto-discovery
Ben Trott 作の、RSS と Atom を共通インタフェースでいじれて、かつ Auto-Discovery なモジュール。
サマーソニック '04 2日間とも参加に決めました。土曜(東京)は大して見たいものはないんですが、会社の同僚がみんなでいくというので、だらだらと氣志團あたりで楽しんできます。
2日目は BEASTIE BOYS, Lostprophets, Hoobastank, THE MAD CAPSULE MARKET'S (ひさびさ!)あたりが楽しみ。
Three Cheers for Sweet Revenge My Chemical Romance |
MTV で"I'm Not Okay (I Promise)"プロモ見て即買い!むちゃくちゃエモーショナルな泣きメロディ!最高! サマーソニック東京2日目にもくるみたいです。また楽しみが増えたー。 (でも Lostprophets と時間帯かぶり気味。。)
Google で AdSense を検索 すると、Google AdSense がひっかからなくなって、微妙なサイト が1位に。
いままで Google AdSense にはいるのに、"AdSense" の I'm Feeling Lucky (実際は MSN Search の DNS を変えて自前でキーワードカスタマイズ) でとんでたので気づきました。
UPDATE: 16:09 確認したところ、なおってました。
CS のフジ721 でくるりのライブ@FACTORY。
新譜からの曲中心で、かなりかっこいい。ドラムのクリスの「ロックンロールは好きデスカ?」ではじまる HOW TO GO、それにアルバムに入ってない「ハイウェイ」(最高!)もやってた。録画しなかったのが悔やまれるな。
来週 8/7 には ツアー@武道館 の放送もあるみたい。備忘録。
Perl の Net::Amazon モジュールの BlendedSearch を使うと、どうも結果がとれない単語がある。ということで1時間ほど深追い。
BlendedSearch の XML 解釈部分に、ProductLine (mode ごとのマッチクラスタ) が複数であると仮定しているコードがあった。よって、「宮川達彦」みたいに書籍でしかマッチしないと、これがこける。そもそも XML::Simple 使ってるんだから ForceArray すれば解決なのに。。
というわけで Net-Amazon-0.26.patch。MLにも送付済み。
出演者:東尾修 栗山英樹 田原総一朗 三宅久之 江本孟紀 ヨネスケ 長野智子 渡辺宜嗣 二宮清純 坂井保之 堀江貴文 古田敦也
ジャンル:ニュース/報道/討論・会談
放送日時:7/30(金) 02:10〜05:10 テレビ朝日
うお、堀江社長 が出ますね!
Google AdSense の代替広告を動的に出力するようにするのは、すでにやってたんですが、より精度をよくするというか、狙った商品が出るように、MTEntryKeywords (Movable Type でエントリごとに設定できるキーワード) から Amazon Web Services 検索して商品を出すようにしました。
とかがうまいこと出ている例です。
Amazon Web Services の輸入盤の画像 URL 問題を解消しつつ、さらに画像がなかったら no image の画像を返し、かつサイズを適当にあわせる javascript。
function resizeAWSImage(img) { var reload; if (img.width == 1) { if (img.src.indexOf('.09.') > -1) { img.src = img.src.replace('.09.','.01.'); reload = 1; } else { img.src = 'http://images-jp.amazon.com/images/G/09/x-locale/detail/thumb-no-image.gif'; reload = 1; } } if (reload) return; if (img.width > img.height) { img.width = 30; } else { img.height = 30; } }
<img src="[% item.ImageUrlMedium %]" onLoad="resizeAWSImage(this)" /> みたいにして使う。
最後の img.width と img.height とか no-image のパスとかは適当に変える必要アリです。
スポーツナビ | ニュース | 小川vsヒョードル!=PRIDE GP決勝
会見に出席した高田統括本部長は「小川はアンケート結果を聞いて、なんの躊躇も迷いもなく、『ファンが望むなら』とヒョードル戦を1発OKした。敬意を表したい」と語った。
小川ヒョードル!ヤバい!
Contraband Velvet Revolver |
ちょっといまさら感がありますが ex. Guns N' Roses の Slash, Izzy, Duff に Stone Temple Pilots のヴォーカルが参加してる Velvet Revolver 聞いてみました。ダフのベースラインがヤバい。
まあ逆にいうと、Guns N' Roses の音に、ストテンのヴォーカルが乗っただけ、ともいえます。まったく期待を裏切らないサウンドというか。
O'Reilly サイトにリンクしている Blog エントリ
hacks.bloghackers.net にリンクしている Blog エントリ
Amazon.co.jp にリンクしている Blog エントリ
ASIN:4873111749 を含むはてなダイアリ日記
Google 検索: Blog Hacks
Yahoo! 検索: Blog Hacks
未来検索 livedoor: Blog Hacks
Bulkfeeds 検索: Blog Hacks
blogmap 検索: 4873111749
Bulkfeeds の Similarity Search で出力する HTML (javascript) に、Blog Hacks の広告 (Amazon.co.jp リンク)の挿入を開始しました。Bulkfeeds 運営の支援のため、ご了承くださいませ(Blog Hacks には Bulkfeeds API を利用した Hack などもいくつか掲載されています!)。
また、こちらのAmazon リンクのアソシエイト ID はデフォルトで bulknews-22 となっていますが、similar.js のパラメータ assoc
でお好きなアソシエイトIDに変更することが可能です。
http://bulkfeeds.net/app/similar.js?mode=lite&...&assoc=yourassoc-22
のようにして設定してください。(広告は mode=lite のみ、1番上に表示されます)
Blog Hacks-プロが使うテクニック & ツール 100選
はい、きた! Amazon で予約できるようになりました! Blog Hacks サポート Blog もスタートです。
あと 100 個の Hack の目次が オライリーのサイト で公開されています。
Russell Beattie Notebook - AtomME: Posting from a Java mobile phone via the Atom API
Last week we were deep in the POST vs. PUT/DELETE debate when I started working with Sam Ruby on a simple J2ME app which would post to an Atom-enabled weblog via J2ME. Sam did the heavy lifting of working out the Base64 and SHA1 encoding in J2ME-compatible Java (which he published on his weblog last week) and I used that code to create a small J2ME application which simply allows you to post a title and content field to a weblog.
AtomAPI を直接、 J2ME 搭載の携帯端末から使えるようにしたアプリケーションだそうです。やっぱでてくるかなとおもったけど面白げ。Blog Hacks ネタに DoJa から AtomAPI たたいてみようかなとか思ってたんですがドメイン制限とかで結局面白いアプリが思いつかなくて挫折したんだったなー。
ちなみに J2ME だと PUT/DELETE のメソッドが実行できないとかでいろいろ問題があるそうな。
Love Actually Original Soundtrack |
映画 ラブ・アクチュアリー のサントラ。すごくいい。The Pointer Sisters の "Jump (for my love)" (ヒュー・グラントの英国首相が踊る曲ね)とか最高です。
search.cpan.org: James G Smith / Gestinanna-0.02
core model for the Gestinanna application framework
またフレームワークが自分の中でアツイ最近ですが、また新しいフレームワークがでてました。Perl, Template-Toolkit で View, XML State Machine (XSM) で Contoller を提供してあと taglib とかもサポートしているらしい、面白そう。
未踏ユース公募結果。なんかヤバゲなのがいっぱい。。
IPA:未踏ソフトウェア創造事業:2004年度未踏ユース 公募結果
Kisp: WiKi風DSLを簡単に定義・解析・利用するためのシステム (For グッドラッパー)
グッドラッパー。。
G-rated Grid Game:G3 〜 Gridの付加価値としてのグリッドゲーム(グリゲー)
グリゲー、て。略すなよw
自律適応型マッサージチェア 「ほぐし屋 筋さん」
ネーミングがいいっすねぇ。。しかし自律適応ってどういう意味?
多人数P2Pネットワークを利用した新たなネットワークゲーム
普通だし。。
メールによる懸賞応募システムの開発
チャンスイットとか MyID みたいのでしょうか。。?
人間の第六感を模倣した夢見る計算機の開発
夢見ちゃうんだ。。
まあ、若いってのはいいことですね!
日本IBMは26日、Webサイト上でのアンケートコメントなど、自由記述形式の文章を分析する「評判分析ソリューション」を開発したと発表した。
評判情報の抽出ってのは NL っぽくていいですね。しかし、
今後は、ユーザーの要望に応じて個別対応ソリューションとして、主にコールセンター向けに提供していくという。
個別対応ソリューション!便利すぎるオトナ語です。何も製品としてはないってことかな。。
最初に誘ってもらって以来放置してた mixi でひさびさに遊んでます。
GREE のほうが自分の知り合いのユーザ数が多いので楽しいとは思いますが、やはりmixi日記の存在が大きい(mixi でしか見れない日記がいくつかある)のと、GREE は UI がよくなくて検索とかしにくいのがひとつ問題ですかねえ。
しかしどちらも相変わらずコミュニティとかレビューとかはイマイチこれだ!という使い道を見出せないでいます。
ニュージーランド・オーストラリアの出張から帰国。
成田で気づいたら iPod 盗まれてたよ。バッグのサイドのとこにあってそれだけとられてたからなあ。
しかし、前回も iPod 2代目の発売前に初代が壊れたし、今度は mini 発売直後にとられるとは、のろわれてるのか? データはほとんどPCに残ってるし買い換えようと思ってたとこだからまあ気にしないことにします。
今春に米Appleのマーケティング担当副部長に就任した前刀禎明氏が、「お待たせしましたiPod miniですが、先週の家電量販店のランキングでは予約注文にもかかわらず、ナンバーワンになりました。さらにiPodも2位、3位と続き、1〜3位独占という嬉しいニュースになった」とiPod/iPod miniの人気ぶりをアピール。
この前刀氏、ライブドアの前CEOなんですよね。
スラッシュドット ジャパン | RSSリーダー、何を使ってますか?
kamuy 曰く、 "最近各種ニュースサイトや企業サイトなどでも採用され、その要約を効率的に遣り取りするために国内でも注目度が高まりつつあるRSS、ですが、コレを効率的に捌くために色々なRSSリーダーが日々磨かれつつあると思います。最近自分でもblogを始めてみたと云うこともあり、俄然RSSリーダーについて興味が出てきたところですが、意外と自分好みのツールに巡り会えないのが現実であったりします。そこで、/.Jな皆さんに訊いてみたいと思うわけです。「あなたは普段、どのようなRSSリーダーを使っていらっしゃいますか?」と。
レスが面白い。見事なまでにコミュニティの特性をあらわしているというか。。
livedoor Blog 開発日誌:livedoor ムービー企画第2弾、ディープ・ブルーが登場!
先日のサンダーバードに引き続いてlivedoor ムービー合同企画第2弾として7月17日公開予定のディープ・ブルーのデザインが加わりました。
ディープ・ブルー キター! 帰国したら見に行きますー!
WaWaWaのWebサイトにようこそ! WaWaWaはオープンソースで開発されているSNS (ソーシャルネットワークサービス)の実装です。ソーシャルネットワークサービスとは、簡単に言えば知り合いに特化したWebベースのコミュニケーションツールといえるでしょう。SNSを使えば、知り合いのみ、あるいは共通の関心を持つ人々だけが集まってコミュニケーションを取ることができるのです。既にこうしたSNSのサービスを公開しているところとしては、orkutやmixi、greeなどが有名です。
今月の Software Design に出てた。PHP でできてるみたいで、XML-RPC をつかってセンターサーバとほげったりする感じらしい(まだよく読んでない)。やはり同じことを考える人はいるもんだ。
7/17 0:00 ぐらいから Bulkfeeds の定期メンテを行います。半日程度アクセスできなくなる可能性があります。ご迷惑をおかけしますが、ご了承ください。
OCEANLANE - OUT OF REASON [LIMITED EDITION] [MAXI]
日本の若きエモーショナルキング oceanlane の新譜マキシシングル! On my way back home はヤバ過ぎました。新譜の曲は こちらで少しだけ試聴できるみたいです。8月発売です。
OpenSNS の設置単位とか考えるに、Wiki 的になるような気がしてきた。イントラネットとかで企業ユースでも、グループ単位でみんなで使ってもいいし、個人で使ってもいいわけです。
そうすると InterWiki = OpenSNS 同士をつなげるリンク? WikiFarm = OpenSNS のネットワークを間借り? みたいな当てはめ方になるのかなあ。
やはり個人向けのプロフィール CMS に、認証とリンク機能をつけるほうが面白そうではある。
Bulkfeeds: Stats - RSS Directory & Search
いくつかのプロバイダー様から指摘があった、JUGEM はエントリがないユーザでもカウントされている、という問題ですが、記事がなくタイトルや description も変更されていない Blog を削除しました。
2週ほど前から、JUGEM の新着記事からアグリゲートするように仕様変更していますので、今後はこのような問題はおこらないとおもいます。
仕事中iTunesでよく聞いてるネットラジオのチャネル。
いろいろあるんですがやはり音は128kbpsのほうがよいので、以下の2つ。
80's Pop のチャンネル。懐かしい曲がずっとかかっててかなりよし。ポップスからハードロックまで幅広い。普段のメイン。
ときどき飽きたときに曲、Alternative のチャンネル。ちょっと重い曲が多いので、もう少しポップよりというか、Ataris とか Blink 812 とかその辺もかけてほしい、というかそういうチャンネルがあったら教えてほしいものです。
Boing Boing: Cool potential for Orkut or Friendster
Whole Lotta Nothing has sent out a lazyweb request for a blogging plug-in that would allow a blogger's close friends to correct typos in his or her posts. I sure could use something like this.
Orkut や friendster のようなソーシャルネットワーキング上の信頼できる友達に、自分の Blog の typo の修正や URL の修正を許可するようにしたい、という話。 Flickr は API 公開してるのかー。
Making mysql a bit more shell-like (Jeremy Zawodny's blog)
I use the mysql command-line client a lot. It acts like a mini-shell that makes it easy to send commands or queries to a MySQL server and view the results. However, its navigational facilities aren't terribly shell-like.
mysql のシェルで cd (use: データベース移動) とか ls (show tables) とかのコマンドを使えるようにするパッチ。
あとこれは知らなかったんだけど、プロンプトにカレントデータベース名を出すの便利そう。パッチあてなくてもできる。~/.my.cnf に
[mysql]
prompt="mysql (\d)>"
って書いておけばOK。さっそく設定。
livedoor Blog 開発日誌:HTMLテンプレートを編集できるようになりました!
本日ひっそりと新機能がオープンしました。
BlogのHTMLテンプレートを自由に書き換えることができるようになります。
livedoor Blog が HTML テンプレート編集に対応しました。素晴らしい。
IM分野で「雪解け」--マイクロソフト、AOL、ヤフーが相互乗り入れへ - CNET Japan
インスタントメッセージソフトの分野で、長年にわたって中傷合戦を続けていたMicrosoft、America Online(AOL)、Yahooの3社が、予想外の歩み寄りを見せている。
3社は米国時間15日に、Microsoftの企業ユーザー向けIMシステム「Live Communications Server(LCS)」が、今年中にもAOL Instant Messenger、Yahoo Messenger、MSN Messengerとの間で相互接続できるようになることを発表する。
おお、相互乗り入れというか、共通の規格でやってほしいですなー。
Six Apart Japan: Movable Type技術情報の提供を開始
栄えある第一弾は、naoyaさんによるMovable Type技術情報「Techknow Movable Type」です。naoyaさんはMovable Typeのハックだけでなく、ウェブログ検索サービスFeedbackなどで有名なブロッガーです。naoyaさんには、Movable Type 3.0の技術的な情報を、ウェブログ形式で提供していただきます。
なんか MT3 ハックづいてると思ったらそういう裏か。。
いくつか Trackback をいただきました。以下のように RDF 的に考案していただいた方もいるんですが、僕としては RDF にはこだわってはいないので、
<robot:noindex />
までシンプルにしてもいいかな、とか思い始めています。でも User-Agent にマッチすることは必要条件かな。とすると、
<robot:noindex user-agent="googlebot" />
とかかなあ。でもせっかくだから robots.txt と全く同じセマンティクスにすれば、robots.txt を読む実装 (Perl でいえば WWW::RobotRules とか) を再利用できてうれしいかなとは思うんですけどね。
でも robots.txt は site-wide なのに対して、meta name="robot" はコンテンツごとだからセマンティクスが変わってしまうのはしょうがないか。じゃあ、meta 要素そのまま書くのはだめかな。。
<xhtml:meta name="robot" content="noindex" />
って、xhtml だったら html/head/meta にないと意味的にはアレか。。結構めんどいですな。
<robot:noindex><robot:agent name="googlebot" /></robot:noindex>
こんな感じかな。。
2004 年 7 月の履歴もしくは日誌 / おのひろきおんらいん
robots.txt に RSS についてもそのまま記述すれば良いと思うのですが,robot.txt の編集をする権利を持たないっていう人も少なく無い訳で,そうすると HTML の meta 要素のように,RSS 自体に組み込む仕組みが必要というわけですね.
Googlebot は4種類いる。
crawl7.googlebot.com "Googlebot/2.1 (+http://www.googlebot.com/bot.html)" crawler10.googlebot.com "Googlebot/2.1 (+http://www.google.com/bot.html)" crawler4.googlebot.com "Mediapartners-Google/2.1 (+http://www.googlebot.com/bot.html)" crawl31.googlebot.com "Mediapartners-Google/2.1"
crawler1-9 では URL が www.googlebot.com なんだけど、crawl10 以降は www.google.com になっている模様。ちなみに Mediapartners-Google は AdSense 用。
Movable Type Plugins: TemplateToolkit
Allows you to include Template Toolkit templates in your MT templates.
便利そげ。via NDO::Weblog
このBookmarkletを使用すると、ページ内で使用しているリンクを抽出してその一覧をページのフッター部分に番号付きで表示させます。
すばらしげ。抜き出すリンクに正規表現が書けたらさらによし!ということで Hack してみた。
prompt にドメインをいれて特定ドメインのみのリンクを出したり、 .zip$ とかいれると zip ファイルのリンクだけ出てきたりする。
ってリンククリックだと出るんだけど Bookmarklet だとプロンプトすら出てくれない。。なんでかな。
寝てる間にコメントSPAM1000件ぐらい食らった。 SQL で削除したけど IP 変えながらきてるのもありウザー。 根本的な対策を後でします。。
7/14 13:30 対策完了。マルチバイトの文字を含まない投稿はすべて Ban するようにしました。
my $text = $q->param('text'); if ($text =~ /^[\x00-\x7f]+$/) { return $app->handle_error('Banned'); }UPDATE: MT3.1 以上では こちらのプラグイン の利用をおすすめします。
Japan.internet.com Webマーケティング - Yahoo!、RSS 機能拡充を視野に新興の Oddpost を買収
RSS などフィード技術分野に注目が集まる中、Yahoo! は RSS 機能拡充をにらみ、Oddpost を買収した。同社は、Eメールクライアントと RSS リーダーの統合サービスを提供する新興の小規模企業。
Yahoo! が DHTML で RSS ブラウザをつくっている OddPost を買収したそうです。Yahoo! Mail に RSS フィードリーダー機能を搭載する方向なんでしょうね。そういえば My Yahoo! にも RSS リーダー機能はついていたような。この辺のすみわけはどうするんですかね。
livedoor Blog 開発日誌:サンダーバードデザインが使えるようになりました!
本日livedoor ムービーにて、8月7日公開の映画『サンダーバード』の特集ページがオープンしました!実はこの企画の中で、このlivedoor Blogで使えるデザインテンプレートを公開しているんです。合計3種類、クールなメカバージョン、イケメン揃いのトレーシー・ボーイズバージョン、キュートなレディ・ペネロープバージョンと、使って楽しい3種類のデザインテンプレートが毎週続々登場します。
映画のプロモーションに Blog テンプレートを使用する手法が livedoor Blog ではじまりました。今後さまざまな映画などで取り入れられていくと思うので、注目です。
Bulknews ではニュースフィードを RSS で提供していますが、いくつかの行儀の悪いクローラが、同時に10個とか RSS を持っていってくれるので、Apache のスロットが埋め尽くされるという問題が頻繁に発生していました。
そこで RSS フィードに対して同一のIPからの同時接続を 2 までに制限しました。具体的には mod_conn.c をDSOでインストールして MaxClientsPerHost 2 と設定しています。
何か問題があればメールにてお知らせください。
と、思ったけどうまく動いていないな。。ForkManager とかで同時アクセスかけても 403 にならない。しばらく様子見。
OpenSNS についてのメモ。
思ったことをざっと書いただけ。実装する前に余計なこと考えるのに時間がかかるのは、悪いクセだなぁ。
某所に投げたメールですが、ここにも掲載しておく。
検索エンジンのロボットが読む /robots.txt や HTML の META name="robot" content="noindex" に相当するメタデータをRSSに埋め込むための規格がほしいなと思っています。
Bulkfeeds や FeedBack などの RSS フィード検索エンジンに乗ってほしくないRSSフィードを吐いている方も、中にはいらっしゃるとおもいます。これらを表現するには、現状 dc:rights や creativecommons などのモジュールを使うと思うんですが、バリエーションが多すぎていまいち統一性のとれた規格にはできなそうです。
コンテンツを index してほしくないという理由のほかにも、たとえば Bulkfeeds のような検索エンジンが検索結果をさらにRSSフィードで出力したり、RNA や RssRolling のような、アグリゲートしたフィードを再度まとめて出力したりすると、これを検索エンジンでひっかけると非常にややこしいことになります。
# Bulkfeeds では個別にこういうのを見つけ次第、検索対象からはずすようなフィールド定義して対応してるんですが。。
シンタクスとしては、
<robot:user-agent>*</robot:user-agent>
<robot:noindex>1</robot:noindex>
のようなシンプルなものでいいかなと。
ご意見ください。
hail2u.net - Weblog - MSN Messengerから任意のブラウザを起動
MSN MessengerがURLを開くブラウザを決定する挙動が、大体つかめた気がするので、手順を書いてみようかと。かなりアクロバットなレジストリの参照の仕方をしているなぁという感想。普通にhttpの関連付けから起動とかで良いじゃん。
これずっと困ってたんですが、ここに書かれてる方法でできました!
HKEY_CLASSES_ROOT\htm.dummyなどダミーのキーを作る HKEY_CLASSES_ROOT\.htmの標準の値を上記のキー名にする
だけで DonutP で開くように設定できました。kyo さんありがとう!
TrackBack Development: TrackBack and internationalization
There's been some conversation lately about how TrackBack handles (or doesn't handle) international character sets. After looking at existing practices that have evolved in non-English-speaking countries, a great conversation on Sam Ruby's site yielded some useful sample code that you can try out. TypePad sites also handle character sets correctly for TrackBacks as well.
Trackback の I18N の話。Content-Type: application/x-www-form-urlencoded; charset=utf-8 みたいにするという至極 pedantic なソリューションになっている。問題はないとおもいますがブラウザで送るときにこれじゃ困るってこともあるような(たいがいサポートしてないから)。
search.cpan.org: Jarkko Hietaniemi / Graph-0.20105
Graph graph operations
有向・無向グラフにおいて幅優先・深さ優先探索とかできるモジュールというかデータ構造クラス。jhi 氏がつくったのなら安心かな。Copyright: O'Reilly and Associates. とあるのは、Mastering Algorithms with Perl のためにつくったモジュールだったりするのかな。
ソーシャルネットワークにおいてはリンクつきグラフをデータ構造として扱うことになると思うのでメモっておく。
A Perl framework for quick and easy database-backed applications
Simon Cozens さんの、Maypole 記事。 Maypole は Perl ベースの Web アプリケーションフレームワークで、Class::DBI や Template-Toolkit を使用してデータベースへのアクセスや認証などを簡単に行うことができます。Sledge にコンセプトの上ではとても似てますね。
この記事では Orkut や Friendster のようなソーシャルネットワーキングサイトをつくろう! という内容になっていておもしろげです。
前から思っていたことなんですが、リモートURL の PDF をブラウザ(IE)や Acrobat で開くと、保存できませんよね?(なんか操作が許可されてない、とかで)
なので、メールの本文に、
PDF をこちらにおきました。 http://example.com/blah.pdf
とかかかれると、ゲットできない。 1個上にたどって http://example.com/ に DirectoryIndex とかでリンクがあれば、右クリック→保存でできるんだけど。。
しょうがないのでサーバに入って wget した後、~/public_html/tmp/ にコピーして、ブラウザで /~miyagawa/tmp/ を開いて、右クリック保存とかしてる。。
ほかに対処法があったら教えてください。
Bloglines | Free, Web-Based News Aggregator
Bloglines is the most comprehensive, integrated service for searching, subscribing, publishing and sharing news feeds, blogs, and rich Web content. It's free and easy-to-use.
メンテが終わってリロードしてみたら、Bloglines がデザインリニューアルしてました。ちょっとまだなれないけどこぎれいな感じで使いやすそうです。デザインは全部 CSS で実現されていて、今までは同色だった既リンクの色が変わりました。これは便利。
それから、Blog 機能がついたみたいですね。クリッピング専用かな? BlogRoll がデフォルトでついてるのはなかなか面白いですね。
空気読めとかいわれそうですが、黙ってるのもなんなので...
blog.bulknews.net: Google 検索向け AdSense はリンクでもOK? という記事なんですが、これ規約的にだめだそうです。同様のことを『音ログ』で考えてたんですけど、Google さんに問い合わせたら下記のような返事が来ました。
あー、規約違反ですか。利用規約 を読む限りでは違反はしてないような感じなんだけどなあ。せっかく Google にトラフィック流してるんだから禁じることはないだろうにと個人的には思うのですが。
なんとなく SEO ネタ。YST はリンクポピュラリティ リンクレピュテーション(アンカーテキストマッチという単語もあるらしい)を重視しない、その決定的な証拠というかわかりやすい例をひとつ。
HTML から Amazon のリンクを抜き出すコード。
my @asin = $html =~ m!/ASIN/(\w+)!g
まじめにやろうとおもったけど satoru さん 案のこれが一番 pragmatic だ。
blog.bulknews.net: Google 検索向け AdSense
AdSense に新メニュー。検索ボックスをおいて、そこに表示された AdWords でアフィリエイト、かな。
あんま使い勝手ないな、とか思っていたんですが、本文から単語で Google にリンクするときにこれ使うと、便利かもしれないですね。
よく調べてないけど、URL を http://www.google.com/custom にして、client=pub-XXXXXXXX で クライアントコードを入れるだけでいいような。
これでこの検索結果ページにある AdWords がクリックされた場合には、Web 検索 AdSense してアフィリエイトが入ってくると思われます。コンテンツ向け AdSense より、コンテンツつくり側が意識して誘導できて、よりアサマシいかも。
はてなダイアリーマークアップ API とかと連動させると面白いかな。
tDiary 界隈でリファラ SPAM が問題になっているとか。Shibuya.pm サイトでも2ヶ月ほど前に対策をしていたので備忘録。
基本的に porn だとか casino だとかの禁止リストははじいた上で、
$ENV{HTTP_REFERER} =~ m!\.com/$!
にマッチしたら消す、というのが結構ききました。個人サイトの .com もはじいちゃう!と思いがちですが、パスが / (ルート)のときだけなので、通常の日記とか Blog とかは全然問題にならないです。
7/1 16:00 にエントリを書いて、YST では7/2 の午前の時点ですでに5件、Google はついさっきから2件ほど結果が出るようになりましたが、まだこの Blog のエントリは出ていません。ということで単純評価ですが YST のほうが現時点ではフレッシュクロールは強そうです。
初速では YST 有利ですが、その後あっという間に Google がリード。
OpenSNS.org とか、新しくリンクされたサイトもすばやくインデクシングされているのを見ると、リンクたどるのは Googlebot のほうが早いのかな? OpenSNS.org のログで Googlebot, Y! Slurp, MSNBot の初回アクセスを拾ってみると以下のような感じ。
66.196.91.11 - - [02/Jul/2004:21:37:08 +0900] "GET / HTTP/1.0" 200 407 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" 65.54.188.83 - - [03/Jul/2004:01:02:17 +0900] "GET / HTTP/1.0" 200 407 "-" "msnbot/0.11 (+http://search.msn.com/msnbot.htm)" 64.68.82.44 - - [03/Jul/2004:08:59:47 +0900] "GET / HTTP/1.0" 200 407 "-" "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"
別に Googlebot はクロールがはやいわけではないみたい。Y! Slurp のほうがとりにくるのは早いですね。
てか、なんか SEO オタクみたいなエントリがつづいてしまった。
なんとなく思いついたので、すごく適当な Trackback Auto-Discovery Bookmarklet をつくってみる。 document.body.innerHTML をつかって、コメント RDF の中にある trackback:ping を見つけ出す。ほんとはもっと厳密にやろうとおもったけど JavaScript で複数行にマッチする .* の正規表現 (Perl でいうとこの s オプション)の作り方がわからなかったのはヒミツ。
とおもったら MT では head の中に RDF がはいってるからこれじゃダメだ! JavaScript で head 内の HTML ソースはどうやってとるのかしら。。
Paris Hilton うるさい。というわけでアダルト系のSPAMキーワードを強化するとともに、以下のコードを MT/App/Comment.pm のメール本文のとこに追加。
Ban this IP? @{[ $app->base . $app->path . "mt.cgi" ]}?blog_id=@{[ $entry->blog_id ]}&__mode=save&_type=banlist&ip=@{[ $comment->ip ]} BODY
コメント通知メールから IP を直接 Ban List に追加します。
OpenSNS という名前を選んだのは、検索エンジンで1件もひっかからないということも理由の1つです。そこでさっそく YST と Google でのフレッシュクロールの精度比較。
YST で OpenSNS を検索
Google で OpenSNS を検索
7/1 16:00 にエントリを書いて、YST では7/2 の午前の時点ですでに5件、Google はついさっきから2件ほど結果が出るようになりましたが、まだこの Blog のエントリは出ていません。ということで単純評価ですが YST のほうが現時点ではフレッシュクロールは強そうです。
Everything TypePad!: TypePad vs. Comment Spammers
Recently we added some simple tests that eliminate a large amount of comment spam on TypePad blogs. According to our logs, most spammers try to cover their tracks by sending their posts through an "Open
Proxy Server".
TypePad は SPAM よけのために Open Proxy (だれでも接続できるプロキシサーバ)からのポストを拒否するようにしたようです。むかし 2ch でもやっていたとおもいますが、賢い方法ですね。
SPAM でない人がひっかかってしまった場合でも、6文字のイメージを表示してその文字を読ませて投稿可能になっているみたいです。
Bulkfeeds のチューニングを何点か。
MySQL のパラメータをチューニング。SQL 文ばっかり注目してて、mysqld のパラメータはほぼデフォルトで運用してた。。 メモリをふんだんにつかうように table_cache とか key_buffer とか調整。
Ping サーバのアグリゲートと、RSS のクローリングを並列動作可能なように作り直した。これで Ping 拾い漏れがかなり解消されるはずです。(きのうの新着が多くなっているのは、いままで漏れていたやつが拾えるようになったから)
インデクシングにまだまだ時間がかかっていますが、これもボトルネックがわかったのでじきに対策する予定です。数百万件のデータがはいっている同じテーブルに対し、Web から大量SELECT しつつ、クローリング側で UPDATE と INSERT が同時にかかっています。これをレプリケーションして分散させれば。。
blog.bulknews.net: OpenSNS - オープンソースのソーシャルネットワーキングシステム
どういう風な使い方があるのかもうちょっとアイデアを練って、SourceForge あたりでプロジェクトを立ち上げてみようかしら。
しかしそもそもこういう場合、システムをつくってオープンソースにするのと、サービスをつくってAPIを公開して(FOAFとかのメタデータをクリエイティブコモンズで公開するとか)、という2つが考えられるわけですよね。ただSNSでのデータ公開領域云々、ってのを考えるとやはり前者になるのかもしれない。にしてもシステムの実験をするためのサービスは立ち上げる必要がありそうですが。。
とりあえず、SourceForge にプロジェクトつくってみました。まだ Status: Planning なので ML などで適当に議論できればなぁなどと思っております。SF でつくったプロジェクトは放置されがちなので、Vaporware にならないように気をつけないと。
ついでに OpenSNS.org ってドメインもとっておいた。
なんとなく前々からオープンソースの SNS システムをつくってみようかなとは思っていたのですが、ちょうどいくつかのエントリで話題にされているのを発見。
- ドットコム会議/オープンソースのソーシャル・ネットワーク
- オープンソースのソーシャルネットワーク アプリケーション
ある程度コントロールされたエリアの中でのSNSもあってもよいとおもうし(イントラネットでの利用なんかはまさにそれ)、コミュニティごとにデータを共有したり、開示する情報を制限したりするといった使い方をしたいこともある(既存の GREE や mixi ではそこまでのコントロールはできない)。
↑で紹介されているように、すでにいくつかの実装があるようですが外人がつくってるものだからちゃんと日本語とおるかわからないし、PHP だからいじりにくい。まあそうなったら作るしかないわけで(単純に作りたいという動機の方が大きいんですが)。
どういう風な使い方があるのかもうちょっとアイデアを練って、SourceForge あたりでプロジェクトを立ち上げてみようかしら。
しかしそもそもこういう場合、システムをつくってオープンソースにするのと、サービスをつくってAPIを公開して(FOAFとかのメタデータをクリエイティブコモンズで公開するとか)、という2つが考えられるわけですよね。ただSNSでのデータ公開領域云々、ってのを考えるとやはり前者になるのかもしれない。にしてもシステムの実験をするためのサービスは立ち上げる必要がありそうですが。。
グーグル、ソースコード盗用で訴えられる--「Orkut.com」構築で - CNET Japan
シリコンバレーのあるベンチャー企業が、Googleを相手取って訴訟を起こした。原告側は、検索大手のGoogleに勤務するエンジニアが、人気のオンラインソーシャルネットワークサービス「Orkut.com」構築のためにソフトウェアのコードを盗んだと主張している。
主張するのは誰でも出来ますがねー。うちの会社の場合はフレームワークをオープンソース にして公開しているので、こういう問題はおきにくいです。会社で得た経験は会社の財産でもあり個人の財産でもあるはず。
2004 June 30 (3.0.2 beta)
The first beta release for SQLite 3.0.
フラットファイルを利用した RDB エンジン、SQLite がメジャーバージョンアップして 3.0 のベータリリースがでています。UTF-8,16 による国際化のサポート、BLOB のサポートなどなど、なかなか強力っぽいです。
MozillaやOpera、Appleなどがスクリプト可能なプラグインAPIを共同開発へ
Mozilla Foundation、米Adobe Systems、米Apple Computer、米Macromedia、ノルウェーのOpera、米Sun Microsystemsは6月30日、Webブラウザプラグインの新しい規格を共同開発し、オープンソースライセンスで公開することで合意したと発表した。
IE 対抗軍が共同でプラグインAPIを開発というニュース。面白げです。
米Novell、オープンソース版.NET「Mono 1.0」を正式発表
米Novellは6月30日、Microsoftの.NETフレームワークをオープンソース環境に移植した「Mono 1.0」を正式発表した。あわせてMonoプロジェクトの新しいWebサイトも公開され、Monoを使った開発に必要なツールやドキュメント、ロードマップなどの詳細な情報が提供されることになった。
Mono っていつの間にか Novell からリリースされるようになっていたんですね。期待です。