Error: I'm afraid this is the first I've heard of a "atom" flavoured Blosxom. Try dropping the "/+atom" bit from the end of the URL.

Thu, 05 Feb 2009

iTunesのグリッドビューっぽいUIを作るjQueryプラグイン #2

かっこわるかったので書き直しました。IEでだいぶ高速化! テストも書きました。

Remedieでも使われてます。わーい\(^o^)/。ぱたぱた。

変更点:

テスト書くのが楽しい。jQueryのプラグインなのでQUnit使ってみたけど、JSSpecの方が好きです。


#

Mon, 02 Feb 2009

Flickrの撮影ステータスに35mm相当の焦点距離を追加するGreasemonkeyスクリプト

Flickrの写真のメタデータページには焦点距離(Focal Length)がExifデータそのままのものしか表示されません。例: Flickr: More detail about 猫背

"Flickr Adds Focal Length on a 35mm" Greasemonkey sample #1

8.4mm!! デジカメは機種によってセンサーの大きさが違うので、この写真どうやって撮ってるんだろう?と疑問に思ってデータを見ても全然分かりません。はやくなんとかしないと・・。ということでカメラ毎に35mm換算して表示するGreasemonkeyです。

入れるとこんな表示:

"Flickr Adds Focal Length on a 35mm" Greasemonkey sample #2

GRはテレコン装着するとExifデータも反映される!

機種ごとに違う画角の倍率データはwedataを使ってデータベース化しています。まだまだデータが少ないので、自分の持っているカメラが対応していない時など追加してもらえるとうれしいです。wedataはアカウントを作れば誰でも追加、編集出来ます。

画角の倍率の調べ方
  1. ぐぐる。

  2. カメラで調べる。例えば自分のカメラのワイド端が35mm換算で何mmなのかを知っていれば、レンズの表記(「f =5.1mm」など)や撮った写真のExifデータから計算出来ます。GX200だと

    ワイド端24mm/実際の5.1mm = 4.705882352941177

    のような感じ。

細かい話
#

Thu, 08 Jan 2009

SHUFFLE! 5巻を2冊買わない為のGM #3

久々にいじりました。歴史的な経緯でタイトルがおかしいですが、要はAmazonのカートから同じアイテムを複数注文しようとすると警告を出すGMです。

変更点は

カートのアイテムが多くて1ページに収まらなくなると2ページ目以降がチェックされない問題があります。

Amazonでは数の変更は更新ボタンを押さないと反映されません。入力を変更した時点で警告を非表示にするのはUI的によくないかもなー。なおした。

#

Thu, 11 Dec 2008

iTunesのグリッドビューっぽいUIを作るjQueryプラグイン

iTunes、iPhoto、Aperture辺りのこれ。

サンプル。画像の上を左右にマウス移動させるとぱたぱたと画像とリンクが変わります。棚からレコードを選ぶような行為がメタファーなのかな。個人的には好きなUIです。

使おうと思って作ったのになかなか余裕が無いですね! githubに置いてみました。pushを忘れる。

#

Wed, 03 Dec 2008

Amazonの商品ページにアフィリエイト用のHTMLを表示するGM #4

久々に使おうとしたら動かなかったので直しました。

GreaseKit 1.5を常用するようになってGM_xmlhttpRequestが使えなくなったのでJSONPに変更したり、AmazonがjQuery使い始めてたnoConfrictが使われているので$()ではなくjQuery()でアクセスします)のでコード短くしたり。jQueryはGM作りがだいぶ楽になりますね。

Fx3ではPermission denied to call method Location.toStringエラーが出て使えないかも。誰か直すといいお^^

#

Mon, 11 Feb 2008

Pipes でニコニコポップアップ

Pipes に Fetch Page 機能が追加されてたことに気付いたので ニコニコの HTML を JSONP 化してステータスをポップアップ表示させる JS 書いてみました。

初音ミク が オリジナル曲を歌ってくれたよ「メルト」

鏡音リンのスターリングラード冬景色

Amazon のやつを使い回し。Pipes 何でも出来るなぁ。ページ紹介用の HTML を作るブックマークレットは coderepos にあります。

#

Wed, 14 Nov 2007

