<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>sfufoet's blog</title>
	
	<link>http://blog.loland.net</link>
	<description>Geek Tips</description>
	<lastBuildDate>Mon, 09 Nov 2009 14:55:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/sfufoet" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>快速获得上传到 Flickr 的图片外链地址</title>
		<link>http://blog.loland.net/203.et</link>
		<comments>http://blog.loland.net/203.et#comments</comments>
		<pubDate>Mon, 09 Nov 2009 14:55:21 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[GreaseMonkey]]></category>

		<guid isPermaLink="false">http://blog.loland.net/?p=203</guid>
		<description><![CDATA[yupoo 的 VIP 还是不靠谱啊。最近老是部分地区能看到图片。只好用 flickr 顶一下。安装我这个脚本后，在填写图片描述的页面可以快速获得外链地址。

]]></description>
			<content:encoded><![CDATA[<p>yupoo 的 VIP 还是不靠谱啊。最近老是部分地区能看到图片。只好用 flickr 顶一下。<a href="http://userscripts.org/scripts/show/61576">安装我这个脚本</a>后，在填写图片描述的页面可以快速获得外链地址。</p>
<p><img src="http://farm3.static.flickr.com/2627/4089121331_ce44be5ebe.jpg"/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/203.et/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stratini-Stripe Point Nine - 精致的 Firefox 主题</title>
		<link>http://blog.loland.net/202.et</link>
		<comments>http://blog.loland.net/202.et#comments</comments>
		<pubDate>Fri, 06 Nov 2009 15:15:50 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://blog.loland.net/202.et</guid>
		<description><![CDATA[今晚回来，本来想更新下小众软件明天的游戏的。结果一直超载。算鸟，我这边很久没更新了。。
Stratini-Stripe Point Nine 一款很精致很迷你的 Firefox 主题。有图有真相：

]]></description>
			<content:encoded><![CDATA[<p>今晚回来，本来想更新下小众软件明天的游戏的。结果一直超载。算鸟，我这边很久没更新了。。</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/13006">Stratini-Stripe Point Nine</a> 一款很精致很迷你的 Firefox 主题。有图有真相：</p>
<p><img src="http://farm3.static.flickr.com/2554/4080702668_b43f7382b8.jpg" alt=""/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/202.et/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>[升级]在 GR 里直接分享到 Twitter</title>
		<link>http://blog.loland.net/200.et</link>
		<comments>http://blog.loland.net/200.et#comments</comments>
		<pubDate>Wed, 14 Oct 2009 01:59:45 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google Reader]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.loland.net/200.et</guid>
		<description><![CDATA[http://www.boxcn.net/shared/static/rvic9s45my.js
上次发的在 GR 里直接分享到 Twitter 由于bit.ly 被 XX 了，只好换成 is.gd 来缩短。

请先安装 GreaseMonkey。
比 GR 自带的 Send to 功能强大之处：自动增加 Tag（需要添加更多 tag，请用英文逗号分割），可以加上评论。 有图有真相：
 
点击 Send 之后，会弹出登录框，输入用户名和密码。想更换代理 API 或 默认的 Liked 字样，请自行修改源代码。

安装：google_reader_twitter
修改自：Google Reader + Twitter
]]></description>
			<content:encoded><![CDATA[<p>http://www.boxcn.net/shared/static/rvic9s45my.js<br />
上次发的<a href="http://blog.loland.net/198.et" rel="bookmark" title="Permanent Link: 在 GR 里直接分享到 Twitter">在 GR 里直接分享到 Twitter</a> 由于bit.ly 被 XX 了，只好换成 <a href="http://is.gd">is.gd</a> 来缩短。<br />
<a href="http://blog.loland.net/198.et" rel="bookmark" title="Permanent Link: 在 GR 里直接分享到 Twitter"></a>
<p>请先安装 GreaseMonkey。</p>
<p>比 GR 自带的 Send to 功能强大之处：自动增加 Tag（需要添加更多 tag，请用英文逗号分割），可以加上评论。 有图有真相：</p>
<div align="center"><img src="http://farm3.static.flickr.com/2534/3878320080_cd39f725df.jpg" alt="" /> </div>
<p>点击 Send 之后，会弹出登录框，输入用户名和密码。想更换代理 API 或 默认的 Liked 字样，请自行修改源代码。
</p>
<p>安装：<a href="http://www.boxcn.net/shared/static/rvic9s45my.js">google_reader_twitter</a><br />
修改自：<a href="http://userscripts.org/scripts/show/10169">Google Reader + Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/200.et/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Auto Close Topify block-page - 自动关闭 Topify 的 Block 页面标签</title>
		<link>http://blog.loland.net/199.et</link>
		<comments>http://blog.loland.net/199.et#comments</comments>
		<pubDate>Sun, 27 Sep 2009 04:55:55 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[Topify]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.loland.net/199.et</guid>
		<description><![CDATA[Topify 是一款增强 twitter 邮件功能的应用，使用它能够直接通过邮件 followback 或者回复 DM。 via
点击了 Topify 的 block 链接之后，还要手工关闭标签，真是件麻烦事。搜索了下，找到个脚本 Close Tab on right double click，哦也。稍稍修改下。完美了。
安装 Auto Close Topify block-page 之后，在 about:config 里面搜索 dom.allow_scripts_to_close_windows 把值修改为 true。哦也。
]]></description>
			<content:encoded><![CDATA[<p><a title="Topify" href="http://topifybeta.com/">Topify</a> 是一款增强 twitter 邮件功能的应用，使用它能够直接通过邮件 followback 或者回复 DM。 <a href="http://www.geedr.com/5-invite-codes-for-topify.html">via</a></p>
<p>点击了 Topify 的 block 链接之后，还要手工关闭标签，真是件麻烦事。搜索了下，找到个脚本 <a href="http://userscripts.org/scripts/show/25725">Close Tab on right double click</a>，哦也。稍稍修改下。完美了。</p>
<p><a href="http://userscripts.org/scripts/show/58673">安装 Auto Close Topify block-page 之后</a>，在 about:config 里面搜索 dom.allow_scripts_to_close_windows 把值修改为 true。哦也。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/199.et/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>在 GR 里直接分享到 Twitter</title>
		<link>http://blog.loland.net/198.et</link>
		<comments>http://blog.loland.net/198.et#comments</comments>
		<pubDate>Tue, 01 Sep 2009 14:39:19 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Reader]]></category>
		<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.loland.net/198.et</guid>
		<description><![CDATA[请先安装 GreaseMonkey。
比 GR 自带的 Send to 功能强大之处：自动增加 Tag（需要添加更多 tag，请用英文逗号分割），可以加上评论。 有图有真相：


点击 Send 之后，会弹出登录框，输入用户名和密码。需要修改代理 API 或 默认的 Liked 字样，请自行修改源代码。
安装：google_reader_twitter
修改自：Google Reader + Twitter
]]></description>
			<content:encoded><![CDATA[<p>请先安装 GreaseMonkey。</p>
<p>比 GR 自带的 Send to 功能强大之处：自动增加 Tag（需要添加更多 tag，请用英文逗号分割），可以加上评论。 有图有真相：</p>
<div align="center"><img src="http://farm3.static.flickr.com/2534/3878320080_cd39f725df.jpg" alt="" />
</div>
<p>点击 Send 之后，会弹出登录框，输入用户名和密码。需要修改代理 API 或 默认的 Liked 字样，请自行修改源代码。</p>
<p>安装：<a href="https://dl.getdropbox.com/u/788802/google_reader_twitter.user.js">google_reader_twitter</a><br />
修改自：<a href="http://userscripts.org/scripts/show/10169">Google Reader + Twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/198.et/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>快速分享网页到 Twitter 的 ubiquity 命令</title>
		<link>http://blog.loland.net/196.et</link>
		<comments>http://blog.loland.net/196.et#comments</comments>
		<pubDate>Sun, 26 Jul 2009 02:00:53 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://blog.loland.net/196.et</guid>
		<description><![CDATA[把以前那个《用 Ubiquity 打造个 hellotxt》下的脚本修改了一下，同步已经没有意义了，封的封，挂的挂。
注意：此命令很可能不支持最新那个 0.5 版的 ubiquity。
命令参数：tw s 和 tw r。自己测试一下就知道啥东东了。需要更多参数请自行定义。
CmdUtils.CreateCommand({
&#160;&#160;&#160;&#160;&#160; name: "tw",
&#160;&#160;&#160;&#160;&#160; takes: {status: noun_arb_text},
&#160;&#160;&#160;&#160;&#160; homepage: "http://blog.loland.net/2008/09/28/58.et",
&#160;&#160;&#160;&#160;&#160; author: {name: "sfufoet", homepage: "http://blog.loland.net/"},
&#160;&#160;&#160;&#160;&#160; license: "MPL",
&#160;&#160;&#160; &#160;
&#160;&#160;&#160;&#160;&#160; preview: function(previewBlock, statusText, mods) {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; var previewTemplate = '&#60;/div&#62;&#60;br/&#62;' +
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "将要发布到 twitter 的内容如下: &#60;br/&#62;" +&#160;&#160;&#160;&#160; &#160;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "&#60;b&#62;${status}&#60;/b&#62;&#60;br /&#62;&#60;br /&#62;" +
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; " 总字数为: &#60;b&#62;${chars}&#60;/b&#62;";
&#160;&#160;&#160;&#160;&#160;&#160;&#160; var truncateTemplate = "&#60;br /&#62;后面 &#60;b&#62;${truncate}&#60;/b&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>把以前那个《<a href="http://blog.loland.net/58.et">用 Ubiquity 打造个 hellotxt</a>》下的脚本修改了一下，同步已经没有意义了，封的封，挂的挂。</p>
<p><strong>注意：</strong>此命令很可能不支持最新那个 0.5 版的 ubiquity。</p>
<p>命令参数：tw s 和 tw r。自己测试一下就知道啥东东了。需要更多参数请自行定义。</p>
<p>CmdUtils.CreateCommand({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name: "tw",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; takes: {status: noun_arb_text},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; homepage: "http://blog.loland.net/2008/09/28/58.et",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; author: {name: "sfufoet", homepage: "http://blog.loland.net/"},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; license: "MPL",<br />
&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; preview: function(previewBlock, statusText, mods) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var previewTemplate = '&lt;/div&gt;&lt;br/&gt;' +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "将要发布到 twitter 的内容如下: &lt;br/&gt;" +&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;b&gt;${status}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;" +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " 总字数为: &lt;b&gt;${chars}&lt;/b&gt;";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var truncateTemplate = "&lt;br /&gt;后面 &lt;b&gt;${truncate}&lt;/b&gt; " +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "个字将予以删除!";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(statusText.text=="share" || statusText.text=="s"){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; statusText.text = context.focusedWindow.getSelection()<br />
&nbsp;&nbsp;&nbsp;&nbsp; + "分享：" + context.focusedWindow.document.title +" (" + context.focusedWindow.location + ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(statusText.text=="Reading" || statusText.text=="r"){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; statusText.text = context.focusedWindow.getSelection()<br />
&nbsp;&nbsp;&nbsp;&nbsp; + "Reading：" + context.focusedWindow.document.title +" (" + context.focusedWindow.location + ")";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var previewData = {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status: statusText.text,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chars: statusText.text.length<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var previewHTML = CmdUtils.renderTemplate(previewTemplate,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; previewData);<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(previewData.chars &gt; 140) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var truncateData = {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; truncate: previewData.chars - 140<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; previewHTML += CmdUtils.renderTemplate(truncateTemplate,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; truncateData);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jQuery(".emoticon").click(function(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mark= jQuery(this).attr("id");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(mark);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; previewBlock.innerHTML = previewHTML;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br />
&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; execute: function(statusText) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(statusText.text.length &lt; 1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; displayMessage("出错：内容不可空白");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; updateUrl = "https://twitter.com/statuses/update.json";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; updateParams = {<br />
&nbsp;&nbsp;&nbsp; 　　 source: "Twitter",<br />
&nbsp;&nbsp;&nbsp; 　　 status: statusText.text<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jQuery.ajax({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type: "POST",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url: updateUrl,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data: updateParams,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dataType: "json",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error: function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; displayMessage("Twitter：发布错误");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; success: function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; displayMessage("Twitter：发布成功");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }); </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/196.et/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Twitter 遭受新一轮黑客攻击？</title>
		<link>http://blog.loland.net/195.et</link>
		<comments>http://blog.loland.net/195.et#comments</comments>
		<pubDate>Thu, 23 Jul 2009 01:56:47 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.loland.net/195.et</guid>
		<description><![CDATA[9 点 15 分左右，查收 GMail，看到邮件一封：Reset your Twitter password？！呃，从昨晚 12 点到现在我都没有打开 twitter。打开  twitter，发现真的不能登录。仔细看了那封重置邮件。重置的地址是：http://twitter.com/account/password_reset?email=×××××@topify.com&#038;token=××××××××
不是钓鱼地址，大胆地加了 https ，打开了。提示重置密码的邮件已经发送到你的邮箱。等了十几秒，不见邮件过来，去垃圾邮箱看，也没有。因为 topify 的延迟。。再一次在登录界面点击忘记密码。再一次输入用户名，切换到 gmail，终于收到重置密码的链接地址。修改密码登录成功。
@riku童鞋也遇到了: @sfufoet 今天我也遭遇了，客户端都不能登录，重置密码后才搞定。 豆瓣上有些推友也碰到了类似问题，见这里。 
@LEMONed说: 连续数人 twitter 密码遭破解尝试，这是一起墙内策划墙内执行，有组织有预谋，反民主反自由言论的邪恶罪行！
twitter 的安全真无语。连续两次被黑，这次都黑到普通账户来了。大家注意了。
]]></description>
			<content:encoded><![CDATA[<p>9 点 15 分左右，查收 GMail，看到邮件一封：Reset your Twitter password？！呃，从昨晚 12 点到现在我都没有打开 twitter。打开  twitter，发现真的不能登录。仔细看了那封重置邮件。重置的地址是：http://twitter.com/account/password_reset?email=×××××@topify.com&#038;token=××××××××</p>
<p>不是钓鱼地址，大胆地加了 https ，打开了。提示重置密码的邮件已经发送到你的邮箱。等了十几秒，不见邮件过来，去垃圾邮箱看，也没有。因为 topify 的延迟。。再一次在登录界面点击忘记密码。再一次输入用户名，切换到 gmail，终于收到重置密码的链接地址。修改密码登录成功。</p>
<p>@<a href="https://twitter.com/riku">riku</a>童鞋也遇到了: @sfufoet 今天我也遭遇了，客户端都不能登录，重置密码后才搞定。 豆瓣上有些推友也碰到了类似问题，见<a href="http://www.douban.com/group/topic/7359166/">这里</a>。 </p>
<p>@<a href="/LEMONed">LEMONed</a>说: 连续数人 twitter 密码遭破解尝试，这是一起墙内策划墙内执行，有组织有预谋，反民主反自由言论的邪恶罪行！</p>
<p>twitter 的安全真无语。连续两次被黑，这次都黑到普通账户来了。大家注意了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/195.et/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>修复 twitter 头像的小书签</title>
		<link>http://blog.loland.net/193.et</link>
		<comments>http://blog.loland.net/193.et#comments</comments>
		<pubDate>Fri, 10 Jul 2009 12:20:46 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.loland.net/193.et</guid>
		<description><![CDATA[terryxxy：@sfufoet 你会不会写 bookmarlet ，把web下出问题的 https图片你地址替换成 http？
新建一个小书签，在地址里面输入：
javascript:(function(){var imgs,i;var imgs=document.getElementsByTagName('img');for(i in imgs){imgs[i].src=imgs[i].src.replace(/https:\/\/a0/ig,"http://a0");}})()
适合 twitter 网页版。
update：小书签更新了，修复一个 bug
]]></description>
			<content:encoded><![CDATA[<p><a href="https://twitter.com/terryxxy" title="阳阳猪">terryxxy</a>：@<a href="https://twitter.com/sfufoet">sfufoet</a> 你会不会写 bookmarlet ，把web下出问题的 https图片你地址替换成 http？</p>
<p>新建一个小书签，在地址里面输入：</p>
<blockquote><p>javascript:(function(){var imgs,i;var imgs=document.getElementsByTagName('img');for(i in imgs){imgs[i].src=imgs[i].src.replace(/https:\/\/a0/ig,"http://a0");}})()</p></blockquote>
<p>适合 twitter 网页版。</p>
<p>update：小书签更新了，修复一个 bug</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/193.et/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>快速退出 twittai 的小技巧</title>
		<link>http://blog.loland.net/192.et</link>
		<comments>http://blog.loland.net/192.et#comments</comments>
		<pubDate>Mon, 06 Jul 2009 11:19:06 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[blackberry]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.loland.net/192.et</guid>
		<description><![CDATA[twittai 是 BB 上一款免穿墙 twitter 客户端。推荐理由就是界面简洁，没有头像显示功能，免穿墙。
其最郁闷的地方就是退出的时候需要确认。这个快速退出 twittai 的小技巧其实我发现好久了，只是最近工作繁忙，都懒得 blogging 了。乘今天非常不爽的状态，赶紧告诉大家。
按下 ESC，然后立刻按下黑莓键，这时候，你可以看到一个 Close 的菜单，按下 Enter。

]]></description>
			<content:encoded><![CDATA[<p><a href="http://twittai.com">twittai</a> 是 BB 上一款免穿墙 twitter 客户端。推荐理由就是界面简洁，没有头像显示功能，免穿墙。</p>
<p>其最郁闷的地方就是退出的时候需要确认。这个快速退出 twittai 的小技巧其实我发现好久了，只是最近工作繁忙，都懒得 blogging 了。乘今天非常不爽的状态，赶紧告诉大家。</p>
<blockquote><p>按下 ESC，然后<b>立刻</b>按下黑莓键，这时候，你可以看到一个 Close 的菜单，按下 Enter。
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/192.et/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Megaupload auto-fill captcha, no wait, instant start - 自动填写 Megaupload 验证码</title>
		<link>http://blog.loland.net/191.et</link>
		<comments>http://blog.loland.net/191.et#comments</comments>
		<pubDate>Thu, 04 Jun 2009 12:34:58 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[GreaseMonkey]]></category>

		<guid isPermaLink="false">http://blog.loland.net/191.et</guid>
		<description><![CDATA[这个 GreaseMonkey 脚本的名字真长：Megaupload auto-fill captcha, no wait, instant start。它会自动填写 Megaupload 的验证码并自动把倒计时清零，立刻弹出下载对话框。
如果你安装了 skipscreen 这个扩展，那么这个脚本会和 skipscreen 冲突，导致无法下载。解决办法很简单，安装这个只自动填写验证码的脚本：Megaupload auto-fill captcha
]]></description>
			<content:encoded><![CDATA[<p>这个 GreaseMonkey 脚本的名字真长：<a href="http://userscripts.org/scripts/show/50063">Megaupload auto-fill captcha, no wait, instant start</a>。它会自动填写 <a href="http://www.megaupload.com/">Megaupload</a> 的验证码并自动把倒计时清零，立刻弹出下载对话框。</p>
<p>如果你安装了 skipscreen 这个扩展，那么这个脚本会和 skipscreen 冲突，导致无法下载。解决办法很简单，安装这个只自动填写验证码的脚本：<a href="http://userscripts.org/scripts/show/38736">Megaupload auto-fill captcha</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/191.et/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>在线生成字符画</title>
		<link>http://blog.loland.net/190.et</link>
		<comments>http://blog.loland.net/190.et#comments</comments>
		<pubDate>Tue, 26 May 2009 14:47:45 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[other]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.loland.net/190.et</guid>
		<description><![CDATA[今晚搞定了《中学科技》约稿，指定要我写《Image2Html - 将图片转化为彩色字符画》，这么简单的软件，要我撑到 800 字左右，真痛苦。。
为了写文章，在 Google 搜索“字符画 维基百科”，居然第一位是啥鸟垃圾互动百科的“字符画条目不存在”！
进入维基百科搜索，也没少的字符画条目，后来才搞清楚，字符画的英文叫 ACSII Art，晕死，我居然没想起来。对应的条目叫 ASCII 艺术。
还搜索到两个字母转换为 ACSII Art 的网站

ASCII TEXT ART CREATOR
ASCII&#160; Generator(这个比较强大)

还有两个收集 ASCII Art 的网站：

http://www.chris.com/ascii/
http://www.geocities.com/SouthBeach/Marina/4942/ascii.htm

]]></description>
			<content:encoded><![CDATA[<p>今晚搞定了《中学科技》约稿，指定要我写《<a href="http://www.appinn.com/image2html/">Image2Html - 将图片转化为彩色字符画</a>》，这么简单的软件，要我撑到 800 字左右，真痛苦。。</p>
<p>为了写文章，在 Google 搜索“字符画 维基百科”，居然第一位是啥鸟垃圾互动百科的“字符画条目不存在”！</p>
<p>进入维基百科搜索，也没少的字符画条目，后来才搞清楚，字符画的英文叫 ACSII Art，晕死，我居然没想起来。对应的条目叫 <a href="http://zh.wikipedia.org/wiki/ASCII%E8%89%BA%E6%9C%AF">ASCII 艺术</a>。</p>
<p>还搜索到两个字母转换为 ACSII Art 的网站</p>
<ol>
<li><a href="http://www.friendlycanadian.com/applications/ASCII.HTM">ASCII TEXT ART CREATOR</a></li>
<li><a href="http://www.network-science.de/ascii/">ASCII&nbsp; Generator</a>(这个比较强大)</li>
</ol>
<p>还有两个收集 ASCII Art 的网站：</p>
<ul>
<li><a href="http://www.chris.com/ascii/">http://www.chris.com/ascii/</a></li>
<li><a href="http://www.geocities.com/SouthBeach/Marina/4942/ascii.htm">http://www.geocities.com/SouthBeach/Marina/4942/ascii.htm</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/190.et/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>用 ubiquity 调用 Bit.ly 缩短网址</title>
		<link>http://blog.loland.net/189.et</link>
		<comments>http://blog.loland.net/189.et#comments</comments>
		<pubDate>Wed, 20 May 2009 15:28:41 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://blog.loland.net/189.et</guid>
		<description><![CDATA[很郁闷，过长的链接总是需要手工到 Bit.ly 缩短一下才能贴到 twitter。有了 Bit.ly Ubiquity Command Script，选中文字，按下 ubiquity 的快捷键，输入 bit.ly 回车，全自动替换到输入框。缩短后的网址还会发到剪贴板。
]]></description>
			<content:encoded><![CDATA[<p>很郁闷，过长的链接总是需要手工到 Bit.ly 缩短一下才能贴到 twitter。有了 <a href="http://mskadu.googlepages.com/bitly">Bit.ly Ubiquity Command Script</a>，选中文字，按下 <a href="http://labs.mozilla.com/projects/ubiquity/">ubiquity</a> 的快捷键，输入 bit.ly 回车，全自动替换到输入框。缩短后的网址还会发到剪贴板。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/189.et/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Maps For blackberry 3.0.2 - 非官方 OTA 下载</title>
		<link>http://blog.loland.net/188.et</link>
		<comments>http://blog.loland.net/188.et#comments</comments>
		<pubDate>Fri, 15 May 2009 11:58:21 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[blackberry]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.loland.net/188.et</guid>
		<description><![CDATA[scavin 在 twitter 吼了一句： China Google Maps for Mobile 地图更新了。去官方网站一看，还真更新了，更新到 3.0.2，Google 提供的 OTA 黑莓自带的浏览器不认，OTALoader 也不认。我只好手工打开 jad 文件，人肉下载 10 个 COD 文件。传到 Dropbox 了。

请用黑莓浏览器，猛击这里下载 Google Maps For blackberry 3.0.2，缩短后的下载地址：http://www.aph.cn/1f dropbox 很有问题。BB 根本下载不了。抱歉抱歉。。
我爬上屋顶，测试 3.0.2 是否支持 GPS，结果是：支持！哦也，终于。。

update：DavidBu@sfufoet 很早就是3.02啦 //啥时候的事情？
]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/scavin">scavin</a> 在 twitter 吼了一句：<span class="status-body"><span class="entry-content"> China Google Maps for Mobile 地图更新了。去官方网站一看，还真更新了，更新到 3.0.2，Google 提供的 OTA 黑莓自带的浏览器不认，OTALoader 也不认。我只好手工打开 jad 文件，人肉下载 10 个 COD 文件。传到 Dropbox 了。</p>
<p><del datetime="2009-05-15T13:30:31+00:00"><a href="https://dl-web.getdropbox.com/get/maps.jad?w=d17305f7"><br />
请用黑莓浏览器，猛击这里下载 Google Maps For blackberry 3.0.2</a>，缩短后的下载地址：<a href="http://www.aph.cn/1f">http://www.aph.cn/1f</a></del> dropbox 很有问题。BB 根本下载不了。抱歉抱歉。。</p>
<p>我爬上屋顶，测试 3.0.2 是否支持 GPS，结果是：支持！哦也，终于。。<br />
</span></span></p>
<p>update：<span class="status-body"><strong><a href="http://twitter.com/DavidBu" class="screen-name" title="David Bu">DavidBu</a></strong><span class="entry-content">@<a href="http://twitter.com/sfufoet">sfufoet</a> 很早就是3.02啦</span></span> //啥时候的事情？</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/188.et/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>YouTube 携帯版 - 在黑莓上看 Youtube 视频。</title>
		<link>http://blog.loland.net/187.et</link>
		<comments>http://blog.loland.net/187.et#comments</comments>
		<pubDate>Thu, 14 May 2009 15:29:42 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[blackberry]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://blog.loland.net/187.et</guid>
		<description><![CDATA[今天晚上在 GR 里瞄到这个网站 YouTube 携帯版，一个日本人开发的 Youtube 手机版。在黑莓上测试了一下，还是不错的。
可以在手机上访问这个缩短后的网址：www.aph.cn/1d，主界面如下：


搜索视频：


点击某个视频进去之后：选择分割的模式。点击 0:00-2:30 就开始下载视频。

通过 Opera Mini 下载到 BB 上看的画面：

两种分割的视频大小：20 秒的视频大概是 200K，2 分半钟的大概是 1.4 MB。
下载的连接地址里有两个个参数：

len=150000，其值 150000 就是 150 秒 = 2 分半，也就是说，修改这个参数就可以获得多长的视频，
begin=150000，这个值是开始下载的起始时间。

]]></description>
			<content:encoded><![CDATA[<p>今天晚上在 GR 里瞄到这个网站 <a href="http://youtube.maybeuse.com/">YouTube 携帯版</a>，一个日本人开发的 Youtube 手机版。在黑莓上测试了一下，还是不错的。</p>
<p>可以在手机上访问这个缩短后的网址：<a href="http://www.aph.cn/1d">www.aph.cn/1d</a>，主界面如下：</p>
<div align="center"><img src="http://blog.loland.net/wp-content/plugins/pika/readimg.php?src=http%3A%2F%2Flh3.gouride.com%2F_dgCGC6ge86w%2FSgw08jgco8I%2FAAAAAAAABJk%2Frwq3snbFBGQ%2Fs512%2F2009-05-14_230750.png" />
</div>
<p>搜索视频：</p>
<div align="center"><img src="http://blog.loland.net/wp-content/plugins/pika/readimg.php?src=http%3A%2F%2Flh3.gouride.com%2F_dgCGC6ge86w%2FSgw08jhARBI%2FAAAAAAAABJo%2FZSlKWjuW2AU%2Fs512%2F2009-05-14_230835.png" />
</div>
<p>点击某个视频进去之后：选择分割的模式。点击 0:00-2:30 就开始下载视频。</p>
<div align="center"><img src="http://blog.loland.net/wp-content/plugins/pika/readimg.php?src=http%3A%2F%2Flh3.gouride.com%2F_dgCGC6ge86w%2FSgw08hE0G7I%2FAAAAAAAABJs%2F6u28fyog-ho%2Fs512%2F2009-05-14_230856.png" /></div>
<p>通过 Opera Mini 下载到 BB 上看的画面：</p>
<div align="center"><img src="http://blog.loland.net/wp-content/plugins/pika/readimg.php?src=http%3A%2F%2Flh4.gouride.com%2F_dgCGC6ge86w%2FSgw2eNpT0RI%2FAAAAAAAABJw%2F-wNopKe1lso%2Fs512%2Fa.jpg" /></div>
<p>两种分割的视频大小：20 秒的视频大概是 200K，2 分半钟的大概是 1.4 MB。</p>
<p>下载的连接地址里有两个个参数：</p>
<ul>
<li>len=150000，其值 150000 就是 150 秒 = 2 分半，也就是说，修改这个参数就可以获得多长的视频，</li>
<li>begin=150000，这个值是开始下载的起始时间。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/187.et/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>不炫耀会死：Google 书签、Youtube 和 WordPress 贴纸</title>
		<link>http://blog.loland.net/186.et</link>
		<comments>http://blog.loland.net/186.et#comments</comments>
		<pubDate>Mon, 04 May 2009 14:18:32 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[log]]></category>

		<guid isPermaLink="false">http://blog.loland.net/186.et</guid>
		<description><![CDATA[向 scavin 要一套本来要被他贴到地板的 Google 书签。前几天收到了，家人忘记跟我说，我到今天才发现，特此炫耀一下：


话说，Google 书签的实物正面好丑。后面的 Android 机器人还不错。照片比较暗，将就了。
]]></description>
			<content:encoded><![CDATA[<p>向 <a href="http://twitter.com/scavin">scavin</a> 要一套本来要<a href="http://twitter.com/scavin/status/1628908499">被他贴到地板的 Google 书签</a>。前几天收到了，家人忘记跟我说，我到今天才发现，特此炫耀一下：</p>
<div align="center"><img style="max-width: 800px;" src="http://blog.loland.net/wp-content/plugins/pika/readimg.php?src=http%3A%2F%2Flh3.gouride.com%2F_dgCGC6ge86w%2FSf73A6VV03I%2FAAAAAAAABJY%2FcMjX_zCnuDc%2Fs512%2FIMG00719.jpg" />
</div>
<p>话说，Google 书签的实物正面好丑。后面的 Android 机器人还不错。照片比较暗，将就了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/186.et/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>用 Ubiquity 发飞信</title>
		<link>http://blog.loland.net/185.et</link>
		<comments>http://blog.loland.net/185.et#comments</comments>
		<pubDate>Sat, 02 May 2009 04:51:33 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://blog.loland.net/185.et</guid>
		<description><![CDATA[在我的推友里看到这篇 中国移动飞信 Fetion API 免费发短信的一些应用。文章里面有个 Ubiquity 命令，很简陋，而且还是新建标签式的。

输入在 Ubiquity 里输入 command-editor 或者打开 chrome://ubiquity/content/editor.html，在输入框的末尾输入以下命令。红色部分需要修改。
CmdUtils.CreateCommand({
&#160;&#160;name: "sms",
&#160;&#160;takes: {status: noun_arb_text},
&#160;&#160;homepage: "http://blog.loland.net/2008/09/28/58.et",
&#160;&#160;author: {name: "sfufoet", homepage: "http://blog.loland.net/"},
&#160;&#160;license: "MPL",
&#160;
&#160;&#160;preview: function(previewBlock, statusText, mods) {
&#160; &#160;&#160;var previewTemplate = '&#60;/div&#62;&#60;br/&#62;' +
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&#160;"将要发送到手机的的内容如下: &#60;br/&#62;" +&#160; &#160; &#160;&#160;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://twitter.com/sfufoet">我的推友</a>里看到这篇 <a href="http://daibin.info/fetion-api.html/">中国移动飞信 Fetion API 免费发短信的一些应用</a>。文章里面有个 <a href="https://wiki.mozilla.org/Labs/Ubiquity">Ubiquity </a>命令，很简陋，而且还是新建标签式的。</p>
<p><img src="http://blog.loland.net/wp-content/plugins/pika/readimg.php?src=http%3A%2F%2Flh4.gouride.com%2F_dgCGC6ge86w%2FSfvR8ObgwoI%2FAAAAAAAABI4%2FVmtOcdRAKtI%2Fs512%2F2009-05-02_125344.png" /></p>
<p>输入在 <a href="https://wiki.mozilla.org/Labs/Ubiquity">Ubiquity</a> 里输入 command-editor 或者打开 chrome://ubiquity/content/editor.html，在输入框的末尾输入以下命令。<font color="#cc0000">红色部分需要修改。</font></p>
<blockquote><p><span class="part js-variable">CmdUtils</span><span class="part js-punctuation">.</span><span class="part js-property">CreateCommand</span><span class="part js-punctuation">(</span><span class="part js-punctuation">{</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-property">name</span><span class="part js-punctuation">: </span><span class="part js-string">"sms"</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-property">takes</span><span class="part js-punctuation">: </span><span class="part js-punctuation">{</span><span class="part js-property">status</span><span class="part js-punctuation">: </span><span class="part js-variable">noun_arb_text</span><span class="part js-punctuation">}</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-property">homepage</span><span class="part js-punctuation">: </span><span class="part js-string">"http://blog.loland.net/2008/09/28/58.et"</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-property">author</span><span class="part js-punctuation">: </span><span class="part js-punctuation">{</span><span class="part js-property">name</span><span class="part js-punctuation">: </span><span class="part js-string">"sfufoet"</span><span class="part js-punctuation">, </span><span class="part js-property">homepage</span><span class="part js-punctuation">: </span><span class="part js-string">"http://blog.loland.net/"</span><span class="part js-punctuation">}</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-property">license</span><span class="part js-punctuation">: </span><span class="part js-string">"MPL"</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp;</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-property">preview</span><span class="part js-punctuation">: </span><span class="part js-keyword">function</span><span class="part js-punctuation">(</span><span class="part js-variabledef">previewBlock</span><span class="part js-punctuation">, </span><span class="part js-variabledef">statusText</span><span class="part js-punctuation">, </span><span class="part js-variabledef">mods</span><span class="part js-punctuation">) </span><span class="part js-punctuation">{</span><br />
<span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-keyword">var </span><span class="part js-variabledef">previewTemplate </span><span class="part js-operator">= </span><span class="part js-string">'&lt;/div&gt;&lt;br/&gt;' </span><span class="part js-operator">+</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-string">"将要发送到手机的的内容如下: &lt;br/&gt;" </span><span class="part js-operator">+&nbsp; &nbsp; &nbsp;&nbsp;</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-string">"&lt;b&gt;${status}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;" </span><span class="part js-operator">+</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-string">" 总字数为: &lt;b&gt;${chars}&lt;/b&gt;"</span><span class="part js-punctuation">;</span><br />
<span class="part js-keyword">if</span><span class="part js-punctuation">(</span><span class="part js-localvariable">statusText</span><span class="part js-punctuation">.</span><span class="part js-property">text</span><span class="part js-operator">==</span><span class="part js-string">"me"</span><span class="part js-punctuation">)</span><br />
<span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-localvariable">statusText</span><span class="part js-punctuation">.</span><span class="part js-property">text </span><span class="part js-operator">= </span><span class="part js-string">"<font color="#cc0000">你的手机号</font>&amp;msg=" </span><span class="part js-operator">+ </span><span class="part js-variable">context</span><span class="part js-punctuation">.</span><span class="part js-property">focusedWindow</span><span class="part js-punctuation">.</span><span class="part js-property">getSelection</span><span class="part js-punctuation">(</span><span class="part js-punctuation">) </span><span class="part js-operator">+ </span><span class="part js-string">" " </span><span class="part js-operator">+ </span><span class="part js-variable">context</span><span class="part js-punctuation">.</span><span class="part js-variable">focusedWindow</span><span class="part js-punctuation">.</span><span class="part js-variable">location</span><span class="part js-punctuation">;</span><br />
<span class="part js-keyword">else</span><br />
<span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-localvariable">statusText</span><span class="part js-punctuation">.</span><span class="part js-property">text </span><span class="part js-operator">= </span><span class="part js-localvariable">statusText</span><span class="part js-punctuation">.</span><span class="part js-property">text </span><span class="part js-operator">+ </span><span class="part js-string">"&amp;msg=" </span><span class="part js-operator">+ </span><span class="part js-variable">context</span><span class="part js-punctuation">.</span><span class="part js-property">focusedWindow</span><span class="part js-punctuation">.</span><span class="part js-property">getSelection</span><span class="part js-punctuation">(</span><span class="part js-punctuation">) </span><span class="part js-operator">+ </span><span class="part js-string">" " </span><span class="part js-operator">+ </span><span class="part js-variable">context</span><span class="part js-punctuation">.</span><span class="part js-variable">focusedWindow</span><span class="part js-punctuation">.</span><span class="part js-variable">location</span><span class="part js-punctuation">;</span></p>
<p><span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-keyword">var </span><span class="part js-variabledef">previewData </span><span class="part js-operator">= </span><span class="part js-punctuation">{</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-property">status</span><span class="part js-punctuation">: </span><span class="part js-variable">context</span><span class="part js-punctuation">.</span><span class="part js-property">focusedWindow</span><span class="part js-punctuation">.</span><span class="part js-property">getSelection</span><span class="part js-punctuation">(</span><span class="part js-punctuation">) </span><span class="part js-operator">+ </span><span class="part js-string">" " </span><span class="part js-operator">+ </span><span class="part js-variable">context</span><span class="part js-punctuation">.</span><span class="part js-variable">focusedWindow</span><span class="part js-punctuation">.</span><span class="part js-variable">location</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-variable">chars</span><span class="part js-punctuation">: </span><span class="part js-localvariable">statusText</span><span class="part js-punctuation">.</span><span class="part js-variable">text</span><span class="part js-punctuation">.</span><span class="part js-variable">length</span><br />
<span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-punctuation">}</span><span class="part js-punctuation">;</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;</span><br />
<span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-keyword">var </span><span class="part js-variabledef">previewHTML </span><span class="part js-operator">= </span><span class="part js-variable">CmdUtils</span><span class="part js-punctuation">.</span><span class="part js-property">renderTemplate</span><span class="part js-punctuation">(</span><span class="part js-localvariable">previewTemplate</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="part js-localvariable">previewData</span><span class="part js-punctuation">)</span><span class="part js-punctuation">;</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><br />
<span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-localvariable">previewBlock</span><span class="part js-punctuation">.</span><span class="part js-property">innerHTML </span><span class="part js-operator">= </span><span class="part js-localvariable">previewHTML</span><span class="part js-punctuation">;</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-punctuation">}</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp;</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-property">execute</span><span class="part js-punctuation">: </span><span class="part js-keyword">function</span><span class="part js-punctuation">(</span><span class="part js-variabledef">statusText</span><span class="part js-punctuation">) </span><span class="part js-punctuation">{</span><br />
<span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-variable">jQuery</span><span class="part js-punctuation">.</span><span class="part js-property">ajax</span><span class="part js-punctuation">(</span><span class="part js-punctuation">{</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-property">type</span><span class="part js-punctuation">: </span><span class="part js-string">"Get"</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-property">url</span><span class="part js-punctuation">: </span><span class="part js-string">"https://fetionAPI.appspot.com/api/?from=<font color="#cc0000">你的手机号</font>&amp;pw=<font color="#cc0000">飞信密码</font>&amp;to=" </span><span class="part js-operator">+ </span><span class="part js-localvariable">statusText</span><span class="part js-punctuation">.</span><span class="part js-property">text</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-property">error</span><span class="part js-punctuation">: </span><span class="part js-keyword">function</span><span class="part js-punctuation">(</span><span class="part js-punctuation">) </span><span class="part js-punctuation">{</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-variable">displayMessage</span><span class="part js-punctuation">(</span><span class="part js-string">"发送失败"</span><span class="part js-punctuation">)</span><span class="part js-punctuation">;</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-punctuation">}</span><span class="part js-punctuation">,</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-property">success</span><span class="part js-punctuation">: </span><span class="part js-keyword">function</span><span class="part js-punctuation">(</span><span class="part js-punctuation">) </span><span class="part js-punctuation">{</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-variable">displayMessage</span><span class="part js-punctuation">(</span><span class="part js-string">"发送成功"</span><span class="part js-punctuation">)</span><span class="part js-punctuation">;</span><br />
<span class="part whitespace">&nbsp; &nbsp; &nbsp;&nbsp;</span><span class="part js-punctuation">}</span><br />
<span class="part whitespace">&nbsp; &nbsp;&nbsp;</span><span class="part js-punctuation">}</span><span class="part js-punctuation">)</span><span class="part js-punctuation">;</span><br />
<span class="part whitespace">&nbsp;&nbsp;</span><span class="part js-punctuation">}</span><br />
<span class="part js-punctuation">}</span><span class="part js-punctuation">)</span><span class="part js-punctuation">;</span>
</p></blockquote>
<p>                                         <b>用法：</b></p>
<ol>
<li>输入 sms 手机号，回车后会把当前选中的文字和当前网址发生到对方手机上。</li>
<li>输入 sms me，就会发给自己。</li>
</ol>
<p>我用的这个飞信 API 是用 Google App Engine 打造的。注意：若短时间内循环大量发送短信者，将直接封号封 IP ！</p>
<p>如果不小心被封了，可以试试 <a href="http://daibin.info/fetion-api.html/">中国移动飞信 Fetion API 免费发短信的一些应用</a> 里的另外一个 API。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/185.et/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>GMail Compactor - 让 Gmail 侧栏的文字变图标！</title>
		<link>http://blog.loland.net/184.et</link>
		<comments>http://blog.loland.net/184.et#comments</comments>
		<pubDate>Fri, 01 May 2009 11:59:57 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Reader]]></category>
		<category><![CDATA[GreaseMonkey]]></category>

		<guid isPermaLink="false">http://blog.loland.net/184.et</guid>
		<description><![CDATA[有图有真相：


注：垃圾箱和收件箱的数字会显示在图标上的。。另外，脚本会隐藏 Gmail 的 logo，还有把搜索框压缩到侧边栏了。。
猛击这里安装 GMail Compactor.user.js
via
]]></description>
			<content:encoded><![CDATA[<p>有图有真相：</p>
<div align="center"><img src="http://blog.loland.net/wp-content/plugins/pika/readimg.php?src=http%3A%2F%2Flh6.gouride.com%2F_dgCGC6ge86w%2FSfriPN3DCWI%2FAAAAAAAABIw%2FxCLhgUjJw3M%2Fs512%2F2009-05-01_194951.png" />
</div>
<p>注：垃圾箱和收件箱的数字会显示在图标上的。。另外，脚本会隐藏 Gmail 的 logo，还有把搜索框压缩到侧边栏了。。</p>
<p><a href="http://userscripts.org/scripts/show/46938">猛击这里安装 GMail Compactor.user.js</a></p>
<p><a href="http://www.firefoxfacts.com/2009/05/01/shrink-the-left-hand-links-in-gmail/">via</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/184.et/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Twitthat! For Google Reader Mobile - 在 Google Reader 移动版使用的 Twitthat! 小书签[Opera Mini]</title>
		<link>http://blog.loland.net/183.et</link>
		<comments>http://blog.loland.net/183.et#comments</comments>
		<pubDate>Tue, 21 Apr 2009 07:05:58 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[blackberry]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[Opera Mini]]></category>

		<guid isPermaLink="false">http://blog.loland.net/183.et</guid>
		<description><![CDATA[在手机上 GR 看到不错的文章时，想把它分享到 twitter 是多么麻烦的一件事：点击&#160; See original，等待 or stop 页面的载入（这个步骤非常浪费时间），使用 Twitthat! 小书签。
有了 Twitthat! For Google Reader Mobile，这个复杂而浪费时间的步骤就变成：在 GR 看到不错的文章，直接在书签里点击 Twitthat! For Google Reader Mobile 然后提交就完事了。
Twitthat! For Google Reader Mobile 的安装有点特别，我没办法把它弄得像以前的小书签那样来安装。首先在手机上，运行 Opera mini，访问 Opera Mini Bookemarklets，点击 Twitthat! For Google Reader Mobile，复制下面文本框的文字，用快捷键 #7 来打开添加书签界面，然后清空 Address 的文字，把刚才复制的文字，粘贴进去。保存就可以了。
]]></description>
			<content:encoded><![CDATA[<p>在手机上 GR 看到不错的文章时，想把它分享到 twitter 是多么麻烦的一件事：点击&nbsp; See original，等待 or stop 页面的载入（这个步骤非常浪费时间），使用 Twitthat! 小书签。</p>
<p>有了 Twitthat! For Google Reader Mobile，这个复杂而浪费时间的步骤就变成：在 GR 看到不错的文章，直接在书签里点击 Twitthat! For Google Reader Mobile 然后提交就完事了。</p>
<p>Twitthat! For Google Reader Mobile 的安装有点特别，我没办法把它弄得像<a href="http://blog.loland.net/144.et">以前的小书签</a>那样来安装。首先在手机上，运行 Opera mini，<a href="http://blog.loland.net/op.htm#TwitthatForGoogleReader">访问 Opera Mini Bookemarklets</a>，点击 Twitthat! For Google Reader Mobile，复制下面文本框的文字，用快捷键 #7 来打开添加书签界面，然后清空 Address 的文字，把刚才复制的文字，粘贴进去。保存就可以了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/183.et/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Reader Easy Keys - 左手边的 Google Reader 快捷键</title>
		<link>http://blog.loland.net/181.et</link>
		<comments>http://blog.loland.net/181.et#comments</comments>
		<pubDate>Thu, 16 Apr 2009 14:09:49 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google Reader]]></category>
		<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[hotkey]]></category>

		<guid isPermaLink="false">http://blog.loland.net/181.et</guid>
		<description><![CDATA[啥时候，GR 才能和 Gmail 一样有自定义快捷键功能呢？等不及的童鞋，可以试试这个脚本。Google Reader Easy Keys 新增的快捷键如下。

Q 下一篇
W 上一篇
D 标记全部为已读
3 下一个未读 Feed
4 上一个未读 Feed

安装 Google Reader Easy Keys.user.js
]]></description>
			<content:encoded><![CDATA[<p>啥时候，GR 才能和 Gmail 一样有自定义快捷键功能呢？等不及的童鞋，可以试试这个脚本。Google Reader Easy Keys 新增的快捷键如下。</p>
<ul>
<li>Q 下一篇</li>
<li>W 上一篇</li>
<li>D 标记全部为已读</li>
<li>3 下一个未读 Feed</li>
<li>4 上一个未读 Feed</li>
</ul>
<p><a href="http://userscripts.org/scripts/show/40902">安装 Google Reader Easy Keys.user.js</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/181.et/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>UTF-8 Word-spacing For Google Reader - 自动在中文和数字、英文交接处加上空格[ver 0.2.2]</title>
		<link>http://blog.loland.net/180.et</link>
		<comments>http://blog.loland.net/180.et#comments</comments>
		<pubDate>Thu, 16 Apr 2009 11:13:26 +0000</pubDate>
		<dc:creator>sfufoet</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Reader]]></category>
		<category><![CDATA[GreaseMonkey]]></category>

		<guid isPermaLink="false">http://blog.loland.net/180.et</guid>
		<description><![CDATA[刚刚把 UTF-8 Word-spacing For Google Reader 升级到了 0.2.2。如果你还在 0.1 版本的话，请赶紧升级。中间的几次升级我只是在 twitter 上通知了。上次通知的是 0.2.1。
0.2.2 版本比 0.1 多了什么呢？

增加了对 list view 模式的处理。
处理了换行，就是段与段之间不空一行的，都会空多一行出来。

]]></description>
			<content:encoded><![CDATA[<p>刚刚把 <a href="http://blog.loland.net/175.et" rel="bookmark" title="Permanent Link: UTF-8 Word-spacing For Google Reader - 自动在中文和数字、英文交接处加上空格">UTF-8 Word-spacing For Google Reader</a> 升级到了 0.2.2。如果你还在 0.1 版本的话，<a href="http://userscripts.org/scripts/show/46440">请赶紧升级</a>。中间的几次升级我只是在 twitter 上通知了。上次通知的是 0.2.1。</p>
<p>0.2.2 版本比 0.1 多了什么呢？</p>
<ul>
<li>增加了对 list view 模式的处理。</li>
<li>处理了换行，就是段与段之间不空一行的，都会空多一行出来。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.loland.net/180.et/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
