<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5680015118290485030</id><updated>2011-04-21T11:21:27.252-07:00</updated><category term='Twe2 Twitter SMS'/><category term='Hooopo'/><category term='ruby tinyurl api'/><title type='text'>Hooopo Means Hope</title><subtitle type='html'>It's my google blog ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5680015118290485030.post-5384413809650285662</id><published>2009-04-28T21:21:00.001-07:00</published><updated>2009-04-28T21:21:54.348-07:00</updated><title type='text'>test</title><content type='html'>&lt;script src='http://pastie.org/263934.js'&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5680015118290485030-5384413809650285662?l=hooopo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/5384413809650285662/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://hooopo.blogspot.com/2009/04/test.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/5384413809650285662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/5384413809650285662'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/2009/04/test.html' title='test'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5680015118290485030.post-2718015194311377133</id><published>2009-03-22T03:03:00.000-07:00</published><updated>2009-03-22T04:17:27.881-07:00</updated><title type='text'>小I机器人</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.javaeye.com/upload/attachment/86617/3ec16a68-bdd1-3143-a052-6e10e5c5f096.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 589px; height: 436px;" src="http://www.javaeye.com/upload/attachment/86617/3ec16a68-bdd1-3143-a052-6e10e5c5f096.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5680015118290485030-2718015194311377133?l=hooopo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/2718015194311377133/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://hooopo.blogspot.com/2009/03/i.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/2718015194311377133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/2718015194311377133'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/2009/03/i.html' title='小I机器人'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5680015118290485030.post-4819679704233253397</id><published>2009-03-13T10:48:00.000-07:00</published><updated>2009-03-13T10:55:45.250-07:00</updated><title type='text'>JavaEye闲聊客户端（Ruby+Shoes）</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_EXkagovAOWI/SbqeC8FreqI/AAAAAAAAABw/l86xnK_uuJc/s1600-h/59a164c2-bae0-3bc6-b259-700fe78ede1f.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5312732483763796642" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 172px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://3.bp.blogspot.com/_EXkagovAOWI/SbqeC8FreqI/AAAAAAAAABw/l86xnK_uuJc/s400/59a164c2-bae0-3bc6-b259-700fe78ede1f.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;项目地址：&lt;a href="http://javaeye-client-ruby.googlecode.com/svn/trunk"&gt;http://javaeye-client-ruby.googlecode.com/svn/trunk&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;JavaEye Api帮助文档：&lt;a href="http://www.javaeye.com/wiki/JavaEye/1499-javaeye-api-help"&gt;http://www.javaeye.com/wiki/JavaEye/1499-javaeye-api-help&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;EyeShoes-alpha下载地址：&lt;a href="http://hooopo.javaeye.com/topics/download/0fb70f6c-25d9-3ee0-9716-dc157c8151ee"&gt;http://hooopo.javaeye.com/topics/download/0fb70f6c-25d9-3ee0-9716-dc157c8151ee&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;支持Windows系列，Linux，Mac ox等系统。欢迎大家测试~~目前功能还很简单。&lt;/div&gt;&lt;br /&gt;&lt;div&gt;最后，本着无图无真相的原则，传个图片:-)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5680015118290485030-4819679704233253397?l=hooopo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/4819679704233253397/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://hooopo.blogspot.com/2009/03/javaeyerubyshoes.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/4819679704233253397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/4819679704233253397'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/2009/03/javaeyerubyshoes.html' title='JavaEye闲聊客户端（Ruby+Shoes）'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EXkagovAOWI/SbqeC8FreqI/AAAAAAAAABw/l86xnK_uuJc/s72-c/59a164c2-bae0-3bc6-b259-700fe78ede1f.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5680015118290485030.post-3088349668957001214</id><published>2009-03-02T08:02:00.000-08:00</published><updated>2009-03-02T09:20:25.229-08:00</updated><title type='text'>Basic Auth HTTP Request in Ruby</title><content type='html'>&lt;span style="font-family:webdings;"&gt;目前大部分国内微博（mini blog）开放api都是以&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank"&gt;&lt;span style="font-family:webdings;"&gt;HTTP Basic Access Authentication&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:webdings;"&gt;为验证方式。包括饭否，叽歪，甚至JavaEye的闲聊。Twitter现在已经是用OAuth方式认证了。&lt;br /&gt;现总结一下用ruby进行HTTP Basic 认证方法： &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:webdings;"&gt;=============华丽的分割线=================&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;require'net/http'&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;require'base64'&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;url="http://api.javaeye.com/api/auth/verify"&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;user="your_username"&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;password="your_password"&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;basic_str="Basic #{Base64.b64encode(user+":"+password)}"&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;url=URI.parse(url)&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;http=Net::HTTP.new(url.host,url.port)&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;resp=http.get(url.path,{"Authorization"=&gt;basic_str})&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;puts resp.code&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;puts resp.body&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;=============华丽的分割线===========&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;require'net/http'&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#333300;"&gt;&lt;span style="font-family:times new roman;"&gt;url="http://api.javaeye.com/api/auth/verify&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;"&lt;br /&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;url=URI.parse(url)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;Net::HTTP.start(url.host) do http&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;req=Net::HTTP::Get.new(url.path)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;req.basic_auth "usernae","password"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;resp=http.request(req)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;print resp.code,resp.body&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;color:#333300;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#333300;"&gt;==================分割线======================&lt;/span&gt;&lt;br /&gt;3.user open-uri&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#330033;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#33cc00;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5680015118290485030-3088349668957001214?l=hooopo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/3088349668957001214/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://hooopo.blogspot.com/2009/03/basic-auth-http-request-in-ruby.html#comment-form' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/3088349668957001214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/3088349668957001214'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/2009/03/basic-auth-http-request-in-ruby.html' title='Basic Auth HTTP Request in Ruby'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5680015118290485030.post-8584632123518216146</id><published>2009-02-25T22:37:00.000-08:00</published><updated>2009-02-25T22:42:56.110-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twe2 Twitter SMS'/><title type='text'>用Twe2免费接收Twitter短息[译言翻译]</title><content type='html'>&lt;p&gt;2008年8月，Twitter取消了免费的Twitter更新短信提醒服务，仅保留了美国、加拿大和印度。英国用户只能发送，但是不能接收。&lt;a class="bodytag" target="_blank" href="http://www.yeeyan.com/articles/tag/Twe2"&gt;&lt;em&gt;Twe2&lt;/em&gt;&lt;/a&gt;开发者对此感到非常失望，推出了自己的免费服务，你现在就可以用手机接收Twitter更新了，几乎支持所有国家和地区。&lt;/p&gt;  &lt;h2&gt;功能&lt;/h2&gt; &lt;p&gt;在默认状态下，当你在Twitter上收到直接消息或者回复时，&lt;a class="bodytag" target="_blank" href="http://www.yeeyan.com/articles/tag/Twe2"&gt;&lt;em&gt;Twe2&lt;/em&gt;&lt;/a&gt;就会给你发送一条手机短信，为了维持该服务，Twe2在每条短信后边都添加了一条简短广告。&lt;/p&gt; &lt;p&gt;&lt;a class="bodytag" target="_blank" href="http://www.yeeyan.com/articles/tag/Twe2"&gt;&lt;em&gt;Twe2&lt;/em&gt;&lt;/a&gt;的开发者还开发了著名的FriendDeck软件。Twe2增加了很多有趣的功能，比如用户可以通过Twe2定制搜索关键词，一旦你的消息里面出现了关键词，Twe2就会发送短信给你。&lt;/p&gt; &lt;p&gt;为了方便用户管理短信发送更新，用户可以设定通知频率（每小时不超过100条）。&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.readwriteweb.com/images/twe2_settings.png" alt="" width="350" height="218" /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;以下是设定步骤：&lt;/p&gt; &lt;p&gt;1.登录&lt;a class="bodytag" target="_blank" href="http://www.yeeyan.com/articles/tag/Twe2"&gt;&lt;em&gt;Twe2&lt;/em&gt;&lt;/a&gt;网站：&lt;a href="http://www.twe2.com/Default.aspx"&gt;http://www.twe2.com/Default.aspx&lt;/a&gt;，输入Twitter用户名和密码,点击登录（login）：&lt;/p&gt; &lt;a href="http://picasaweb.google.com/lh/photo/6pvsutgr7_zkdJ9ASsHwpA?feat=embedwebsite"&gt;&lt;img style="width: 663px; height: 463px;" src="http://lh6.ggpht.com/_Rhfnx7WEDvE/SZo2o0acZMI/AAAAAAAAORc/2h_-2_tqQ08/s800/1.jpg" alt="" /&gt;&lt;/a&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;2.选择国家，输入手机号，申请确认短信：&lt;/p&gt; &lt;a href="http://picasaweb.google.com/lh/photo/Czx2L3WXWUCrGddrHmWytA?feat=embedwebsite"&gt;&lt;img style="width: 665px; height: 427px;" src="http://lh6.ggpht.com/_Rhfnx7WEDvE/SZo2pKMvkTI/AAAAAAAAORk/86fhssFtqRw/s800/2.jpg" alt="" /&gt;&lt;/a&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;3.输入确认码。&lt;/p&gt; &lt;a href="http://picasaweb.google.com/lh/photo/XLl6dEhs3NOvBULE65Q5bw?feat=embedwebsite"&gt;&lt;img style="width: 666px; height: 394px;" src="http://lh4.ggpht.com/_Rhfnx7WEDvE/SZo2pOU95VI/AAAAAAAAORs/_Dv1Qzt3pQk/s800/3.jpg" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5680015118290485030-8584632123518216146?l=hooopo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/8584632123518216146/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://hooopo.blogspot.com/2009/02/twe2twitter.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/8584632123518216146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/8584632123518216146'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/2009/02/twe2twitter.html' title='用Twe2免费接收Twitter短息[译言翻译]'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_Rhfnx7WEDvE/SZo2o0acZMI/AAAAAAAAORc/2h_-2_tqQ08/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5680015118290485030.post-2244796477148843693</id><published>2009-02-25T21:53:00.000-08:00</published><updated>2009-02-25T22:00:31.315-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby tinyurl api'/><title type='text'>A Small Tinyurl API</title><content type='html'>&lt;pre style="font-weight: bold;" class="note" id="note_27479638_full"&gt;&lt;span style="font-family:times new roman;"&gt;Ruby Code：&lt;br /&gt;&lt;span style="font-style: italic;"&gt;require'cgi'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:times new roman;" &gt;require'open-uri'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:times new roman;" &gt;def get_tiny_url(url)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:times new roman;" &gt;  url=CGI::escape(url)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:times new roman;" &gt;  open("&lt;/span&gt;&lt;a style="font-family: times new roman; font-style: italic;" rel="nofollow" href="http://tinyurl.com/api-create.php?url=" target="_blank"&gt;http://tinyurl.com/api-create.php?url=&lt;/a&gt;&lt;span style="font-style: italic;font-family:times new roman;" &gt;"+url).read&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:times new roman;" &gt;end&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5680015118290485030-2244796477148843693?l=hooopo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/2244796477148843693/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://hooopo.blogspot.com/2009/02/small-tinyurl-api.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/2244796477148843693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/2244796477148843693'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/2009/02/small-tinyurl-api.html' title='A Small Tinyurl API'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5680015118290485030.post-6308261869741344388</id><published>2009-02-25T21:34:00.000-08:00</published><updated>2009-02-25T21:36:10.723-08:00</updated><title type='text'>Google Data On Rails</title><content type='html'>&lt;h2 class="date-header"&gt;Monday, February 23, 2009 at 9:04 AM&lt;/h2&gt;  &lt;p&gt;&lt;span class="byline-author"&gt;Posted by Eric Bidelman, Google Data APIs Team&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"Where's Ruby on the list of &lt;a href="http://ericbidelman:8080/apis/gdata/clientlibs.html"&gt;client libraries&lt;/a&gt;?"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/gdata/articles/gdata_on_rails.html"&gt;&lt;img style="border: 0pt none ; margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 142px;" src="http://4.bp.blogspot.com/_O2Gca6SGnog/SaLZFHcDGaI/AAAAAAAAAEM/jiwWvurGE5Q/s200/dh5rqqc_3c5c446g8_b.png" alt="" id="BLOGGER_PHOTO_ID_5306041992915130786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My colleague Jeff Fisher recently open sourced a &lt;a href="http://code.google.com/p/gdata-ruby-util/"&gt;Ruby utility library&lt;/a&gt; for the Google Data APIs. Mind you, it's not a full-blown client library, but it does handle the fundamentals like authentication and basic XML manipulation using the &lt;a href="http://www.germane-software.com/%7Eser/software/rexml/"&gt;REXML&lt;/a&gt; module.&lt;br /&gt;&lt;br /&gt;We've got a comprehensive &lt;a href="http://code.google.com/apis/gdata/articles/gdata_on_rails.html"&gt;article &lt;/a&gt;and sample application, the &lt;a href="http://doclistmanager.googlecodesamples.com/"&gt;DocList Manager&lt;/a&gt; (&lt;a href="http://code.google.com/p/gdata-samples/source/browse/#svn/trunk/doclist/DocListManager"&gt;full source&lt;/a&gt;), to demonstrate the basics.&lt;br /&gt;&lt;br /&gt;Please visit us in the &lt;a href="http://groups.google.com/group/google-help-dataapi"&gt;Google Data APIs forum&lt;/a&gt; to ask questions or submit feedback.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5680015118290485030-6308261869741344388?l=hooopo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/6308261869741344388/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://hooopo.blogspot.com/2009/02/google-data-on-rails.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/6308261869741344388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/6308261869741344388'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/2009/02/google-data-on-rails.html' title='Google Data On Rails'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_O2Gca6SGnog/SaLZFHcDGaI/AAAAAAAAAEM/jiwWvurGE5Q/s72-c/dh5rqqc_3c5c446g8_b.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5680015118290485030.post-4758778703578112835</id><published>2009-02-25T12:16:00.000-08:00</published><updated>2009-02-25T12:17:21.666-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hooopo'/><title type='text'>Hello Hooopo</title><content type='html'>Hello Hooopo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5680015118290485030-4758778703578112835?l=hooopo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hooopo.blogspot.com/feeds/4758778703578112835/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://hooopo.blogspot.com/2009/02/hello-hooopo.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/4758778703578112835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5680015118290485030/posts/default/4758778703578112835'/><link rel='alternate' type='text/html' href='http://hooopo.blogspot.com/2009/02/hello-hooopo.html' title='Hello Hooopo'/><author><name>Hooopo</name><uri>http://www.blogger.com/profile/00263320486555689002</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://4.bp.blogspot.com/_EXkagovAOWI/SaWn-OpQ47I/AAAAAAAAAAM/sl3iGrR8fJ8/S220/large36936.jpg'/></author><thr:total>1</thr:total></entry></feed>