Amazon のアイテムページにコピペ用のアフィリエイトタグを追加する GM #3

久々に買ったもの紹介しようと思ったら以前のコードが動かなかったので最近の環境に合わせて書き直し。時の流れにより GreaseKit (名前も Creammonkey から変更)でも GM_xmlhttpRequest使えるようになってたり、Pipes がかわいくなってたりしたのを反映しました。

AWSAccessKeyIdAssociateTag、あとはテンプレートをいじって。まあ個人用ですが。GM と Pipes の JSON は相性良すぎて作るのが楽しいです。


コミットミスしまくるので svk 止めました。svn はまだ安心して使える。GM ばかり書いてないで、みんなに付いていきたいな。このところずっと中途半端な感覚。

GreaseKit 1.3 はかなり出来がいいと思います。Mac で Safari の人は入れてみるといいよ。

#

新生銀行を使いやすくする Greasemonkey スクリプト

公開自体は少し前にしてたんだけど…。勝手にフィードバック:新生銀行を見てそれ GM で出来るんじゃねと思って作りました。

をします。暗証番号とパスワード以外の入力をスキップ。スクリプトのidに口座番号、tableにセキュリティカードの項目を埋めて使う感じ。ログイン前後の手間を入れると10秒とまではいかないけど、かなり短縮出来ました。

どうぞ自己責任でご利用ください。


いろいろめどそうだと思ったけど結構すぐ書けた。怒られるのがこわい。

#

Wed, 31 Oct 2007

とらのあなのカートに商品のリンクを追加する Greasemonkey スクリプト 0.2

