<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>康爷的博客 &#187; bl</title>
	<atom:link href="http://kangye.org/tag/bl/feed" rel="self" type="application/rss+xml" />
	<link>http://kangye.org</link>
	<description>专注于App Engine</description>
	<lastBuildDate>Wed, 28 Apr 2010 14:56:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>PubSubHubbub工作原理及使用入门</title>
		<link>http://kangye.org/pubsubhubbub-tutorial</link>
		<comments>http://kangye.org/pubsubhubbub-tutorial#comments</comments>
		<pubDate>Mon, 07 Sep 2009 11:59:03 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[App Engine]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Reader]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kangye.org/pubsubhubbub%e5%b7%a5%e4%bd%9c%e5%8e%9f%e7%90%86%e5%8f%8a%e4%bd%bf%e7%94%a8%e5%85%a5%e9%97%a8/</guid>
		<description><![CDATA[现在来说说看PubSubHubbub是什么东西，如何使用。前面说写了个将Google Reader的分享实时同步到Twitter的应用：reader2twitter.appspot.com，就是使用了PubSubHubbub协议，那么到底什么是PubSubHubbub协议呢？]]></description>
			<content:encoded><![CDATA[<div><img style="display: inline; margin-left: 0px; margin-right: 0px" height="112" src="http://www.techshout.com/images/google-reader-pubsubhubbub.jpg" width="120" align="right" />现在来说说看<a href="http://code.google.com/p/pubsubhubbub/">PubSubHubbub</a>是什么东西，如何使用。</div>
<div>&#160;</div>
<div>前面说写了个将Google Reader的分享实时同步到Twitter的应用：<a href="http://reader2twitter.appspot.com">reader2twitter.appspot.com</a>，就是使用了PubSubHubbub协议，那么到底什么是PubSubHubbub协议呢？</div>
<div>&#160;</div>
<div>官方说法是，A simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as an extension to Atom (and RSS)。其实就是一个RSS和Atom扩展协议，有了这个协议，就可以几乎实时地获取更新。</div>
</p>
<div>下面说说它的工作原理，分以下几步：</div>
<p> <span id="more-40964"></span>
</p>
<div>1.Subscriber(订阅者)向Publisher(发布者)请求获取更新的内容（很普通的request）</div>
</p>
<div>2.Publisher告诉Subscriber，我将更新托管到了某个hub上面</div>
</p>
<div>3.于是，Subscriber转而请求那个hub，告诉这个hub，如果Publisher一有更新的内容，就通知Subscriber的某个url</div>
</p>
<div>4.hub返回给Subscriber一个字符串，用以验证Subscriber不是攻击的肉机</div>
</p>
<div>5.订阅工作结束</div>
</p>
<div>6.hub不断向Publisher请求获取新内容，Publisher一有新内容也及时通知hub</div>
</p>
<div>7.hub获取更新的内容后，立刻通知所有在这个hub订阅Publisher的Subscriber</div>
</p>
<div>8.Subscriber根据通知的内容，进行处理，完成自己需要做的事情</div>
</p>
<div>理想状态是，有很多的hub，很多Publisher和Subscriber，相互交互。</div>
</p>
<div>&#160;</div>
</p>
<div>下次将会说如何使用PubSubHubbub，使用的是Google App Engine做例子。</div>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/pubsubhubbub-tutorial/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>为什么我喜欢用Posterous来写博客？</title>
		<link>http://kangye.org/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e5%96%9c%e6%ac%a2%e7%94%a8posterous%e6%9d%a5%e5%86%99%e5%8d%9a%e5%ae%a2%ef%bc%9f</link>
		<comments>http://kangye.org/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e5%96%9c%e6%ac%a2%e7%94%a8posterous%e6%9d%a5%e5%86%99%e5%8d%9a%e5%ae%a2%ef%bc%9f#comments</comments>
		<pubDate>Sun, 06 Sep 2009 09:35:59 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Labs]]></category>
		<category><![CDATA[Live]]></category>
		<category><![CDATA[Live Writer]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[文章]]></category>
		<category><![CDATA[浏览器]]></category>
		<category><![CDATA[照片]]></category>
		<category><![CDATA[评论]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[问题]]></category>

		<guid isPermaLink="false">http://www.kangye.org/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e5%96%9c%e6%ac%a2%e7%94%a8posterous%e6%9d%a5%e5%86%99%e5%8d%9a%e5%ae%a2%ef%bc%9f/</guid>
		<description><![CDATA[今天 @posterous RT了一篇文章：How Posterous is Changing Blogging。注意，它用的是blogging，而不是blog，意思就是，Posterous改变的是写博客的方式，而不是博客本身。恩，下面我也说说自己为什么喜欢用Posterous来更新博客。

1.We all like GMail

这个很重要，我想了想，能在GMail里更新博客确实是一件很不错的事情。以前一直用Windows Live Writer来写博客，也觉得这个软件不错。但是，有个致命的问题，Windows Live Writer并不是我一直需要使用的软件，而且打开速度不快，所以你要为了写博客而写博客，去打开这么一个微软的软件，自然减少了写博客的简单程度。

GMail则不然，相信GMail的用户应该上网都会开的吧，作为Chrome浏览器的用户，我又为GMail创建了快捷应用，使得GMail几乎可以全屏显示。GMail可以说是一个很好的工作平台，于是通过GMail给posterous发一封EMail，写一篇博客，就变得很轻松了。

另一个方面，GMail支持插入图片了。有了这个功能，我在给Posterous发送邮件时，插入图片就相当方便了，可以自己选择图片的位置，也不用输入((nogallery))了。加上GMail现在一次可以选择多个文件作为附件，更加方便了。

最后，GMail支持自动保存，而且是WEB应用，云的概念。

2.发布照片很简单

Posterous已经成为一个发布照片的重要服务了，原因很简单，只要将图片作为附件，给post@posterous.com发去一封邮件，就可以啥事不用管，Posterous自动将你的照片发布到你的博客中去了。为什么不用Twitpic呢？很简单，Twitpic不是博客，单张的照片不能说明很多问题，有时候一连串的照片，讲的是一个故事。并且，默认情况下，Posterous会将图片做成gallery，便于查看。

3.你可以发布任何东西？！

事实上，Posterous还是一个文件托管地，你可以发布图片,mp3,pdf等等，只要将文件放入附件中去即可。这个太让人兴奋了。

4.完美集成了各项WEB 2.0服务

Posterous的Autopost功能真是太让人喜欢了，发不完博客后，实时地就能同步发到各种WEB 2.0服务中去，甚至还能同步到你的wordpress博客，这为你省去了很多配置啊，插件啊的事情。第一时间的发布到social media，使得你的博客会更快地被人看到，更快地被RT和评论。Posterous支持使用Twitter账户登录评论，也是很好的。

并且，发布的话是可以自定义的。同时，Posterous的tag也很方便，只要在邮件的title处，加上((tags:a,b,c,d))即可。

最近，Posterous还支持了Google Analytics和Feedburner，让人觉得有不错，特别是严重依赖Google服务的我们。

5.免费的绑定域名

这个很关键！
  使用posterous发布，来源: Western Bridge over Google Wave  
]]></description>
			<content:encoded><![CDATA[<p>今天 <a href="http://twitter.com/posterous">@posterous</a> RT了一篇文章：<a href="http://www.danielbru.com/2009/09/05/how-posterous-is-changing-blogging/">How Posterous is Changing Blogging</a>。注意，它用的是blogging，而不是blog，意思就是，Posterous改变的是写博客的方式，而不是博客本身。恩，下面我也说说自己为什么喜欢用Posterous来更新博客。
<p />
<div><span style="font-size: large;"><b>1.We all like GMail</b></span></div>
<p />
<div>这个很重要，我想了想，能在GMail里更新博客确实是一件很不错的事情。以前一直用<a href="http://download.live.com/writer">Windows Live Writer</a>来写博客，也觉得这个软件不错。但是，有个致命的问题，Windows Live Writer并不是我一直需要使用的软件，而且打开速度不快，所以你要为了写博客而写博客，去打开这么一个微软的软件，自然减少了写博客的简单程度。</div>
<p />
<div>GMail则不然，相信GMail的用户应该上网都会开的吧，作为<a href="http://www.google.com/chrome">Chrome</a>浏览器的用户，我又为GMail创建了快捷应用，使得GMail几乎可以全屏显示。GMail可以说是一个很好的工作平台，于是通过GMail给posterous发一封EMail，写一篇博客，就变得很轻松了。</div>
<p />
<div>另一个方面，GMail支持<a href="http://gmailblog.blogspot.com/2009/04/new-in-labs-inserting-images.html">插入图片</a>了。有了这个功能，我在给Posterous发送邮件时，插入图片就相当方便了，可以自己选择图片的位置，也不用输入((nogallery))了。加上GMail现在一次可以选择多个文件作为附件，更加方便了。</div>
<p />
<div>最后，GMail支持自动保存，而且是WEB应用，云的概念。</div>
<p />
<div><span style="font-size: large;"><b>2.发布照片很简单</b></span></div>
<p />
<div>Posterous已经成为一个发布照片的重要服务了，原因很简单，只要将图片作为附件，给<a href="mailto:post@posterous.com">post@posterous.com</a>发去一封邮件，就可以啥事不用管，Posterous自动将你的照片发布到你的博客中去了。为什么不用<a href="http://twitpic.com">Twitpic</a>呢？很简单，Twitpic不是博客，单张的照片不能说明很多问题，有时候一连串的照片，讲的是一个故事。并且，默认情况下，Posterous会将图片做成gallery，便于查看。</div>
<p />
<div><b><span style="font-size: large;">3.你可以发布任何东西？！</span></b></div>
<p />
<div>事实上，Posterous还是一个文件托管地，你可以发布图片,mp3,pdf等等，只要将文件放入附件中去即可。这个太让人兴奋了。</div>
<p />
<div><span style="font-size: large;"><b>4.完美集成了各项WEB 2.0服务</b></span></div>
<p />
<div>Posterous的Autopost功能真是太让人喜欢了，发不完博客后，实时地就能同步发到各种WEB 2.0服务中去，甚至还能同步到你的wordpress博客，这为你省去了很多配置啊，插件啊的事情。第一时间的发布到social media，使得你的博客会更快地被人看到，更快地被RT和评论。Posterous支持使用Twitter账户登录评论，也是很好的。</div>
<p />
<div>并且，发布的话是可以自定义的。同时，Posterous的tag也很方便，只要在邮件的title处，加上((tags:a,b,c,d))即可。</div>
<p />
<div>最近，Posterous还支持了Google Analytics和Feedburner，让人觉得有不错，特别是严重依赖Google服务的我们。</div>
<p />
<div><span style="font-size: large;"><b>5.免费的绑定域名</b></span></div>
<p />
<div>这个很关键！</div>
<p style="font-size: 10px;">  使用posterous发布，来源: <a href="http://blog.kangye.org/posterous-13512">Western Bridge over Google Wave</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e5%96%9c%e6%ac%a2%e7%94%a8posterous%e6%9d%a5%e5%86%99%e5%8d%9a%e5%ae%a2%ef%bc%9f/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3P机器人制作小结</title>
		<link>http://kangye.org/3p%e6%9c%ba%e5%99%a8%e4%ba%ba%e5%88%b6%e4%bd%9c%e5%b0%8f%e7%bb%93</link>
		<comments>http://kangye.org/3p%e6%9c%ba%e5%99%a8%e4%ba%ba%e5%88%b6%e4%bd%9c%e5%b0%8f%e7%bb%93#comments</comments>
		<pubDate>Sun, 06 Sep 2009 05:27:59 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[App Engine]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[文章]]></category>
		<category><![CDATA[测试]]></category>

		<guid isPermaLink="false">http://www.kangye.org/3p%e6%9c%ba%e5%99%a8%e4%ba%ba%e5%88%b6%e4%bd%9c%e5%b0%8f%e7%bb%93/</guid>
		<description><![CDATA[前两天，一时兴起，做了个发布3P(PPPerson板）的帖子到Twitter帐号的应用，下面讲讲其中的一些细节。

另外：目前这个帐号是 @PPPerson ，经过几天的测试，目前调整为只读取PPPerson板的帖子，每贴发两图到twitpic。

1.使用feedparser读取水源的3P板feed，将feedparser的encoding自动设为gb2312，这个很重要，否则title读出来乱码

2.判断文章是否读取过，检查数据库即可

3.对于新的文章，去掉文章中的签名档

4.使用从SGMLParser继承下来的自己写的类，读取文章中的img

5.使用Google App Engine新出来的task queue功能，将单个图片的处理添加到队列中。注意，千万不能在一个地址里处理很多图片，现有要遇到quota。

6.使用twitpic的Python类库，将下载下来的Pic传到twitpic.com上面

7.使用App Engine的cron，定期检查水源3P板的新文章
  使用posterous发布，来源: Western Bridge over Google Wave  
]]></description>
			<content:encoded><![CDATA[<p>前两天，一时兴起，做了个发布3P(PPPerson板）的帖子到Twitter帐号的应用，下面讲讲其中的一些细节。
<p />
<div>另外：目前这个帐号是 <a href="http://twitter.com/ppperson">@PPPerson</a> ，经过几天的测试，<span style="background-color: rgb(51, 255, 51);">目前调整为只读取PPPerson板的帖子，每贴发两图到twitpic</span>。</div>
<p />
<div>1.使用feedparser读取水源的3P板feed，<span style="background-color: rgb(51, 255, 51);">将feedparser的encoding自动设为gb2312</span>，这个很重要，否则title读出来乱码</div>
<p />
<div>2.判断文章是否读取过，检查数据库即可</div>
<p />
<div>3.对于新的文章，去掉文章中的签名档</div>
<p />
<div>4.使用从SGMLParser继承下来的自己写的类，读取文章中的img</div>
<p />
<div>5.使用Google App Engine新出来的task queue功能，将单个图片的处理添加到队列中。<span style="background-color: rgb(51, 255, 51);">注意，千万不能在一个地址里处理很多图片，现有要遇到quota。</span></div>
<p />
<div>6.使用twitpic的Python类库，将下载下来的Pic传到<a href="http://twitpic.com">twitpic.com</a>上面</div>
<p />
<div>7.使用App Engine的cron，定期检查水源3P板的新文章</div>
<p style="font-size: 10px;">  使用posterous发布，来源: <a href="http://blog.kangye.org/3p-6">Western Bridge over Google Wave</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/3p%e6%9c%ba%e5%99%a8%e4%ba%ba%e5%88%b6%e4%bd%9c%e5%b0%8f%e7%bb%93/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>更多截图+Flyscreen介绍（附flyscreen的apk）</title>
		<link>http://kangye.org/%e6%9b%b4%e5%a4%9a%e6%88%aa%e5%9b%beflyscreen%e4%bb%8b%e7%bb%8d%ef%bc%88%e9%99%84flyscreen%e7%9a%84apk%ef%bc%89</link>
		<comments>http://kangye.org/%e6%9b%b4%e5%a4%9a%e6%88%aa%e5%9b%beflyscreen%e4%bb%8b%e7%bb%8d%ef%bc%88%e9%99%84flyscreen%e7%9a%84apk%ef%bc%89#comments</comments>
		<pubDate>Thu, 03 Sep 2009 12:54:40 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[截图]]></category>

		<guid isPermaLink="false">http://www.kangye.org/%e6%9b%b4%e5%a4%9a%e6%88%aa%e5%9b%beflyscreen%e4%bb%8b%e7%bb%8d%ef%bc%88%e9%99%84flyscreen%e7%9a%84apk%ef%bc%89/</guid>
		<description><![CDATA[今天早上收到了Flyscreen的邀请，就去下载了，前两天在Techcrunch上面看到觉得不错。我在android G1里面点了链接，通过chrome lite下载了，2.2mb，不小噢。

然后是注册，必须用申请时的email，然后用户名必须是你的国际电话号码，如8613917812345。注册完毕后，登陆，打开Flyscreen，G1就进入全屏锁屏模式了，第一个widget是Techcrunch的feed，第二个是天气预报，第三个是BBC英国的news。初始的widget就这三个，当然你也可以自行添加。

Flyscreen是什么呢？其实，就是一个类似google desktop的东西，可以在里面添加各种小工具。而且，是在Android进入锁屏模式，即你按了关机键后，再次打开时，需要解锁前的画面里，显示flyscreen的小工具。你可以用flyscreen做很多事，看很多东西，但你又不需要解锁进人android系统。

下面贴截图和apk文件：

这就是安装完Flyscreen后你的锁屏界面




可以把小工具拉大，可以看到，mentioin也会显示出来，而且登陆twitter不需要翻墙。



 发推的界面

  

可以回复，RT，DM

 

查看mention界面

  

看TechCrunch

 

可以预览，也可以打开链接，发布到twitter或日后再看

  

一般的feed

 

短信翻页很炫

 

 更新的频率

  

widget gallery

  

最后附上apk的下载地址

 FlyScreen.apk





  使用posterous发布，来源: Western Bridge over Google Wave  
]]></description>
			<content:encoded><![CDATA[<p>今天早上收到了<a href="http://www.myflyscreen.com/">Flyscreen</a>的邀请，就去下载了，前两天在Techcrunch上面看到觉得不错。我在android G1里面点了链接，通过chrome lite下载了，2.2mb，不小噢。
<p />
<div>然后是注册，必须用申请时的email，然后用户名必须是你的国际电话号码，如8613917812345。注册完毕后，登陆，打开Flyscreen，G1就进入全屏锁屏模式了，第一个widget是Techcrunch的feed，第二个是天气预报，第三个是BBC英国的news。初始的widget就这三个，当然你也可以自行添加。</div>
<p />
<div>Flyscreen是什么呢？其实，就是一个类似google desktop的东西，可以在里面添加各种小工具。而且，是在Android进入锁屏模式，即你按了关机键后，再次打开时，需要解锁前的画面里，显示flyscreen的小工具。你可以用flyscreen做很多事，看很多东西，但你又不需要解锁进人android系统。</div>
<p />
<div>下面贴截图和apk文件：</div>
<p />
<div><span style="background-color: rgb(51, 255, 51);">这就是安装完Flyscreen后你的锁屏界面</span></div>
<p />
<div>
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/zRPfVLzJeSLzsuZ52AqEYtJPelmX6iXxKZUonFrGYoyVNZYnK3no8blXu2HL/1251943703357.png" height="480" width="320" /></div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);">可以把小工具拉大，可以看到，mentioin也会显示出来，而且登陆twitter不需要翻墙。</span></div>
<p />
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/THugBxOFefYLm5Nf9e4PgV0oWeeDQCEIsNd8A3eqRnhvwNS1a7gFSGEy36wd/1251980105410.png" width="320" height="480"/>
<p /></div>
<div class="posterousGalleryMainDiv"> <span style="background-color: rgb(51, 255, 51);">发推的界面</span></div>
<p />
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/g4ViH4udpmAVfJFQV6ozhaFZ6w047WbjAp3r5SNeaQ7hPwJUsSwsgyr6ghen/1251980160225.png" width="320" height="480"/>  </div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);">可以回复，RT，DM</span></div>
<p />
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/VHth2RIBGiR8GCRC9h9Yv41aG1fqLjT3i6Ng10Xa6MaHkUBzfvbwDvLoSOIY/1251980242469.png" width="320" height="480"/> </div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);">查看mention界面</span></div>
<p />
<div class="posterousGalleryMainDiv"> <img src="http://posterous.com/getfile/files.posterous.com/kang/LuwEP89LE6q4uAiv8236P8nSchRwEkxBtrUHzvEp7M2pKhczjOVByGXFYvZn/1251980370619.png" width="320" height="480"/> </div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);">看TechCrunch</span></div>
<p />
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/f6l2Q6ZVMDmgMas4YnuyvHzSoNXvCnXadJGMV0DwISjomnqA560PTFRxzFEj/1251980441681.png" width="320" height="480"/> </div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);">可以预览，也可以打开链接，发布到twitter或日后再看</span></div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);"><img src="http://posterous.com/getfile/files.posterous.com/kang/rY1LNlLUiex4VqTA6rlarbSiDCCfGqpYwReB3CzXoaqpax3ibXrlNczh6HVK/1251980506339.png" width="320" height="480"/> <br /> </span></div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);">一般的feed</span></div>
<p />
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/Rz6faCNfBsPnn46IyUY00gWfkVUhm6mioHB7h3twU6xQGYqLT3BkqDbdQCxb/1251980556117.png" width="320" height="480"/> </div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);">短信翻页很炫</span></div>
<p />
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/KPg2nrxHBZtKjdTD9G7vm1fUFwcbu0kJnlWqpGyJQnEQvdrni3xK6ZGyjxSY/1251980785373.png" width="320" height="480"/> </div>
<p />
<div class="posterousGalleryMainDiv"> <span style="background-color: rgb(51, 255, 51);">更新的频率</span></div>
<p />
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/lvYV9dKzTfnZe2u7pPjtanCabLfIurQkuFpqHt0n9WZpB6QVCxVK6lNvSmPP/1251980941909.png" width="320" height="480"/>  </div>
<p />
<div class="posterousGalleryMainDiv"><span style="background-color: rgb(51, 255, 51);">widget gallery</span></div>
<p />
<div class="posterousGalleryMainDiv"><img src="http://posterous.com/getfile/files.posterous.com/kang/N09MejUtE4JBi42i35nrY3FoPHj72tr5jQzqXfRQK473OZV5TeAQmo7RPaAt/1251980991649.png" width="320" height="480"/>  </div>
<p />
<div class="posterousGalleryMainDiv">最后附上apk的下载地址</div>
<p />
<div class="posterousGalleryMainDiv"> <a href="http://gae.kangye.org/Home/FlyScreen.apk?attredirects=0">FlyScreen.apk</a></div>
<p />
<p />
<p />
<p />
<p /></div>
<p style="font-size: 10px;">  使用posterous发布，来源: <a href="http://blog.kangye.org/flyscreenflyscreenapk">Western Bridge over Google Wave</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/%e6%9b%b4%e5%a4%9a%e6%88%aa%e5%9b%beflyscreen%e4%bb%8b%e7%bb%8d%ef%bc%88%e9%99%84flyscreen%e7%9a%84apk%ef%bc%89/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>推荐screensnapr : 135k的截图软件</title>
		<link>http://kangye.org/%e6%8e%a8%e8%8d%90screensnapr-135k%e7%9a%84%e6%88%aa%e5%9b%be%e8%bd%af%e4%bb%b6</link>
		<comments>http://kangye.org/%e6%8e%a8%e8%8d%90screensnapr-135k%e7%9a%84%e6%88%aa%e5%9b%be%e8%bd%af%e4%bb%b6#comments</comments>
		<pubDate>Thu, 03 Sep 2009 05:43:46 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[截图]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.kangye.org/%e6%8e%a8%e8%8d%90screensnapr-135k%e7%9a%84%e6%88%aa%e5%9b%be%e8%bd%af%e4%bb%b6/</guid>
		<description><![CDATA[
http://www.screensnapr.com/
  使用posterous发布，来源: Western Bridge over Google Wave  
]]></description>
			<content:encoded><![CDATA[<p><a href='http://posterous.com/getfile/files.posterous.com/kang/cVqoyXUeVXtIQSQd3ddPSEx7gk8VEpsnxkVB6kFPf5eC2bn6H71qqyY2UuEl/tmp.png'><img src="http://posterous.com/getfile/files.posterous.com/kang/ZFbQXdziYnjvF64sArrGN0jNSVuoAzv8jjSwyUPTo9wuk4hILsS8yD6ArHRS/tmp.png.scaled.500.jpg" width="500" height="312"/></a>
<p><a href="http://www.screensnapr.com/">http://www.screensnapr.com/</a></p>
<p style="font-size: 10px;">  使用posterous发布，来源: <a href="http://blog.kangye.org/screensnapr-135k">Western Bridge over Google Wave</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/%e6%8e%a8%e8%8d%90screensnapr-135k%e7%9a%84%e6%88%aa%e5%9b%be%e8%bd%af%e4%bb%b6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【截图】昨天搞3p机器人的结果：GAE使用情况</title>
		<link>http://kangye.org/%e3%80%90%e6%88%aa%e5%9b%be%e3%80%91%e6%98%a8%e5%a4%a9%e6%90%9e3p%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%9a%84%e7%bb%93%e6%9e%9c%ef%bc%9agae%e4%bd%bf%e7%94%a8%e6%83%85%e5%86%b5</link>
		<comments>http://kangye.org/%e3%80%90%e6%88%aa%e5%9b%be%e3%80%91%e6%98%a8%e5%a4%a9%e6%90%9e3p%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%9a%84%e7%bb%93%e6%9e%9c%ef%bc%9agae%e4%bd%bf%e7%94%a8%e6%83%85%e5%86%b5#comments</comments>
		<pubDate>Thu, 03 Sep 2009 05:41:37 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[F1]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[截图]]></category>

		<guid isPermaLink="false">http://www.kangye.org/%e3%80%90%e6%88%aa%e5%9b%be%e3%80%91%e6%98%a8%e5%a4%a9%e6%90%9e3p%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%9a%84%e7%bb%93%e6%9e%9c%ef%bc%9agae%e4%bd%bf%e7%94%a8%e6%83%85%e5%86%b5/</guid>
		<description><![CDATA[
  使用posterous发布，来源: Western Bridge over Google Wave  
]]></description>
			<content:encoded><![CDATA[<p><a href='http://posterous.com/getfile/files.posterous.com/kang/4ojaP70rj5Kpm07SjERoOCCOYlFQaA5LueQ19ZoXYz7rF49icTmwg0Y1WvlJ/tmp.png'><img src="http://posterous.com/getfile/files.posterous.com/kang/RGOY0Zgn64TsrpFbjJRxereav6spYzcjG8alFF1vO0q2mUq8AP6fGryRfIoL/tmp.png.scaled.500.jpg" width="500" height="122"/></a>
<p style="font-size: 10px;">  使用posterous发布，来源: <a href="http://blog.kangye.org/3pgae">Western Bridge over Google Wave</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/%e3%80%90%e6%88%aa%e5%9b%be%e3%80%91%e6%98%a8%e5%a4%a9%e6%90%9e3p%e6%9c%ba%e5%99%a8%e4%ba%ba%e7%9a%84%e7%bb%93%e6%9e%9c%ef%bc%9agae%e4%bd%bf%e7%94%a8%e6%83%85%e5%86%b5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>发送15个Yahoo咪咪的邀请</title>
		<link>http://kangye.org/%e5%8f%91%e9%80%8115%e4%b8%aayahoo%e5%92%aa%e5%92%aa%e7%9a%84%e9%82%80%e8%af%b7</link>
		<comments>http://kangye.org/%e5%8f%91%e9%80%8115%e4%b8%aayahoo%e5%92%aa%e5%92%aa%e7%9a%84%e9%82%80%e8%af%b7#comments</comments>
		<pubDate>Thu, 03 Sep 2009 05:21:33 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Yahoo]]></category>
		<category><![CDATA[评论]]></category>

		<guid isPermaLink="false">http://www.kangye.org/%e5%8f%91%e9%80%8115%e4%b8%aayahoo%e5%92%aa%e5%92%aa%e7%9a%84%e9%82%80%e8%af%b7/</guid>
		<description><![CDATA[http://meme.yahoo.com/

交互做得很不错，Yahoo在这方面还是很强的。。。

在评论中留下你的email，把@用AT替换最好。Yahoo meme
  使用posterous发布，来源: Western Bridge over Google Wave  
]]></description>
			<content:encoded><![CDATA[<p><a href="http://meme.yahoo.com/">http://meme.yahoo.com/</a>
<p />
<div>交互做得很不错，Yahoo在这方面还是很强的。。。</div>
<p />
<div>在评论中留下你的email，把@用AT替换最好。Yahoo meme</div>
<p style="font-size: 10px;">  使用posterous发布，来源: <a href="http://blog.kangye.org/15yahoo">Western Bridge over Google Wave</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/%e5%8f%91%e9%80%8115%e4%b8%aayahoo%e5%92%aa%e5%92%aa%e7%9a%84%e9%82%80%e8%af%b7/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>G1上的flyscreen截图</title>
		<link>http://kangye.org/g1%e4%b8%8a%e7%9a%84flyscreen%e6%88%aa%e5%9b%be</link>
		<comments>http://kangye.org/g1%e4%b8%8a%e7%9a%84flyscreen%e6%88%aa%e5%9b%be#comments</comments>
		<pubDate>Thu, 03 Sep 2009 02:20:49 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[截图]]></category>

		<guid isPermaLink="false">http://www.kangye.org/g1%e4%b8%8a%e7%9a%84flyscreen%e6%88%aa%e5%9b%be/</guid>
		<description><![CDATA[很不错
 
 
 
 
 
  使用posterous发布，来源: Western Bridge over Google Wave  
]]></description>
			<content:encoded><![CDATA[<p>很不错
<p><img src="http://posterous.com/getfile/files.posterous.com/kang/xIVaYg9EtxVNprrxvOAnCYuAMNswlz5EXDCSRxNlXW7Rzr2oENd1EfnqGlkT/1251943870536.png" width="320" height="480"/> </p>
<p><img src="http://posterous.com/getfile/files.posterous.com/kang/zRPfVLzJeSLzsuZ52AqEYtJPelmX6iXxKZUonFrGYoyVNZYnK3no8blXu2HL/1251943703357.png" width="320" height="480"/> </p>
<p><img src="http://posterous.com/getfile/files.posterous.com/kang/Tv0CIs7mGKBmwBlmEMhNbwRgRcfnXxkdhXdN5Fcqu8PnmYzcZD4bdvyRhJa8/1251943741127.png" width="320" height="480"/> </p>
<p><img src="http://posterous.com/getfile/files.posterous.com/kang/MClohERmO4aqNvkzZWHTAncRaH7WRRVH13Xfipq0iXdslxhTHEBvcgHCmzr4/1251943806098.png" width="320" height="480"/> </p>
<p><img src="http://posterous.com/getfile/files.posterous.com/kang/Yiq16hOSsByBMRrhi2AT2I6Sy7YlDdqJpFHF8zK6rn5ZzUWHhDmXAwUHC5Lx/1251943840738.png" width="320" height="480"/> </p>
<p style="font-size: 10px;">  使用posterous发布，来源: <a href="http://blog.kangye.org/g1flyscreen">Western Bridge over Google Wave</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/g1%e4%b8%8a%e7%9a%84flyscreen%e6%88%aa%e5%9b%be/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>为life志开发了iphone版，顺便说说GAE如何识别</title>
		<link>http://kangye.org/%e4%b8%balife%e5%bf%97%e5%bc%80%e5%8f%91%e4%ba%86iphone%e7%89%88%ef%bc%8c%e9%a1%ba%e4%be%bf%e8%af%b4%e8%af%b4gae%e5%a6%82%e4%bd%95%e8%af%86%e5%88%ab</link>
		<comments>http://kangye.org/%e4%b8%balife%e5%bf%97%e5%bc%80%e5%8f%91%e4%ba%86iphone%e7%89%88%ef%bc%8c%e9%a1%ba%e4%be%bf%e8%af%b4%e8%af%b4gae%e5%a6%82%e4%bd%95%e8%af%86%e5%88%ab#comments</comments>
		<pubDate>Tue, 01 Sep 2009 07:51:54 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[暂无分类]]></category>
		<category><![CDATA[App Engine]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IF]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[截图]]></category>

		<guid isPermaLink="false">http://www.kangye.org/%e4%b8%balife%e5%bf%97%e5%bc%80%e5%8f%91%e4%ba%86iphone%e7%89%88%ef%bc%8c%e9%a1%ba%e4%be%bf%e8%af%b4%e8%af%b4gae%e5%a6%82%e4%bd%95%e8%af%86%e5%88%ab/</guid>
		<description><![CDATA[其实一开始life志就是为iphone设计的UI，现在加入了识别功能，去掉了一些css和javascript，就完成了。

下面说说app engine如何识别iphone和android，很简单

if &#34;iPhone&#34; in self.request.headers[&#34;User-Agent&#34;]


if &#34;Android&#34; in self.request.headers[&#34;User-Agent&#34;]

就行了

下面是G1上面的截图

  

  使用posterous发布，来源: Western Bridge over Google Wave  
]]></description>
			<content:encoded><![CDATA[<p>其实一开始<a href="http://life-zhi.appspot.com">life志</a>就是为iphone设计的UI，现在加入了识别功能，去掉了一些css和javascript，就完成了。
<p />
<div>下面说说app engine如何识别iphone和android，很简单</div>
<p />
<div>if &quot;iPhone&quot; in self.request.headers[&quot;User-Agent&quot;]</div>
<p />
<div>
<div>if &quot;Android&quot; in self.request.headers[&quot;User-Agent&quot;]</div>
<p />
<div>就行了</div>
<p />
<div>下面是G1上面的截图</div>
<p />
<div><img src="http://posterous.com/getfile/files.posterous.com/kang/3k8Mp7iu7zfQIv7r8U6A3Rq97LYVVZydmd7iYxt80TZ9LZSBQyUqE07sjQls/1251791317170.png" width="320" height="480"/>  </div>
</div>
<p style="font-size: 10px;">  使用posterous发布，来源: <a href="http://blog.kangye.org/lifeiphonegae">Western Bridge over Google Wave</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/%e4%b8%balife%e5%bf%97%e5%bc%80%e5%8f%91%e4%ba%86iphone%e7%89%88%ef%bc%8c%e9%a1%ba%e4%be%bf%e8%af%b4%e8%af%b4gae%e5%a6%82%e4%bd%95%e8%af%86%e5%88%ab/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[跟康爷学GAE]显示当前访问的登录用户</title>
		<link>http://kangye.org/diplay-user</link>
		<comments>http://kangye.org/diplay-user#comments</comments>
		<pubDate>Sat, 28 Feb 2009 06:34:33 +0000</pubDate>
		<dc:creator>康爷</dc:creator>
				<category><![CDATA[教程]]></category>
		<category><![CDATA[App Engine]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[bl]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IF]]></category>
		<category><![CDATA[练习]]></category>

		<guid isPermaLink="false">http://www.kangye.org/diplay-user/</guid>
		<description><![CDATA[在GAE的Hello World程序中，我们讲了如何使用Google App Engine来创建一个输出Hello World的应用，在这一节中，我们将结合GAE的User API来显示访问当前页面的用户。源代码和比较美观的教程在显示当前访问的登录用户。]]></description>
			<content:encoded><![CDATA[<p><img src="http://image-001.yo2cdn.com/wp-content/uploads/247/24735/2009/02/gae-thumb1.gif" /></p>
<p>由于博客的css和局限，我现在主要把这期教程发布到<a href="http://gae.kangye.org" target="_blank">gae.kangye.org</a>了，因为这样大家都访问也可以流畅些，结构也可以清晰些。</p>
<p>在<a href="http://gae.kangye.org/studyappengine/gae-hello-world" target="_blank">GAE的Hello World程序</a>中，我们讲了如何使用Google App Engine来创建一个输出Hello World的应用，在这一节中，我们将结合GAE的User API来显示访问当前页面的用户。源代码和比较美观的教程在<a href="http://gae.kangye.org/studyappengine/diplay-user" target="_blank">显示当前访问的登录用户</a>。</p>
<p><span id="more-34181"></span></p>
<h4><a name="TOC-Import-"></a>需要Import的类</h4>
<p>在hello.py的头部，添加</p>
<pre>from google.appengine.api import users</pre>
<p>这样，在后面的程序中，就可以使用users的类了。</p>
<h4><a name="TOC-1"></a>获取当前用户</h4>
<pre>user = users.get_current_user()</pre>
<p>这段代码就是用来获取当前用户的，如果访客没有登录，则user的值是None，如果访客已经登录，则user的值是<a href="http://code.google.com/intl/zh-CN/appengine/docs/python/datastore/typesandpropertyclasses.html#UserProperty">UserProperty</a>型的数据。</p>
<h4><a name="TOC-2"></a>展示当前用户</h4>
<p>将hello.py的代码修改如下，用来展示当前的用户：</p>
<p><a name="TOC-3"></a>代码的解释</p>
<p>代码中，首先获取当前用户，这在前面解释过了。然后进行判断，如果user不是空的，那么我们输出一段欢迎辞，内容是Hello, 用户名。user有属性和方法，我们这里使用了user的nickname的方法，在后面的教程中，我们会详细介绍User API的。</p>
<p>如果用户为空，表示访客没有登录，那么我们将页面跳转到登录页面。注意这段代码，使用了redirect方法，可以跳转到任何页去，这里我们使用了user的另一个方法create_login_url，用来获得一个登录后可以返回该页的链接。</p>
<p>self.request.uri表示的是当前访客请求的页面URI。</p>
<h4><a name="TOC-4"></a>小练习</h4>
<p>修改hello.py的代码，使得，对于登录用户，访问localhost:9000/之后，页面跳转到localhost:9000/welcome，如果用户没有登录，则将页面跳转到登录页面。</p>
]]></content:encoded>
			<wfw:commentRss>http://kangye.org/diplay-user/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
