<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.kangye.org/styles/feedsky0.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.kangye.org" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/lookon315" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 30 Sep 2009 07:26:08 GMT</lastBuildDate><title>康爷的博客</title><description>欢迎来到康爷的博客!</description><image><url>http://www.feedsky.com/feed/lookon315/sc/gif</url><title>康爷的博客</title><link>http://kangye.org</link></image><link>http://kangye.org</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Wed, 30 Sep 2009 07:26:08 GMT</pubDate><item><title>[教程]Google Wave中文入门指南</title><link>http://kangye.org/google-wave-tuterial</link><content:encoded>&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-family: mceinline;&quot;&gt;&lt;span style=&quot;font-family: mceinline;&quot;&gt;求Google Wave的邀请的请去这个网站，参加邀请接力活动：&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;a href=&quot;http://googlewave.luck.appspot.com/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: mceinline;&quot;&gt;&lt;span style=&quot;font-family: mceinline;&quot;&gt;中文Google  Wave邀请接力&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-family: mceinline;&quot;&gt;&lt;span style=&quot;font-family: mceinline;&quot;&gt;请大家多关注接力网站上面的通知，或者在Twitter上面follow lookon。不会上Twitter的去 &lt;a href=&quot;http://twitese.appspot.com/&quot; target=&quot;_blank&quot;&gt;http://twitese.appspot.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: mceinline;&quot;&gt;&lt;a href=&quot;http://googlewave.luck.appspot.com/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt; &lt;/span&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; src=&quot;http://thenextweb.com/wp-content/uploads/2009/07/google_wave_logo.jpg&quot; alt=&quot;&quot; width=&quot;120&quot; height=&quot;96&quot; align=&quot;right&quot; /&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;Google Wave马上又要发放100000个邀请了，具体的邀请政策可以看&lt;a href=&quot;http://www.readwriteweb.com/archives/everything_you_need_to_know_about_the_google_wave.php&quot; target=&quot;_blank&quot;&gt;ReadWriteWeb的文章&lt;/a&gt;。如果你想第一时间收到我的邀请或者提名，&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;欢迎留下你的EMail或者在Twitter上回复我&lt;/strong&gt;&lt;/span&gt;。（我的Twitter:@&lt;a href=&quot;https://twitter.com/lookon&quot; target=&quot;_blank&quot;&gt;lookon&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;本文为Google Wave中文入门文档，会持续更新的，希望大家多多宣传~&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-41389&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #99cc00&quot;&gt;一、Google Wave界面介绍&lt;/h2&gt;
&lt;h3&gt;&lt;span style=&quot;color: #0080ff;&quot;&gt;&lt;strong&gt;1.主界面&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;下面是主界面的截图，基本上Google Wave里面的所有内容都在这个界面上了：（&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;所有面板都是可以最小化的&lt;/strong&gt;&lt;/span&gt;）&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3441/3967535151_2b6876ab74.jpg&quot; alt=&quot;Google Wave页面布局 by you.&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;&lt;span style=&quot;color: #0080ff;&quot;&gt;2.导航面板&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;在主界面的左上方，有一个导航面板(Navigation Panel)，和GMail里的导航类似，包括Inbox，Active（活跃的wave），All，By Me，History，Spam，Settings，Trash以及保存的搜索结果和文件夹。注意，Google Wave文档说，这里的&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;所有导航链接都是搜索结果页其实&lt;/strong&gt;&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp5.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb5.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;131&quot; height=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style=&quot;color: #0080ff;&quot;&gt;&lt;strong&gt;3.联系人面板&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;在导航面板下面，是联系人面板（Contacts Panel），在这个面板里，将会显示你的Google Wave联系人（据悉，这次公开的测试中，&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;联系人将直接是你的Google Contact里的联系人&lt;/strong&gt;&lt;/span&gt;）&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp6.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb6.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;129&quot; height=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;a.点击自己的头像，然后点击&lt;strong&gt;Change Photo&lt;/strong&gt;，就可以改头像了（这个头像就是你在GMail里的头像）&lt;/p&gt;
&lt;p&gt;b.联系人可以在搜索（见截图）&lt;/p&gt;
&lt;p&gt;c.点击好友的头像，可以查看他的信息，也可以直接ping他（ping就是发起私聊）&lt;/p&gt;
&lt;p&gt;d.你可以修改你的状态，&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;和GMail里的状态不同步&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style=&quot;color: #0080ff;&quot;&gt;&lt;strong&gt;3.搜索面板&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp7.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb7.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;504&quot; height=&quot;108&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;搜索面板很简单，就是完成各种搜索的。&lt;/p&gt;
&lt;p&gt;I 搜索命令大致有下面几个：&lt;/p&gt;
&lt;p&gt;a.tag，比如搜索tag:中文&lt;/p&gt;
&lt;p&gt;b.by，比如搜索by:me&lt;/p&gt;
&lt;p&gt;c.with，比如搜索with:public，with:areyoulookon@wavesandbox.com&lt;/p&gt;
&lt;p&gt;d.in，比如搜索in:Google（就是搜索Google这个文件夹里的所有wave）&lt;/p&gt;
&lt;p&gt;这些命令可以联合起来一起使用，比如搜索&lt;/p&gt;
&lt;p&gt;google wave tag:中文 by:me with:public in:Google&lt;/p&gt;
&lt;p&gt;II 在搜索结果中点击wave就是打开，ctrl+点击就是在新面板中打开（于是两个wave可以共存）。可以使用&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;Move to&lt;/strong&gt;&lt;/span&gt;将wave移到某个文件夹下。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp8.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb8.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;294&quot; height=&quot;484&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;III 按住shift，可以选择多个wave进行操作&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp9.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb9.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;294&quot; height=&quot;484&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style=&quot;color: #0080ff;&quot;&gt;&lt;strong&gt;4.Wave面板&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Wave面板里面有很多操作，可以回复，重放Wave的对话（Playback），归档（Achieve）等等。Wave面板可以最大化，那样就可以获得几乎全屏的视野了。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp10.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb10.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;294&quot; height=&quot;484&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #99cc00&quot;&gt;二、Google Wave快捷键&lt;/h2&gt;
&lt;p&gt;下面是一些主要的快捷键，具体内容如果你有了wave账号后，在里面我建了帮助文档了。&lt;/p&gt;
&lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;514&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;快捷键&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;作用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;上下箭头&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;在单个wave中的各条message中移动&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;tab/shift+tab&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;同上下箭头&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;Home/End&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;回到单个Wave中第一/最后一个message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;空格键&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;到下一个未读的message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;左右箭头&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;在wave面板和导航面板间切换&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;ctrl+空格&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;标记所有message已读&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;回车&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;回复所在的message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;shift+回车&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;在wave末尾进行回复（回复整个wave）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;ctrl+E&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;编辑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;ctrl+回车&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;编辑的时候插入inline回复&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;200&quot; valign=&quot;top&quot;&gt;ctrl+l&lt;/td&gt;
&lt;td width=&quot;312&quot; valign=&quot;top&quot;&gt;插入超链接&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 style=&quot;background-color: #99cc00&quot;&gt;三、Google Wave常见问题&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;哪里有Google Wave的文档？&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇博客就算是中文的入门文档了吧。。Google Wave的开发人员说，他们也不晓得什么算文档，不过这里有Google Wave协议的文档：&lt;a title=&quot;http://www.waveprotocol.org/whitepapers&quot; href=&quot;http://www.waveprotocol.org/whitepapers&quot;&gt;http://www.waveprotocol.org/whitepapers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;&lt;strong&gt;哪里有Google Wave示例代码？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://wave-samples-gallery.appspot.com/&quot;&gt;http://wave-samples-gallery.appspot.com/&lt;/a&gt; （其实是几乎所有机器人和小工具的app gallery）&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;&lt;strong&gt;如何公开我的Wave？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;先将public&lt;em&gt;@&lt;/em&gt;a.gwave.com添加为好友，然后在&lt;strong&gt;Wave&lt;/strong&gt;中将&lt;a href=&quot;mailto:public@a.gwave.com&quot;&gt;public&lt;em&gt;@&lt;/em&gt;a.gwave.com&lt;/a&gt;添加为参与者，那么你的&lt;strong&gt;Wave&lt;/strong&gt;就公开了。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;&lt;strong&gt;如何和其他人分享一个wave？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;三个方法。1.直接将这个&lt;strong&gt;wave&lt;/strong&gt;拖到其他&lt;strong&gt;wave&lt;/strong&gt;中，会自动生成一个链接；2.使用ctrl+l，粘帖这个&lt;strong&gt;wave&lt;/strong&gt;的id，也可以创建一个链接（这种方法可以改链接的名字）；3.直接将你的&lt;strong&gt;wave&lt;/strong&gt;公开&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;&lt;strong&gt;如何看所有公开的Wave？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Inbox中不能看到你没参与的公开&lt;strong&gt;Wave&lt;/strong&gt;，想要看其他的公开&lt;strong&gt;Wave&lt;/strong&gt;，可以搜索with:public，这就是看所有公开&lt;strong&gt;Wave&lt;/strong&gt;的方法。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;Google Wave支持的浏览器？&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Chrome 3.0 Chromium 4.0.212.0，Firefox 3.0 ，IE + Google Chrome Frame ，Safari（以及Gears 0.5.21.0）&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;&lt;strong&gt;Google Wave申请的地址？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;开发人员 &lt;a href=&quot;http://ow.ly/rLNj&quot;&gt;http://ow.ly/rLNj&lt;/a&gt; 非开发人员 &lt;a href=&quot;http://ow.ly/rLNo&quot;&gt;http://ow.ly/rLNo&lt;/a&gt; （&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;建议都去填开发人员的那个&lt;/strong&gt;&lt;/span&gt;）&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;&lt;strong&gt;如何在Google Wave中添加超链接？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;三种方法：1.使用G+插件，将Google搜索中的链接添加到&lt;strong&gt;wave&lt;/strong&gt;；2.使用ctrl+L添加链接（也可以点击link按钮）3.拖拽&lt;strong&gt;wave&lt;/strong&gt;到另一个&lt;strong&gt;wave&lt;/strong&gt;中&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;&lt;strong&gt;如何给一个wave添加tag?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;只要点一下在wave左下角的tag旁边的+，然后输入tag，回车即可&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #ff0080;&quot;&gt;&lt;strong&gt;如何汇报bug?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;汇报bug的地址：&lt;a title=&quot;http://code.google.com/p/google-wave-resources/issues/list&quot; href=&quot;http://code.google.com/p/google-wave-resources/issues/list&quot;&gt;http://code.google.com/p/google-wave-resources/issues/list&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;display:none;&quot;&gt;Google Wave 邀请 Google Wave Google Wave 邀请码 Google Wave 注册 Google Wave 申请 Google Wave 使用 Google Wave 教程 Google Wave 中文&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948594/lookon315/feedsky/s.gif?r=http://kangye.org/google-wave-tuterial&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948594/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948594/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/google-wave-tuterial/feed</wfw:commentRss><slash:comments>130</slash:comments><description>本文为Google Wave中文入门文档，会持续更新的，希望大家多多宣传~Google Wave马上又要发放100000个邀请了，具体的邀请政策可以看ReadWriteWeb的文章。如果你想第一时间收到我的邀请或者提名，欢迎留下你的EMail或者在Twitter上回复我。&lt;img src=&quot;http://www1.feedsky.com/t1/336948594/lookon315/feedsky/s.gif?r=http://kangye.org/google-wave-tuterial&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948594/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948594/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>教程</category><category>Google Wave</category><pubDate>Wed, 30 Sep 2009 15:26:08 +0800</pubDate><author>admin</author><comments>http://kangye.org/google-wave-tuterial#comments</comments><guid isPermaLink="false">http://www.kangye.org/google-wave-tuterial/</guid><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/google-wave-tuterial</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948594/5177233</fs:itemid></item><item><title>[教程]如果使用Flickr Authentication API进行开发</title><link>http://kangye.org/get-started-with-flickr-api</link><content:encoded>&lt;p&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; height=&quot;20&quot; src=&quot;http://l.yimg.com/g/images/en-us/flickr-yahoo-logo.png&quot; width=&quot;120&quot; align=&quot;right&quot; /&gt;前一篇日志讲到&lt;a href=&quot;http://www.kangye.org/getting-started-with-pubsubhubbub/&quot; target=&quot;_blank&quot;&gt;如何使用开源的PubSubHubbub协议&lt;/a&gt;实时接收订阅的Feed的更新，收到了不错的反响，于是今天再写一篇教程，是关于如何使用著名的图片存储服务商&lt;a href=&quot;http://www.flickr.com/&quot; target=&quot;_blank&quot;&gt;Flickr&lt;/a&gt;的API，主要介绍需要验证的API的运用（包括获得用户信息，上传图片，发布到&lt;a href=&quot;http://www.kangye.org/tag/twitter/&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;等）。&lt;/p&gt;
&lt;p&gt;广告时间：如果你喜欢看美女图片，并且使用Twitter，那么&lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;欢迎你在twitter上follow &lt;/strong&gt;&lt;/font&gt;&lt;a href=&quot;https://twitter.com/ppperson&quot; target=&quot;_blank&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;@ppperson&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt; （之所以会研究Flickr的API，也是因为这两天另一个著名的图片存储服务商&lt;a href=&quot;http://twitpic.com&quot; target=&quot;_blank&quot;&gt;Twitpic&lt;/a&gt;挂了）。当然也欢迎大家在twitter上跟随@&lt;a href=&quot;https://twitter.com/lookon&quot; target=&quot;_blank&quot;&gt;lookon&lt;/a&gt; &lt;img src='http://kangye.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt; &lt;span id=&quot;more-41346&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h2 style=&quot;background-color: rgb(153,204,0)&quot;&gt;一、申请API key&lt;/h2&gt;
&lt;p&gt;出于安全性的考虑，Flickr需要&lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;每个使用API的用户申请API key&lt;/font&gt;&lt;/strong&gt;，凭着这个API key和相应的secret，你才能使用Flickr的API服务。&lt;/p&gt;
&lt;p&gt;申请地址：&lt;a href=&quot;http://www.flickr.com/services/api/keys/apply/&quot;&gt;http://www.flickr.com/services/api/keys/apply/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;点击Apply for a Non-Commerical key，填写完信息后（你必须有一个yahoo邮箱，然后需要登录），就能获得一个API key和相应的Secret了。&lt;/p&gt;
&lt;h2 style=&quot;background-color: rgb(153,204,0)&quot;&gt;二、配置API key信息&lt;/h2&gt;
&lt;p&gt;申请完之后，我们点击Edit key details，有一个东西是必需要填的，就是我们的Authentication Type。由于我使用的是Google App Engine进行编程，所以就勾选了Web Application，你也可以根据需要进行勾选，还有两个选择是Desktop Application和Mobile Application。&lt;/p&gt;
&lt;p&gt;选了Web Application之后，我就必须再填写一个Callback URL，这个就是用户授权后，需要返回到我们的web应用的地址，用来获取用户的auth_token以及做更多的事情。&lt;/p&gt;
&lt;h2 style=&quot;background-color: rgb(153,204,0)&quot;&gt;三、使用Flickr Authentication API的主要流程&lt;/h2&gt;
&lt;p&gt;下面我们来看看如何获得API授权以及如何使用API服务的大致过程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;跳转页面到Flickr的用户授权页 &lt;/li&gt;
&lt;li&gt;（用户登录Flickr）用户在Flickr上同意授权 &lt;/li&gt;
&lt;li&gt;Flickr将页面跳转到你预先设定好的Callback URL &lt;/li&gt;
&lt;li&gt;你在Callback URL页面中，&lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;获得用户的auth_token，存储或缓存这个auth_token&lt;/font&gt;&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;使用用户的auth_token调用Flickr的API服务 &lt;/li&gt;
&lt;/ol&gt;
&lt;h2 style=&quot;background-color: rgb(153,204,0)&quot;&gt;四、一些具体实现的细节&lt;/h2&gt;
&lt;h3&gt;&lt;font color=&quot;#3366ff&quot;&gt;1.用户授权页的地址格式&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;用户需要访问一个你的应用一一确定的授权地址来授权你的应用，这个地址格式是：&lt;/p&gt;
&lt;blockquote&gt;&lt;pre&gt;http://flickr.com/services/auth/?api_key=[api_key]&amp;amp;perms=[perms]&amp;amp;api_sig=[api_sig]&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;其中[api_key]就是你申请来的API key，[perms]是授权的权限，可以是write，read或者delate，一般都选write。api_sig是一个比较复杂的东西，将在后面具体叙述。&lt;/p&gt;
&lt;h3&gt;&lt;font color=&quot;#3366ff&quot;&gt;2.用户授权后跳转到Callback URL后的操作&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;用户在授权页面授权了之后，Flickr会将页面跳转到你预先设定好的Callback URL，并且带上一个frob参数。比如，你的Callback URL是http://viewr.com/auth.php，那么Flickr将会发来一个HTTP GET请求，地址为&lt;a href=&quot;http://viewr.com/auth.php?frob=abcxyz&quot;&gt;http://viewr.com/auth.php?&lt;b&gt;frob&lt;/b&gt;=abcxyz&lt;/a&gt;，frob的值是随机的，你需要在程序端获取这个frob参数值。&lt;/p&gt;
&lt;p&gt;接下来的事情就是，你向Flickr发送一个HTTP GET请求，用来获得用户的auth_token，这个请求中必须有frob值，而且必须是在Callback URL收到请求后立刻发送，frob有时间限制的，过期的frob将失效。&lt;/p&gt;
&lt;p&gt;下面是获取用户auth_token的请求地址：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;http://flickr.com/services/rest/?&lt;b&gt;method&lt;/b&gt;=flickr.auth.getToken&amp;amp;&lt;b&gt;api_key&lt;/b&gt;=1234567890&amp;amp;&lt;b&gt;frob&lt;/b&gt;=abcxzy&amp;amp;&lt;b&gt;api_sig&lt;/b&gt;=3f3870be274f6c49b3e31a0c6728957f&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;api_token和前面一样，frob就是在Callback URL中获得的那个frob，api_sig还是后面讲解。&lt;/p&gt;
&lt;p&gt;发送请求后，Flickr将会返回用户的auth_token值，没有其他内容，你只要保存即可。&lt;/p&gt;
&lt;h3&gt;&lt;font color=&quot;#3366ff&quot;&gt;3.使用用户的auth_token调用API&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;有了用户的授权后，便能获得用户的auth_token，然后调用Flickr Authentication API。注意，&lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;这个auth_token必须和你的API key结合才能使用&lt;/strong&gt;&lt;/font&gt;，这样就保证了API不会被盗用和滥用。&lt;/p&gt;
&lt;p&gt;根据Flickr API的文档，选择适当的方法，便可以进行不同的操作了，下面举个例子，用来获取用户信息：&lt;/p&gt;
&lt;p&gt;发送HTTP Post请求到&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;http://flickr.com/services/rest/?&lt;b&gt;method&lt;/b&gt;=flickr.people.getInfo&amp;amp;&lt;b&gt;api_key&lt;/b&gt;=1234567890&amp;amp;&lt;b&gt;auth_token&lt;/b&gt;=334455&amp;amp;&lt;b&gt;api_sig&lt;/b&gt;=4f3870be274f6c49b3e31a0c6728957f&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;就能得到Flickr用户的信息了，其中method的值可以参见Flickr的API文档，api_key如前，auth_token就是你保存的用户的auth_token。&lt;/p&gt;
&lt;h4&gt;&lt;font color=&quot;#3366ff&quot;&gt;4.如何进行签名&lt;/font&gt;&lt;/h4&gt;
&lt;p&gt;前面说到api_sig是个负责的东西，这里就讲解下如何生成这个签名（api_sig）：&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#008000&quot;&gt;a.将参数按字典顺序进行排序&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;比如，前面用户授权页的地址中有api_key和perms两个参数，那么经过排序后的结果是&lt;/p&gt;
&lt;p&gt;api_key=[api_key]，perms=write&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#008000&quot;&gt;b.将Secret和这些参数合起来&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;这里的Secret是你申请API key的时候一起得到的那个Secret，然后再和排过序的参数合起来，变成&lt;/p&gt;
&lt;p&gt;Secretapi_key[api_key]permswrite&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#008000&quot;&gt;c.计算这个字符串的md5() hash值，并转为16进制&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;于是就得到了api_sig的值，也就是说，api_sig是由你的Secret以及所需参数一起生成的一个签名，缺一不可。&lt;/p&gt;
&lt;p&gt;&lt;font color=&quot;#008000&quot;&gt;d.Python实现&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;下面是一个Python语言的生成签名的实现&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;def sign(dictionary):&lt;br /&gt;
    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&amp;quot;&amp;quot;Calculate the flickr signature for a set of params.&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; data&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; a hash of all the params and values to be hashed, e.g.&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#8220;{&amp;quot;api_key&amp;quot;:&amp;quot;AAAA&amp;quot;, &amp;quot;auth_token&amp;quot;:&amp;quot;TTTT&amp;quot;, &amp;quot;key&amp;quot;:&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; u&amp;quot;value&amp;quot;.encode(&amp;#8216;utf-8&amp;#8242;)}&amp;#8220; &lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;&amp;quot;&amp;quot; &lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; data = [secret] #你的Secret值&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #dictonary就是参数的字典表示，如{&amp;quot;api_key&amp;quot;:&amp;quot;aaa&amp;quot;,&amp;quot;auth_token&amp;quot;:&amp;quot;bbb&amp;quot;}&lt;br /&gt;
    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; for key in sorted(dictionary.keys()):&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; data.append(key)&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; datum = dictionary[key]&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if isinstance(datum, unicode):&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; raise IllegalArgumentException(&amp;quot;No Unicode allowed, &amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;quot;argument %s (%r) should have been UTF-8 by now&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; % (key, datum))&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; data.append(datum)&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; md5_hash = md5.new()&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; md5_hash.update(&amp;#8221;.join(data))&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return md5_hash.hexdigest()&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h2 style=&quot;background-color: rgb(153,204,0)&quot;&gt;五、有用的资源链接&lt;/h2&gt;
&lt;p&gt;照例给出一些很哟用的资源链接：&lt;/p&gt;
&lt;p&gt;1.Flickr API官方文档：&lt;a title=&quot;http://www.flickr.com/services/api/&quot; href=&quot;http://www.flickr.com/services/api/&quot;&gt;http://www.flickr.com/services/api/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2.申请Flickr API key的地址：&lt;a title=&quot;http://www.flickr.com/services/api/keys/apply/&quot; href=&quot;http://www.flickr.com/services/api/keys/apply/&quot;&gt;http://www.flickr.com/services/api/keys/apply/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3.Flickr Authentication API使用的官方介绍：&lt;a title=&quot;http://www.flickr.com/services/api/auth.spec.html&quot; href=&quot;http://www.flickr.com/services/api/auth.spec.html&quot;&gt;http://www.flickr.com/services/api/auth.spec.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4.Flickr API的Python类库：&lt;a title=&quot;http://www.stuvel.eu/projects/flickrapi&quot; href=&quot;http://www.stuvel.eu/projects/flickrapi&quot;&gt;http://www.stuvel.eu/projects/flickrapi&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;注意事项，Flickr API调用过程中，必须全部使用utf-8编码。&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948595/lookon315/feedsky/s.gif?r=http://kangye.org/get-started-with-flickr-api&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948595/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948595/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/get-started-with-flickr-api/feed</wfw:commentRss><slash:comments>0</slash:comments><description>前一篇日志讲到如何使用开源的PubSubHubbub协议实时接收订阅的Feed的更新，收到了不错的反响，于是今天再写一篇教程，是关于如何使用著名的图片存储服务商Flickr的API，主要介绍需要验证的API的运用（包括获得用户信息，上传图片，发布到Twitter等）。&lt;img src=&quot;http://www1.feedsky.com/t1/336948595/lookon315/feedsky/s.gif?r=http://kangye.org/get-started-with-flickr-api&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948595/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948595/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>API</category><category>开发</category><category>教程</category><category>Flickr</category><pubDate>Sat, 26 Sep 2009 22:02:47 +0800</pubDate><author>admin</author><comments>http://kangye.org/get-started-with-flickr-api#comments</comments><guid isPermaLink="false">http://www.kangye.org/get-started-with-flickr-api/</guid><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/get-started-with-flickr-api</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948595/5177233</fs:itemid></item><item><title>[教程]如何使用PubSubHubbub协议</title><link>http://kangye.org/getting-started-with-pubsubhubbub</link><content:encoded>&lt;p&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; height=&quot;112&quot; src=&quot;http://www.techshout.com/images/google-reader-pubsubhubbub.jpg&quot; width=&quot;120&quot; align=&quot;right&quot; /&gt;前一篇日志&lt;a href=&quot;http://www.kangye.org/pubsubhubbub-tutorial/&quot; target=&quot;_blank&quot;&gt;PubSubHubbub工作原理及使用入门&lt;/a&gt;大致介绍了PubSubHubbub的工作原理和流程，这次将结合实例，&lt;strong&gt;介绍如何使用PubSubHubbub协议进行开发，并给出实例代码。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt; &lt;span id=&quot;more-41327&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h2 style=&quot;background-color: rgb(153,204,0)&quot;&gt;1.订阅Feed&lt;/h2&gt;
&lt;p&gt;如果一个Feed支持PubSubHubbub协议，那么在feed中将会告诉你，托管这个feed的hub的地址。比如，在&lt;font color=&quot;#99cc00&quot;&gt;http://www.google.com/reader/shared/areyoulookon&lt;/font&gt;的feed中，有&lt;font color=&quot;#0f6600&quot;&gt;&amp;lt;link rel=&amp;quot;hub&amp;quot; href=&amp;quot;&lt;/font&gt;&lt;a href=&quot;http://pubsubhubbub.appspot.com/&amp;quot;/&quot;&gt;&lt;font color=&quot;#ff8040&quot;&gt;http://pubsubhubbub.appspot.com/&amp;quot;/&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#ff8040&quot;&gt;&amp;gt;&lt;/font&gt;，这就表示，这个feed由pubsubhubbub.appspot.com这个hub进行托管，也就是说，&lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;你需要向pubsubhubbub.appspot.com请求获得这个feed的实时更新情况&lt;/font&gt;&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;下面详细讲讲如何订阅（还是以那个greader share的feed做例子）：&lt;/p&gt;
&lt;h3&gt;&lt;font color=&quot;#3366ff&quot;&gt;1.发送订阅请求&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;pubsubhubbub.appspot.com是pubsubhubbub始作俑者，两位Google工程师之一的某人完成，由于他是Google App Engine团队的，所以利用GAE开发了一个hub，为大家也为Google提供了方便。订阅更新的地址是：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color=&quot;#ff8040&quot;&gt;http://pubsubhubbub.appspot.com/subscribe&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;那么，要订阅上面那个feed，需要向这个地址Post哪些参数呢？主要是下面四个参数（以及应该填的值）：&lt;/p&gt;
&lt;p&gt;– &lt;em&gt;hub.mode&lt;/em&gt; = subscribe|unsubscribe （是订阅还是取消订阅）&lt;/p&gt;
&lt;p&gt;– &lt;em&gt;hub.verify&lt;/em&gt; = sync&lt;/p&gt;
&lt;p&gt;– &lt;em&gt;hub.callback&lt;/em&gt; = http://domain.tld/your/callback （&lt;font color=&quot;#ff0000&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;callback就是说，你用来接收这个hub传来的信息的网址，&lt;/font&gt;&lt;strong&gt;这个很重要，就是你处理更新的应用的地址&lt;/strong&gt;&lt;/font&gt;）&lt;/p&gt;
&lt;p&gt;– &lt;em&gt;hub.topic&lt;/em&gt; = http://www.google.com/reader/public/atom/user/16797483721654978846/state/com.google/broadcast（这个就是我们要订阅的feed源，取名为topic，大家要适应）&lt;/p&gt;
&lt;p&gt;好了，下面不管使用何种程序语言，你只要向&lt;strong&gt;&lt;font color=&quot;#ff8040&quot;&gt;http://pubsubhubbub.appspot.com/subscribe &lt;/font&gt;&lt;/strong&gt;发送含有上面四个参数和值的Post请求，就完成了订阅Feed的70%的工作了。你也可以到&lt;a href=&quot;http://pubsubhubbub.appspot.com/subscribe&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;http://pubsubhubbub.appspot.com/subscribe&lt;/font&gt;&lt;/a&gt;&lt;font color=&quot;#ff0000&quot;&gt;&lt;font color=&quot;#000000&quot;&gt; 去试玩一下，&lt;/font&gt;&lt;strong&gt;无需编程。&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;h3&gt;&lt;font color=&quot;#3366ff&quot;&gt;2.验证你的订阅&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;pubsubhubbub协议规定，并不是所有发往hub的订阅请求都能通过，&lt;font color=&quot;#ff0000&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;当你订阅了一个topic后，hub服务器会给你的callback网址发来一个HTTP GET请求，&lt;/font&gt;&lt;strong&gt;获得正确的响应后，才能订阅成功。&lt;/strong&gt;&lt;/font&gt;（这是为了防止你用错误的callback地址，让hub服务器进行DDoS攻击）。&lt;/p&gt;
&lt;p&gt;当我们按照1里面的步骤，发送了订阅请求（HTTP POST）后，hub服务器会给callback网站发来一个HTTP GET请求，参数如下：&lt;/p&gt;
&lt;p&gt;– &lt;em&gt;hub.mode&lt;/em&gt; = subscribe|unsubscribe     &lt;br /&gt;– &lt;em&gt;hub.topic&lt;/em&gt; = http://www.google.com/reader/public/atom/user/16797483721654978846/state/com.google/broadcast     &lt;br /&gt;– &lt;em&gt;hub.challenge&lt;/em&gt; = a-random-string （这个很重要，就是验证的字符串，你的callback网址需要记录它）&lt;/p&gt;
&lt;p&gt;如果你的callback网址接到这个请求后，能返回输出hub.challenge的值的话，并且是一个成功的响应（status code是200），那么订阅就成功了！&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h2 style=&quot;background-color: rgb(153,204,0)&quot;&gt;2.处理更新内容&lt;/h2&gt;
&lt;p&gt;订阅成功以后，如果订阅源发生了更新，按照我们上次&lt;a href=&quot;http://www.kangye.org/pubsubhubbub-tutorial/&quot; target=&quot;_blank&quot;&gt;PubSubHubbub工作原理及使用入门&lt;/a&gt;介绍的，hub服务器将会获得通知，然后立刻发送HTTP POST请求到我们订阅的callback网址，请求的内容是xml格式的（&lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;基本类似于标准的atom格式&lt;/font&gt;&lt;/strong&gt;），里面包含了更新的内容，下面就是你使用各种方式，处理这段xml字符串，为你所用了。&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h2 style=&quot;background-color: rgb(153,204,0)&quot;&gt;3.有用的链接和代码&lt;/h2&gt;
&lt;p&gt;那篇让我看懂如何使用&lt;a href=&quot;http://pubsubhubbub.googlecode.com/&quot; target=&quot;_blank&quot;&gt;PubSubHubbub&lt;/a&gt;的文章：&lt;a href=&quot;http://blog.superfeedr.com/API/pubsubhubbub/getting-started-with-pubsubhubbub/&quot; target=&quot;_blank&quot;&gt;Getting Started with PubSubHubbub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;订阅Feed的WEB接口：&lt;a href=&quot;http://pubsubhubbub.appspot.com/subscribe&quot;&gt;http://pubsubhubbub.appspot.com/subscribe&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PubSubHubbub主页：&lt;a title=&quot;http://pubsubhubbub.googlecode.com/&quot; href=&quot;http://pubsubhubbub.googlecode.com/&quot;&gt;http://pubsubhubbub.googlecode.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如何更好地开发PubSubHubub：&lt;a title=&quot;http://code.google.com/p/pubsubhubbub/wiki/BestPractices&quot; href=&quot;http://code.google.com/p/pubsubhubbub/wiki/BestPractices&quot;&gt;http://code.google.com/p/pubsubhubbub/wiki/BestPractices&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Google App Engine的示例代码：&lt;a href=&quot;http://code.google.com/p/pubsubhubbub/source/browse/#svn/trunk/subscriber&quot;&gt;http://code.google.com/p/pubsubhubbub/source/browse/#svn/trunk/subscriber&lt;/a&gt; （&lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;重要！这个基本是1/3的reader2twitter代码了&lt;/font&gt;&lt;/strong&gt;）&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948596/lookon315/feedsky/s.gif?r=http://kangye.org/getting-started-with-pubsubhubbub&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948596/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948596/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/getting-started-with-pubsubhubbub/feed</wfw:commentRss><slash:comments>0</slash:comments><description>前一篇日志PubSubHubbub工作原理及使用入门大致介绍了PubSubHubbub的工作原理和流程，这次将结合实例，介绍如何使用PubSubHubbub协议进行开发，并给出实例代码。&lt;img src=&quot;http://www1.feedsky.com/t1/336948596/lookon315/feedsky/s.gif?r=http://kangye.org/getting-started-with-pubsubhubbub&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948596/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948596/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>PubSubHubbub</category><category>开发</category><category>教程</category><pubDate>Thu, 24 Sep 2009 15:21:45 +0800</pubDate><author>admin</author><comments>http://kangye.org/getting-started-with-pubsubhubbub#comments</comments><guid isPermaLink="false">http://www.kangye.org/getting-started-with-pubsubhubbub/</guid><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/getting-started-with-pubsubhubbub</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948596/5177233</fs:itemid></item><item><title>国人开发的几个基于Google App Engine的Twitter应用</title><link>http://kangye.org/chinese-app-engine-twitter</link><content:encoded>&lt;p&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; src=&quot;http://humairahmed.com/blog/wp-content/uploads/2008/11/google_app_engine.jpeg&quot; alt=&quot;&quot; width=&quot;120&quot; height=&quot;118&quot; align=&quot;right&quot; /&gt;写这个内容，略有风险，希望Google App Engine永葆青春。。。&lt;/p&gt;
&lt;p&gt;之前有一段时间，Google App Engine使用Twitter API的过程中，遇到Twitter拒绝来自App Engine的请求的尴尬情况，所以基于App Engine的Twitter应用很少有。但是，Twitter最终还是解决了问题，于是Twitter应用便开始繁荣起来。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-41318&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;1.&lt;a href=&quot;http://twittergadget.appspot.com/&quot; target=&quot;_blank&quot;&gt;Twitgether&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这是一个很好的服务，由&lt;a href=&quot;https://twitter.com/c9&quot; target=&quot;_blank&quot;&gt;@c9&lt;/a&gt;开发，主要功能是，GMail中的Twitter Gadget。GMail Labs提供添加gadget的功能，加上Twitgether的不错的界面，使得GMail里面看推，发推都比较方便了。强烈推荐GMail爱好者使用。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;640&quot; height=&quot;329&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2&lt;a href=&quot;http://reader2twitter.appspot.com/cn&quot; target=&quot;_blank&quot;&gt;.Reader2Twitter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这是由我开发的一个Twitter应用，主要功能是，实时同步你的Google Reader分享到Twitter，支持Basic和OAuth两种认证方式，并且可以自定义同步方式和同步格式。推荐Google Reader爱好者使用。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp1.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb1.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;640&quot; height=&quot;381&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3.&lt;a href=&quot;http://sms4twitter.appspot.com/&quot; target=&quot;_blank&quot;&gt;sms4twitter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;飞信用户有好东西用了，这是由&lt;a href=&quot;https://twitter.com/rockcody&quot; target=&quot;_blank&quot;&gt;@rockcody&lt;/a&gt;开发的GAE应用，主要功能是利用飞信来更新你的Twitter，以后将会有更多功能。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp2.png&quot;&gt;&lt;img style=&quot;border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb2.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;640&quot; height=&quot;408&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4.&lt;a href=&quot;http://twitter2renren.appspot.com/&quot; target=&quot;_blank&quot;&gt;twitter2renren&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这是一款同步Twitter到人人网的App Engine程序，如果你是校内网的忠实用户，那么可以尝试一下这个服务。&lt;/p&gt;
&lt;p&gt;5.&lt;a href=&quot;http://twitese.appspot.com&quot; target=&quot;_blank&quot;&gt;推特中文圈&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;强力推荐！国人制作的饭否界面Twitter网页程序，实现了基本所有Twitter的必须功能，并对Twitter中文用户进行了分类，如果你没有好的使用Twitter的方法的话，请使用推特中文圈。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp3.png&quot;&gt;&lt;img style=&quot;border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb3.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;640&quot; height=&quot;451&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;6.&lt;a href=&quot;http://twitalker.appspot.com/&quot; target=&quot;_blank&quot;&gt;Twitalker&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如果你是Gtalk重度用户，那么这款服务很适合你。Twitalker是一款Twitter第三方应用，提供推特Gtalk机器人服务，通过添加TwiTalker在Gtalk上的帐号您可以方便地在Gtalk上更新自己的推特和接收好友消息。也是基于Google App Engine的。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp4.png&quot;&gt;&lt;img style=&quot;border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px&quot; title=&quot;tmp&quot; src=&quot;http://www.kangye.org/wp-content/uploads/247/24735/2009/09/tmp-thumb4.png&quot; border=&quot;0&quot; alt=&quot;tmp&quot; width=&quot;640&quot; height=&quot;401&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948597/lookon315/feedsky/s.gif?r=http://kangye.org/chinese-app-engine-twitter&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948597/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948597/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/chinese-app-engine-twitter/feed</wfw:commentRss><slash:comments>0</slash:comments><description>之前有一段时间，Google App Engine使用Twitter API的过程中，遇到Twitter拒绝来自App Engine的请求的尴尬情况，所以基于App Engine的Twitter应用很少有。但是，Twitter最终还是解决了问题，于是Twitter应用便开始繁荣起来。&lt;img src=&quot;http://www1.feedsky.com/t1/336948597/lookon315/feedsky/s.gif?r=http://kangye.org/chinese-app-engine-twitter&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948597/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948597/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>App Engine</category><category>web 2.0</category><pubDate>Wed, 23 Sep 2009 15:38:10 +0800</pubDate><author>admin</author><comments>http://kangye.org/chinese-app-engine-twitter#comments</comments><guid isPermaLink="false">http://www.kangye.org/chinese-app-engine-twitter/</guid><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/chinese-app-engine-twitter</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948597/5177233</fs:itemid></item><item><title>Brizzly – 让Twitter拥有FriendFeed一样的体验</title><link>http://kangye.org/brizzly-make-twitter-like-friendfeed</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.kangye.org/brizzly-%e8%ae%a9twitter%e6%8b%a5%e6%9c%89friendfeed%e4%b8%80%e6%a0%b7%e7%9a%84%e4%bd%93%e9%aa%8c/&quot;&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; src=&quot;http://cache0.techcrunch.com/wp-content/uploads/2009/07/brizzly-birdier.png&quot; alt=&quot;&quot; width=&quot;120&quot; height=&quot;140&quot; align=&quot;right&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;今天美国IT那边传来很多关于Brizzly的声音，完全压过了即将发布的客户端tweetdeck，我刚才试用了一下，真的非常不错！&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;非常好的地方：&lt;/p&gt;
&lt;p&gt;1.自动显示图片和视频&lt;/p&gt;
&lt;p&gt;跟FriendFeed一样，可以看图片，也可以预览Youtube视频&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-41004&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px&quot; src=&quot;http://louisgray.com/graphics/brizzly_500c.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;2.添加组&lt;/p&gt;
&lt;p&gt;可以添加小组，而且在小组中添加成员很简单，输入用户名的开头字母，会出现一堆提示用户&lt;/p&gt;
&lt;p&gt;3.你可以mute一个用户，而不是follow，只是看不到他的更新&lt;/p&gt;
&lt;p&gt;4.贴心的dm&lt;/p&gt;
&lt;p&gt;收到私信后，将会在右上方出现对话框，可以进行回复。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://louisgray.com/graphics/brizzly_200.jpg&quot; alt=&quot;&quot; hspace=&quot;5&quot; vspace=&quot;5&quot; align=&quot;left&quot; /&gt;&lt;/p&gt;
&lt;p&gt;5.自动不用fan qiang&lt;/p&gt;
&lt;p&gt;最后，目前需要邀请码，先到先得，留下你的email，低调传播@@&lt;/p&gt;
&lt;p&gt;也可以在twitter上回复我你的邮箱，我的twitter:lookon&lt;/p&gt;
&lt;p&gt;注：你可以尝试这个邀请码：&lt;strong&gt;daringbaking&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果这个邀请码无法使用的话，目前已经本博客已经没有邀请码了，不好意思:)&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948598/lookon315/feedsky/s.gif?r=http://kangye.org/brizzly-make-twitter-like-friendfeed&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948598/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948598/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/brizzly-make-twitter-like-friendfeed/feed</wfw:commentRss><slash:comments>0</slash:comments><description>今天美国IT那边传来很多关于Brizzly的声音，完全压过了即将发布的客户端tweetdeck，我刚才试用了一下，真的非常不错！&lt;img src=&quot;http://www1.feedsky.com/t1/336948598/lookon315/feedsky/s.gif?r=http://kangye.org/brizzly-make-twitter-like-friendfeed&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948598/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948598/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>FriendFeed</category><category>视频</category><category>Twitter</category><category>web 2.0</category><pubDate>Wed, 09 Sep 2009 21:32:09 +0800</pubDate><author>admin</author><comments>http://kangye.org/brizzly-make-twitter-like-friendfeed#comments</comments><guid isPermaLink="false">http://www.kangye.org/brizzly-%e8%ae%a9twitter%e6%8b%a5%e6%9c%89friendfeed%e4%b8%80%e6%a0%b7%e7%9a%84%e4%bd%93%e9%aa%8c/</guid><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/brizzly-make-twitter-like-friendfeed</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948598/5177233</fs:itemid></item><item><title>Reader2Twitter新功能介绍</title><link>http://kangye.org/reader2twitter-new-features</link><content:encoded>&lt;p&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; height=&quot;120&quot; src=&quot;http://lightbiker.files.wordpress.com/2008/08/google-reader128.png&quot; width=&quot;120&quot; align=&quot;right&quot; /&gt;昨天发布了reader2twitter，一个使用pubsubhubbub协议，实时共享Google Reader Shared Item到Twitter的应用，地址：&lt;a href=&quot;http://reader2twitter.appspot.com/cn&quot;&gt;http://reader2twitter.appspot.com/cn&lt;/a&gt; 。今天对reader2twitter进行了更新，下面说说新功能： &lt;/p&gt;
&lt;p&gt; &lt;span id=&quot;more-40986&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h1&gt;&lt;font color=&quot;#0000ff&quot;&gt;1.支持OAuth认证&lt;/font&gt;&lt;/h1&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;如果你能翻墙的话，那么就使用这种方式认证吧，因为这样可以在下次登录后，获得你的reader2twitter配置信息。而且更安全，也能在twitter中显示来源。&lt;/p&gt;
&lt;h1&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;/font&gt;&lt;/h1&gt;
&lt;h1&gt;&lt;font color=&quot;#0000ff&quot;&gt;2.支持自定义发推&lt;/font&gt;&lt;/h1&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;你可以使用三个参数进行自定义你的同步到Twitter的推，{title}，{url} 和 {comment}。分别指的是标题，链接和你的评论。比如你可以使用下面的格式进行自定义：&lt;/p&gt;
&lt;p&gt;【GR分享】{title} {url} &lt;/p&gt;
&lt;p&gt;{title} {url} || {comment}&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h1&gt;&lt;font color=&quot;#0000ff&quot;&gt;3.支持三种同步方式&lt;/font&gt;&lt;/h1&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;目前支持了三种不同的同步方式&lt;/p&gt;
&lt;p&gt;a.同步所有的共享&lt;/p&gt;
&lt;p&gt;b.只同步有评论的共享&lt;/p&gt;
&lt;p&gt;c.只同步Note（将不会显示链接）&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;font size=&quot;4&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;c的&lt;b&gt;这个&lt;b&gt;同步方式就意味着，你可以在Google Reader里面发推，这是多么high的一件事，无需任何插件！&lt;/b&gt;&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948599/lookon315/feedsky/s.gif?r=http://kangye.org/reader2twitter-new-features&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948599/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948599/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/reader2twitter-new-features/feed</wfw:commentRss><slash:comments>0</slash:comments><description>昨天发布了reader2twitter，一个使用pubsubhubbub协议，实时共享Google Reader Shared Item到Twitter的应用，地址：http://reader2twitter.appspot.com/cn 。今天对reader2twitter进行了更新，下面说说新功能。&lt;img src=&quot;http://www1.feedsky.com/t1/336948599/lookon315/feedsky/s.gif?r=http://kangye.org/reader2twitter-new-features&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948599/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948599/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>开发</category><category>网站开发</category><pubDate>Tue, 08 Sep 2009 15:51:05 +0800</pubDate><author>admin</author><comments>http://kangye.org/reader2twitter-new-features#comments</comments><guid isPermaLink="false">http://www.kangye.org/reader2twitter%e6%96%b0%e5%8a%9f%e8%83%bd%e4%bb%8b%e7%bb%8d/</guid><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/reader2twitter-new-features</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948599/5177233</fs:itemid></item><item><title>PubSubHubbub工作原理及使用入门</title><link>http://kangye.org/pubsubhubbub-tutorial</link><content:encoded>&lt;div&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; height=&quot;112&quot; src=&quot;http://www.techshout.com/images/google-reader-pubsubhubbub.jpg&quot; width=&quot;120&quot; align=&quot;right&quot; /&gt;现在来说说看&lt;a href=&quot;http://code.google.com/p/pubsubhubbub/&quot;&gt;PubSubHubbub&lt;/a&gt;是什么东西，如何使用。&lt;/div&gt;
&lt;div&gt;&amp;#160;&lt;/div&gt;
&lt;div&gt;前面说写了个将Google Reader的分享实时同步到Twitter的应用：&lt;a href=&quot;http://reader2twitter.appspot.com&quot;&gt;reader2twitter.appspot.com&lt;/a&gt;，就是使用了PubSubHubbub协议，那么到底什么是PubSubHubbub协议呢？&lt;/div&gt;
&lt;div&gt;&amp;#160;&lt;/div&gt;
&lt;div&gt;官方说法是，A simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as an extension to Atom (and RSS)。其实就是一个RSS和Atom扩展协议，有了这个协议，就可以几乎实时地获取更新。&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;下面说说它的工作原理，分以下几步：&lt;/div&gt;
&lt;p&gt; &lt;span id=&quot;more-40964&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;1.Subscriber(订阅者)向Publisher(发布者)请求获取更新的内容（很普通的request）&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;2.Publisher告诉Subscriber，我将更新托管到了某个hub上面&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;3.于是，Subscriber转而请求那个hub，告诉这个hub，如果Publisher一有更新的内容，就通知Subscriber的某个url&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;4.hub返回给Subscriber一个字符串，用以验证Subscriber不是攻击的肉机&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;5.订阅工作结束&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;6.hub不断向Publisher请求获取新内容，Publisher一有新内容也及时通知hub&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;7.hub获取更新的内容后，立刻通知所有在这个hub订阅Publisher的Subscriber&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;8.Subscriber根据通知的内容，进行处理，完成自己需要做的事情&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;理想状态是，有很多的hub，很多Publisher和Subscriber，相互交互。&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&amp;#160;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;下次将会说如何使用PubSubHubbub，使用的是Google App Engine做例子。&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948600/lookon315/feedsky/s.gif?r=http://kangye.org/pubsubhubbub-tutorial&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948600/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948600/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/pubsubhubbub-tutorial/feed</wfw:commentRss><slash:comments>0</slash:comments><description>现在来说说看PubSubHubbub是什么东西，如何使用。前面说写了个将Google Reader的分享实时同步到Twitter的应用：reader2twitter.appspot.com，就是使用了PubSubHubbub协议，那么到底什么是PubSubHubbub协议呢？&lt;img src=&quot;http://www1.feedsky.com/t1/336948600/lookon315/feedsky/s.gif?r=http://kangye.org/pubsubhubbub-tutorial&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948600/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948600/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>bl</category><category>暂无分类</category><category>Twitter</category><category>Google</category><category>web</category><category>Google Reader</category><category>Blog</category><category>App Engine</category><category>RSS</category><pubDate>Mon, 07 Sep 2009 19:59:03 +0800</pubDate><author>admin</author><comments>http://kangye.org/pubsubhubbub-tutorial#comments</comments><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><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/pubsubhubbub-tutorial</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948600/5177233</fs:itemid></item><item><title>Reader2Twitter ― 同步你的Google Reader Shared Items到Twitter</title><link>http://kangye.org/reader2twitter-sync-google-reader-to-twitter</link><content:encoded>&lt;p&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; height=&quot;120&quot; src=&quot;http://lightbiker.files.wordpress.com/2008/08/google-reader128.png&quot; width=&quot;120&quot; align=&quot;right&quot; /&gt;昨天去看了看&lt;span style=&quot;font-size: 14px; font-family: trebuchet ms, helvetica, sans-serif&quot;&gt;&lt;a href=&quot;http://pubsubhubbub.googlecode.com/&quot;&gt;pubsubhubbub&lt;/a&gt;协议，没摸清头脑，今天看到了一篇文章，总算知道怎么处理了，就做了一个将Google Reader里面分享的文章同步到Twitter的应用，对我来说是挺需要的。以后再也不用使用friendfeed同步而出现&lt;a href=&quot;http://ff.im&quot;&gt;ff.im&lt;/a&gt;了！&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 14px&quot;&gt;地址是：&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 14px&quot;&gt;&lt;a href=&quot;http://reader2twitter.appspot.com/cn&quot;&gt;http://reader2twitter.appspot.com/cn&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt; &lt;span id=&quot;more-40963&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 14px&quot;&gt;&lt;a href=&quot;http://reader2twitter.appspot.com/cn&quot;&gt;&lt;/a&gt;说明两点：&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 14px&quot;&gt;1.你在Google Reader里面的评论，也会出现在Tweet里面&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 14px&quot;&gt;2.pubsubhubbub有一个很严重的bug，就是每次发来的更新，会把以前分享的内容给一块发过来，不过我基本解决这个问题了，如果大家在使用中遇到什么问题的话，可以在这里评论，也可以在Twitter上回复我，&lt;a href=&quot;https://twitter.com/lookon&quot;&gt;@lookon&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 14px&quot;&gt;p.s.还做了个英文的，&lt;a href=&quot;http://reader2twitter.appspot.com/&quot;&gt;http://reader2twitter.appspot.com/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948601/lookon315/feedsky/s.gif?r=http://kangye.org/reader2twitter-sync-google-reader-to-twitter&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948601/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948601/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/reader2twitter-sync-google-reader-to-twitter/feed</wfw:commentRss><slash:comments>0</slash:comments><description>昨天去看了看pubsubhubbub协议，没摸清头脑，今天看到了一篇文章，总算知道怎么处理了，就做了一个将Google Reader里面分享的文章同步到Twitter的应用，对我来说是挺需要的。以后再也不用使用friendfeed同步而出现ff.im了！地址是：http://reader2twitter.appspot.com/cn&lt;img src=&quot;http://www1.feedsky.com/t1/336948601/lookon315/feedsky/s.gif?r=http://kangye.org/reader2twitter-sync-google-reader-to-twitter&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948601/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948601/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>项目</category><category>暂无分类</category><pubDate>Mon, 07 Sep 2009 16:50:53 +0800</pubDate><author>admin</author><comments>http://kangye.org/reader2twitter-sync-google-reader-to-twitter#comments</comments><guid isPermaLink="false">http://www.kangye.org/reader2twitter-%e2%80%95-%e5%90%8c%e6%ad%a5%e4%bd%a0%e7%9a%84google-reader-shared-items%e5%88%b0twitter/</guid><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/reader2twitter-sync-google-reader-to-twitter</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948601/5177233</fs:itemid></item><item><title>分析 @kaifulee 的following名单</title><link>http://kangye.org/kaifulees-twitter-following-analysis</link><content:encoded>&lt;div&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; height=&quot;80&quot; alt=&quot;kaifu-lee.jpg (650×433)&quot; src=&quot;http://www.mobinode.com/wp-content/uploads/2009/09/kaifu-lee.jpg&quot; width=&quot;120&quot; align=&quot;right&quot; /&gt;恩，下面是根据 @kaifulee 的following做的大致分类，可能有错误，还请原谅～&lt;/div&gt;
&lt;p&gt;Googler&lt;/p&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; color: rgb(51,51,51); line-height: 16px; font-family: lucida grande, verdana; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;marissamayer&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/marissamayer&quot;&gt;marissamayer&lt;/a&gt;&lt;/span&gt; (Google搜索和交互部副主席)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;wixette&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/wixette&quot;&gt;wixette&lt;/a&gt;&lt;/span&gt; (Google高级软件工程师)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;mattcutts&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/mattcutts&quot;&gt;mattcutts&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt; &lt;span id=&quot;more-40953&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;谷歌中国相关&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;Google_in_China&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/Google_in_China&quot;&gt;Google_in_China&lt;/a&gt;&lt;/span&gt; (谷歌中国)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;laibatopic&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/laibatopic&quot;&gt;laibatopic&lt;/a&gt;&lt;/span&gt; (来吧)&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;官方Twitter号&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; color: rgb(51,51,51); line-height: 16px; font-family: lucida grande, verdana; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;weirdchina&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/weirdchina&quot;&gt;weirdchina&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: 15px; line-height: normal; font-family: helvetica&quot;&gt;&lt;a title=&quot;google&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/google&quot;&gt;google&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;intlr&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/intlr&quot;&gt;intlr&lt;/a&gt;&lt;/span&gt; (&lt;span style=&quot;font-size: small; color: rgb(0,0,0); line-height: normal; font-family: arial; border-collapse: separate&quot;&gt;因科科技&lt;span style=&quot;font-size: 15px; color: rgb(51,51,51); font-family: helvetica; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: normal; font-family: helvetica&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span style=&quot;font-size: small; color: rgb(0,0,0); line-height: normal; font-family: arial; border-collapse: separate&quot;&gt;cnBeta&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;cbrk&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/cbrk&quot;&gt;cbrk&lt;/a&gt;&lt;/span&gt; (cnbeta breaking news)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;cblive&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/cblive&quot;&gt;cblive&lt;/a&gt;&lt;/span&gt; (cnbeta live)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;syutlyc&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/syutlyc&quot;&gt;syutlyc&lt;/a&gt;&lt;/span&gt; (cnbeta负责人)&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;中国Twitter名人&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-weight: bold; font-size: 15px; color: rgb(51,51,51); font-family: helvetica; border-collapse: collapse&quot;&gt;&lt;a title=&quot;keso&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/keso&quot;&gt;keso&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;WangShuo&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/WangShuo&quot;&gt;WangShuo&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;flypig&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/flypig&quot;&gt;flypig&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;guao&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/guao&quot;&gt;guao&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;izlmichael&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/izlmichael&quot;&gt;izlmichael&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;北京&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;wuyizi&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/wuyizi&quot;&gt;wuyizi&lt;/a&gt;&lt;/span&gt; (软件工程师)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;harryke&quot; style=&quot;padding-right: 0px; padding-left: 0px; pa&lt;br /&gt;
dding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/harryke&quot;&gt;harryke&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;CS专业&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;banazir&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/banazir&quot;&gt;banazir&lt;/a&gt;&lt;/span&gt; (&lt;span style=&quot;font-size: medium; color: rgb(0,0,0); line-height: normal; font-family: simsun; border-collapse: separate&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; color: rgb(51,51,51); line-height: 16px; font-family: lucida grande, verdana; border-collapse: collapse&quot;&gt;Associate Professor，华人)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: small; color: rgb(0,0,0); font-family: arial; border-collapse: separate&quot;&gt;政界&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; color: rgb(51,51,51); line-height: 16px; font-family: lucida grande, verdana; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;BarackObama&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/BarackObama&quot;&gt;BarackObama&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;therealmccrea&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/therealmccrea&quot;&gt;therealmccrea&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;风投家&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;johndoerr&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/johndoerr&quot;&gt;johndoerr&lt;/a&gt;&lt;/span&gt; (&lt;span style=&quot;font-size: 13px; color: rgb(0,0,0); line-height: 19px; font-family: sans-serif; border-collapse: separate&quot;&gt;&lt;a class=&quot;mw-redirect&quot; title=&quot;Venture capitalist&quot; style=&quot;background-image: none; color: rgb(0,43,184); text-decoration: none&quot; href=&quot;http://en.wikipedia.org/wiki/Venture_capitalist&quot;&gt;venture capitalist&lt;/a&gt; at &lt;a title=&quot;Kleiner Perkins Caufield &amp;amp; Byers&quot; style=&quot;background-image: none; color: rgb(0,43,184); text-decoration: none&quot; href=&quot;http://en.wikipedia.org/wiki/Kleiner_Perkins_Caufield_%26_Byers&quot;&gt;Kleiner Perkins Caufield &amp;amp; Byers&lt;/a&gt;&lt;span style=&quot;font-size: 12px; color: rgb(51,51,51); line-height: 16px; font-family: lucida grande, verdana; border-collapse: collapse&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;CEO&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;ehoffert&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/ehoffert&quot;&gt;ehoffert&lt;/a&gt;&lt;/span&gt; (&lt;span style=&quot;font-weight: bold; font-size: 13px; color: rgb(0,0,0); line-height: 15px; font-family: arial, helvetica, sans-serif; border-collapse: separate&quot;&gt;CEO and Co-Founder at ShareMethods LLC&lt;span style=&quot;font-weight: normal; font-size: 12px; color: rgb(51,51,51); line-height: 16px; font-family: lucida grande, verdana; border-collapse: collapse&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;rikkcarey&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/rikkcarey&quot;&gt;rikkcarey&lt;/a&gt;&lt;/span&gt; (CloudPlay CEO)&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;娱乐界&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;chuqiutianqi&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/chuqiutianqi&quot;&gt;chuqiutianqi&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;chuqiutianqi2&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/chuqiutianqi2&quot;&gt;chuqiutianqi2&lt;/a&gt;&lt;/span&gt; (贺志刚)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;DavidKirkpatric&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/DavidKirkpatric&quot;&gt;DavidKirkpatric&lt;/a&gt;&lt;/span&gt; (好莱坞)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;jimgable&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/jimgable&quot;&gt;jimgable&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;受保护的Twitter号&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(51,51,51)&quot;&gt;&lt;a title=&quot;kristiheim&amp;amp;rsquo;s tweets are protected.&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/kristiheim&quot;&gt;kristiheim&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;未分类&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;allandu&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/allandu&quot;&gt;allandu&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;几乎不使用Twitter了的(其中有名人的)&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; color: rgb(51,51,51); line-height: 16px; font-family: lucida grande, verdana; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;liyanhong&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/liyanhong&quot;&gt;liyanhong&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;beijingg&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/beijingg&quot;&gt;beijingg&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: 15px; line-height: normal; font-family: helvetica&quot;&gt;&lt;br /&gt;
&lt;a title=&quot;tuxiaomi&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/tuxiaomi&quot;&gt;tuxiaomi&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;Haoyuan&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/Haoyuan&quot;&gt;Haoyuan&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;chuanluo&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/chuanluo&quot;&gt;chuanluo&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span style=&quot;font-size: 15px; color: rgb(0,0,0); line-height: normal; font-family: helvetica&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;b&gt;&lt;a title=&quot;ElisaMa&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/ElisaMa&quot;&gt;ElisaMa&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;wangjenny&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/wangjenny&quot;&gt;wangjenny&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;cuijin78&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/cuijin78&quot;&gt;cuijin78&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;shioupyn&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/shioupyn&quot;&gt;shioupyn&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;yiluuwang&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/yiluuwang&quot;&gt;yiluuwang&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: normal&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;richardmander&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/richardmander&quot;&gt;richardmander&lt;/a&gt;&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;MKMcReal&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/MKMcReal&quot;&gt;MKMcReal&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;wangjenny&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: none&quot; href=&quot;http://twitter.com/wangjenny&quot;&gt;wangjenny&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: 15px; line-height: normal; font-family: helvetica&quot;&gt;&lt;a title=&quot;cuijin78&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/cuijin78&quot;&gt;cuijin78&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;zhangyaqin&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/zhangyaqin&quot;&gt;zhangyaqin&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px; line-height: 16px; border-collapse: collapse&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: 15px; line-height: normal; font-family: helvetica&quot;&gt;&lt;a title=&quot;xuxiaoping&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/xuxiaoping&quot;&gt;xuxiaoping&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 15px; border-collapse: collapse&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal; font-size: 12px; line-height: 16px; font-family: lucida grande, verdana&quot;&gt;&lt;span class=&quot;label screenname&quot;&gt;&lt;a title=&quot;shall_we&quot; style=&quot;padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(255,0,0); padding-top: 0px; text-decoration: underline&quot; href=&quot;http://twitter.com/shall_we&quot;&gt;shall_we&lt;/a&gt;&lt;/span&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/p&gt;&lt;/div&gt;
&lt;p style=&quot;font-size: 10px&quot;&gt;使用posterous发布，来源: &lt;a href=&quot;http://blog.kangye.org/-kaifulee-following&quot;&gt;Western Bridge over Google Wave&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/336948602/lookon315/feedsky/s.gif?r=http://kangye.org/kaifulees-twitter-following-analysis&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948602/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948602/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://kangye.org/kaifulees-twitter-following-analysis/feed</wfw:commentRss><slash:comments>0</slash:comments><description>恩，下面是根据 @kaifulee 的following做的大致分类，可能有错误，还请原谅～&lt;img src=&quot;http://www1.feedsky.com/t1/336948602/lookon315/feedsky/s.gif?r=http://kangye.org/kaifulees-twitter-following-analysis&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/336948602/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/336948602/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>暂无分类</category><category>Twitter</category><pubDate>Sun, 06 Sep 2009 19:17:26 +0800</pubDate><author>admin</author><comments>http://kangye.org/kaifulees-twitter-following-analysis#comments</comments><guid isPermaLink="false">http://www.kangye.org/%e5%88%86%e6%9e%90-kaifulee-%e7%9a%84following%e5%90%8d%e5%8d%95/</guid><dc:creator>admin</dc:creator><fs:srclink>http://kangye.org/kaifulees-twitter-following-analysis</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/336948602/5177233</fs:itemid></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><content:encoded>&lt;p&gt;今天 &lt;a href=&quot;http://twitter.com/posterous&quot;&gt;@posterous&lt;/a&gt; RT了一篇文章：&lt;a href=&quot;http://www.danielbru.com/2009/09/05/how-posterous-is-changing-blogging/&quot;&gt;How Posterous is Changing Blogging&lt;/a&gt;。注意，它用的是blogging，而不是blog，意思就是，Posterous改变的是写博客的方式，而不是博客本身。恩，下面我也说说自己为什么喜欢用Posterous来更新博客。
&lt;p /&gt;
&lt;div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;1.We all like GMail&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;这个很重要，我想了想，能在GMail里更新博客确实是一件很不错的事情。以前一直用&lt;a href=&quot;http://download.live.com/writer&quot;&gt;Windows Live Writer&lt;/a&gt;来写博客，也觉得这个软件不错。但是，有个致命的问题，Windows Live Writer并不是我一直需要使用的软件，而且打开速度不快，所以你要为了写博客而写博客，去打开这么一个微软的软件，自然减少了写博客的简单程度。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;GMail则不然，相信GMail的用户应该上网都会开的吧，作为&lt;a href=&quot;http://www.google.com/chrome&quot;&gt;Chrome&lt;/a&gt;浏览器的用户，我又为GMail创建了快捷应用，使得GMail几乎可以全屏显示。GMail可以说是一个很好的工作平台，于是通过GMail给posterous发一封EMail，写一篇博客，就变得很轻松了。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;另一个方面，GMail支持&lt;a href=&quot;http://gmailblog.blogspot.com/2009/04/new-in-labs-inserting-images.html&quot;&gt;插入图片&lt;/a&gt;了。有了这个功能，我在给Posterous发送邮件时，插入图片就相当方便了，可以自己选择图片的位置，也不用输入((nogallery))了。加上GMail现在一次可以选择多个文件作为附件，更加方便了。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;最后，GMail支持自动保存，而且是WEB应用，云的概念。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;2.发布照片很简单&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Posterous已经成为一个发布照片的重要服务了，原因很简单，只要将图片作为附件，给&lt;a href=&quot;mailto:post@posterous.com&quot;&gt;post@posterous.com&lt;/a&gt;发去一封邮件，就可以啥事不用管，Posterous自动将你的照片发布到你的博客中去了。为什么不用&lt;a href=&quot;http://twitpic.com&quot;&gt;Twitpic&lt;/a&gt;呢？很简单，Twitpic不是博客，单张的照片不能说明很多问题，有时候一连串的照片，讲的是一个故事。并且，默认情况下，Posterous会将图片做成gallery，便于查看。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;3.你可以发布任何东西？！&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;事实上，Posterous还是一个文件托管地，你可以发布图片,mp3,pdf等等，只要将文件放入附件中去即可。这个太让人兴奋了。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;4.完美集成了各项WEB 2.0服务&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Posterous的Autopost功能真是太让人喜欢了，发不完博客后，实时地就能同步发到各种WEB 2.0服务中去，甚至还能同步到你的wordpress博客，这为你省去了很多配置啊，插件啊的事情。第一时间的发布到social media，使得你的博客会更快地被人看到，更快地被RT和评论。Posterous支持使用Twitter账户登录评论，也是很好的。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;并且，发布的话是可以自定义的。同时，Posterous的tag也很方便，只要在邮件的title处，加上((tags:a,b,c,d))即可。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;最近，Posterous还支持了Google Analytics和Feedburner，让人觉得有不错，特别是严重依赖Google服务的我们。&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;5.免费的绑定域名&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;这个很关键！&lt;/div&gt;
&lt;p style=&quot;font-size: 10px;&quot;&gt;  使用posterous发布，来源: &lt;a href=&quot;http://blog.kangye.org/posterous-13512&quot;&gt;Western Bridge over Google Wave&lt;/a&gt;  &lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/337089526/lookon315/feedsky/s.gif?r=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&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/337089526/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/337089526/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</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><description>今天 @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&lt;img src=&quot;http://www1.feedsky.com/t1/337089526/lookon315/feedsky/s.gif?r=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&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/lookon315/337089526/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/lookon315/337089526/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>暂无分类</category><category>bl</category><category>Twitter</category><category>软件</category><category>Gmail</category><category>Google</category><category>文章</category><category>Wordpress</category><category>Blog</category><category>Windows</category><category>浏览器</category><category>Chrome</category><category>Live Writer</category><category>web 2.0</category><category>评论</category><category>web</category><category>Labs</category><category>Live</category><category>问题</category><category>照片</category><pubDate>Sun, 06 Sep 2009 17:35:59 +0800</pubDate><author>admin</author><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><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><dc:creator>admin</dc:creator><fs:srclink>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</fs:srclink><fs:srcfeed>http://www.kangye.org/feed/</fs:srcfeed><fs:itemid>feedsky/lookon315/~7078952/337089526/5177233</fs:itemid></item></channel></rss>