Gmail の IMAP がやっときたーってことで、久々にとらのあなからの新着メール見て買い物(ぉ。昔作った GM が便利だよ俺。ついでにメンテしました。最近は画像が充実してるみたいなので、直接カートに画像表示させることに。

torack
こんな感じになる

画像クリックでページに飛びます。Greasemonkey と GreaseKit で確認しました。

そしてまた coderepos コミットログミスった。

#

Fri, 19 Oct 2007

IM に LDR のフィードステータスを定期的に通知してみる

type さんの im.kayac.com、あとでと思いつつなかなか手を付けられてなかったのですが、本人が記事書いてたのを機に試してみました。寝る時間がガリガリ削れる・・。

とりあえず LDR からこのサイトのフィード情報取って来て表示させる通知スクリプト。

ldr_notifier.rb:

#!/usr/bin/env ruby

require 'rubygems'
require 'hpricot'
require 'json'
require 'net/http'
require 'digest/sha1'

feed_uri = 'http://feeds.feedburner.com/carbonfairy/note'
im_username = 'yoko'
im_key      = ''

Net::HTTP.start('reader.livedoor.com', 80) do |http|
	r = http.get("/about/#{feed_uri}")
	doc = Hpricot(r.body)

	subs = (doc/'#subscribers-count').inner_html
	rate = (doc/'#avg-rate').inner_html
	message = "Feed status: #{subs} users, #{rate} avg."
	sig     = Digest::SHA1.hexdigest("#{message}#{im_key}")

	Net::HTTP.start('im.kayac.com', 80) do |http|
		print "sending \"#{message}\"... "

		r = http.post("/api/post/#{im_username}", "message=#{message}&sig=#{sig}")
		data = JSON.parse(r.body)

		puts data['error'].empty? ? data['result'] : data['error']
	end
end

IM:

Feed status: 290 users, 3.58 avg.

kan tan。サーバで回しておけば remember the milk みたいなリマインダになったり。一方通行の情報はまとめてもいいかもと思った。ボットボット。GTalk に送れば Gmail からログも取れる。im.kayac.com は名前考えるのがめんどくさかった説w。

はてなグラフ作成用のスクリプトにも追加してみる。実績の伸びなさに涙目。アイマス全実績解除無理だろ・・常考。モテメン P が900ポイントすごい! むきむき。

同じことをやる Dashboard ウィジェット昔作ったのを思い出した。LDR 擬人化絵に挫折して放置中・・。

#

Wed, 17 Oct 2007

SHUFFLE! 5巻を2冊買わない為の GM #2

今まで作ったユーザスクリプトの中で一番のお気に入りは SHUFFLE! 5巻を2冊買わない為の GM 。タイトルがアレなせいか(SHUFFLE! 5巻に限らず既に買ったものには警告を表示しますw)いまいちブクマされてないけど便利だから使うといいですよ!! これで安心と思っていたのですが、なぜか手元にいもうと温泉!が2冊ある事実。どうやら注文前に2回カートに入れてそのまま気付かず注文してしまったみたいです。罠だ。涙目で GM 書いた。

カート画面で数量が2点以上になっていると数量欄を赤で囲んで警告します。今回から Creammonkey では Safari 3 Beta + Creammonkey 1.1 でないと動かないようになってますのでご注意下さい。

今回既に本棚に同じのあった!よりも2冊一度に届く方がショックが大きいことに気付いた。目を逸らすことの出来ない現実、的な。最初 Amazon が間違えたのかと思ったよ・・。

ちょうど Twitter で温泉オフの話題が出てて超タイムリーとか思いました。皆さんもぜひ2冊買って下さい。

#

Sun, 07 Oct 2007

今ログインしている Twitter アカウントを表示する Greasemonkey スクリプト

現在のTwitterでも動くように作り直しました。

コードはGitHubに移しました


複数アカウント持ってると誤爆 Follow が酷いので><。 右上メニューの「Sign out」からアカウント切り替えしないとおかしなことになります。リニューアル前はページから簡単に取れたのに。。

福赤つかい分けてる人いるんだ。

使ってるのは1つですが Twitter ツール用のアカをいくつか持ってるので!


最近 CodeRepos のコミット権もらったのでそっちに上げることにしました。間違ってコミットログに「Nice boat.」って書いて送っちゃったりとろくなことをしない。

#

Fri, 28 Sep 2007

各ユーザスクリプトツールの window、unsafeWindow

毎回忘れるのでまとめてみました。

window.test = 'foo';
unsafeWindow.test = 'bar';

の順で指定した際のコンソールの値です。

window.test unsafeWindow.test note
Greasemonkey 0.7.20070607.0 (Fx 2.0.0.7) foo bar 値は別々に保持される
Creammoney 1.0 (Safari 3.0.3 (522.12.1)) bar bar window = unsafeWindow
fub test IE 7/WinXP undefined (宣言時にエラー) bar window は読み込み専用(変数を宣言した場合も window に属さない)
Opera 9.5 Alpha 4404 foo undefined (宣言時にエラー) unsafeWindow がない

全部違うww。最近統一されてきたと思ったけど unsafeWindow に関しては

var w = typeof unsafeWindow != 'undefined' ? unsafeWindow : window;

がまだ必要なようです。

#

Thu, 27 Sep 2007

Creammonkey 版どこでもスター greasemonkey (の紹介)

for fub でおk^^。マージしてもらった。と言ってもGM_registerMenuCommand判定付けてもらっただけ。キャッシュの削除は ~/Library/Application Support/Creammonkey/values.plist を直接いじる感じで。

Safari 3 beta でもObject.toSource()が使えないことを知った。GM_getValue() / GM_setValue()は何でも出し入れ出来たら便利なのに。

ソース見てたら script 要素に load イベント登録しててへーと思った。これは Safari でも動く模様。

それにしても Safari はデバッグしにくすぎる。

#

Thu, 05 Jul 2007

ゲイツポイントを円換算する chokan プラグイン

スク水が1,776円なのが分かったりします。

yksk: 1200gp
--twittan: 1,200ゲイツポイント = 1,776円

gates_point.rb

require 'chokan/plugin_base'

class GatesPoint < Chokan::PluginBase
	def initialize(config, chokan)
		super
		@suffix = @config['suffix'] || 'gp'
	end

	def on_privmsg(prefix, channel, message)
		case message
		when /^(\d+)#{@suffix}$/i
			notice(channel, exchange(Regexp.last_match[1]))
		end
	end

	private
	def exchange(gp)
		yen = gp.to_i * 1.48
		"#{format(gp)}ゲイツポイント = #{format(yen)}円"
	end

	def format(i)
		i.to_s.gsub(/(\d)(?=(\d{3})+(?!\d))/, '\1,').sub(/\.0+$/, '')
	end
end

svn 置きたい。

#