<?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-8724246194944414632</id><updated>2011-09-14T23:47:52.751+02:00</updated><title type='text'>Superfluo</title><subtitle type='html'>di quel che non c'è si fa senza</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.superfluo.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default'/><link rel='alternate' type='text/html' href='http://blog.superfluo.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nicola Piccinini</name><uri>http://www.blogger.com/profile/04801428938674092365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8724246194944414632.post-8254895733279404927</id><published>2011-09-14T23:37:00.004+02:00</published><updated>2011-09-14T23:45:18.468+02:00</updated><title type='text'>Oh XPATH</title><content type='html'>you are so cool.&lt;br /&gt;&lt;br /&gt;&lt;pre class="console"&gt;&lt;br /&gt;require 'rubygems'&lt;br /&gt;gem 'nokogiri'&lt;br /&gt;require 'nokogiri'&lt;br /&gt;&lt;br /&gt;xml = &lt;&lt;-EOXML&lt;br /&gt;&amp;lt;doc&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;&lt;br /&gt;    &amp;lt;name&amp;gt;Pippo&amp;lt;/name&amp;gt;&lt;br /&gt;    &amp;lt;com&amp;gt;&lt;br /&gt;      &amp;lt;type&amp;gt;phone&amp;lt;/type&amp;gt;&lt;br /&gt;      &amp;lt;value&amp;gt;12345&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/com&amp;gt;&lt;br /&gt;     &amp;lt;com&amp;gt;&lt;br /&gt;      &amp;lt;type&amp;gt;fax&amp;lt;/type&amp;gt;&lt;br /&gt;      &amp;lt;value&amp;gt;67890&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/com&amp;gt;&lt;br /&gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/doc&amp;gt;&lt;br /&gt;EOXML&lt;br /&gt;&lt;br /&gt;doc = Nokogiri::XML(xml)&lt;br /&gt;ps = doc.xpath('//p')&lt;br /&gt;&lt;br /&gt;@p = ps.first&lt;br /&gt;def take field&lt;br /&gt;  @p.at_xpath("./com[type[text()='#{field}']]/value").text&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;puts "phone: #{take :phone}"&lt;br /&gt;puts "fax:   #{take :fax}"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="console"&gt;&lt;br /&gt;$ ruby nokogiri-xpath.rb &lt;br /&gt;phone: 12345&lt;br /&gt;fax:   67890&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/8724246194944414632-8254895733279404927?l=blog.superfluo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.superfluo.org/feeds/8254895733279404927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.superfluo.org/2011/09/oh-xpath.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/8254895733279404927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/8254895733279404927'/><link rel='alternate' type='text/html' href='http://blog.superfluo.org/2011/09/oh-xpath.html' title='Oh XPATH'/><author><name>Nicola Piccinini</name><uri>http://www.blogger.com/profile/04801428938674092365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8724246194944414632.post-485486421450328258</id><published>2011-08-31T22:13:00.003+02:00</published><updated>2011-08-31T22:22:06.600+02:00</updated><title type='text'>rvm and ree 1.8.7 on wheezy</title><content type='html'>(actually it is on Linux Mint Debian, but should be the same afaik)&lt;br /&gt;&lt;br /&gt;so you want to do this:&lt;br /&gt;&lt;a href="http://digitaldisorder.posterous.com/ruby-rvm-and-debian-sid-problems"&gt;http://digitaldisorder.posterous.com/ruby-rvm-and-debian-sid-problems&lt;/a&gt;&lt;br /&gt;but for ree 1.8.7?&lt;br /&gt;&lt;br /&gt;Then here is the &lt;a href="http://superfluo.org/rvm_ree-1.8.7.patch"&gt;patch&lt;/a&gt; for you.&lt;br /&gt;&lt;br /&gt;Notes:&lt;br /&gt;&lt;br /&gt;* patch built with&lt;br /&gt;diff -crB&lt;br /&gt;and edited manually&lt;br /&gt;&lt;br /&gt;* rvm puts sources in ~/.rvm/src&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8724246194944414632-485486421450328258?l=blog.superfluo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.superfluo.org/feeds/485486421450328258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.superfluo.org/2011/08/rvm-and-ree-187-on-wheezy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/485486421450328258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/485486421450328258'/><link rel='alternate' type='text/html' href='http://blog.superfluo.org/2011/08/rvm-and-ree-187-on-wheezy.html' title='rvm and ree 1.8.7 on wheezy'/><author><name>Nicola Piccinini</name><uri>http://www.blogger.com/profile/04801428938674092365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8724246194944414632.post-2189248334908049873</id><published>2011-08-27T00:15:00.001+02:00</published><updated>2011-08-27T00:18:16.238+02:00</updated><title type='text'>Unexpected offering order for ssh keys on Linux Mint Debian</title><content type='html'>I've many different ssh keys in &lt;span style="font-style: italic;"&gt;~/.ssh&lt;/span&gt;, which I used happily through &lt;span style="font-style: italic;"&gt;.ssh/&lt;/span&gt;&lt;span style="font-style: italic;" role="menuitem" tabindex="-1" id="1.sc" class="ew"&gt;config&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;-i&lt;/span&gt; option on Debian Lenny.&lt;br /&gt;&lt;br /&gt;Recently  I've installed Linux Debian Mint and I was no longer able to access  some hosts. The reason was that ssh is offering all the keys in &lt;span style="font-style: italic;"&gt;~/.ssh&lt;/span&gt;  without giving precedence to the specified key. So, ssh may disconnect  for "Too many authentication failures" if the right key happens to be at  the bottom of the list.&lt;br /&gt;&lt;br /&gt;My &lt;span role="menuitem" tabindex="-1" id="2.sc" class="ev"&gt;workaround&lt;/span&gt; was to move most keys in another directory, and update &lt;span style="font-style: italic;"&gt;.ssh/&lt;/span&gt;&lt;span style="font-style: italic;" role="menuitem" tabindex="-1" id="3.sc" class="ew"&gt;config&lt;/span&gt; and scripts accordingly.&lt;br /&gt;It works but I'm not fully satisfied with it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8724246194944414632-2189248334908049873?l=blog.superfluo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.superfluo.org/feeds/2189248334908049873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.superfluo.org/2011/08/unexpected-offering-order-for-ssh-keys.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/2189248334908049873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/2189248334908049873'/><link rel='alternate' type='text/html' href='http://blog.superfluo.org/2011/08/unexpected-offering-order-for-ssh-keys.html' title='Unexpected offering order for ssh keys on Linux Mint Debian'/><author><name>Nicola Piccinini</name><uri>http://www.blogger.com/profile/04801428938674092365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8724246194944414632.post-2599301111035094290</id><published>2010-09-03T09:40:00.003+02:00</published><updated>2010-09-03T10:06:41.388+02:00</updated><title type='text'>EC2 and its goodness</title><content type='html'>Recently, together with my favourite system administrator &lt;a href="http://baldowl.github.com/2010/07/26/automation-everywhere.html"&gt;Emanuele&lt;/a&gt;, I had the occasion to migrate a small size structure to &lt;a href="http://aws.amazon.com/ec2/"&gt;EC2&lt;/a&gt;. Actually Emanuele did most of the work but I believe my contribute was important too :-) .&lt;br /&gt;&lt;br /&gt;We wanted to keep the base costs as low as possible and, at the same time, have a system able to scale on traffic peaks. Moreover we wanted a system easy to upgrade and adapt to the changing requirements.  Not much original indeed.&lt;br /&gt;&lt;br /&gt;I believe that the final result is quite interesting and I want to summarize it here.&lt;br /&gt;&lt;br /&gt;We have an &lt;a href="http://aws.amazon.com/elasticloadbalancing/"&gt;ELB&lt;/a&gt; and a main instance behind it. The instance is able to serve the web sites alone but when necessary the system can add additional application servers to help it.&lt;br /&gt;&lt;br /&gt;System configuration is done with &lt;a href="http://www.opscode.com/chef"&gt;chef&lt;/a&gt; and &lt;a href="http://auser.github.com/poolparty/"&gt;poolparty&lt;/a&gt; so we can terminate it and create a new one in minutes. That's especially useful to create a temporary staging environment to test new upgrades.&lt;br /&gt;Applications deployments is done in the same way and we can host many distinct applications on the same cloud.&lt;br /&gt;&lt;br /&gt;Scaling triggers didn't fulfill well our requirements, so we fall back implementing a monitor script that leverages &lt;a href="http://aws.amazon.com/autoscaling/"&gt;AWS service&lt;/a&gt; and controls how we scale up and down the system. This script allows us non-linear scaling (i.e. scaling up or down a variable number of instances depending on situation) and to consider many metrics in scaling conditions.&lt;br /&gt;&lt;br /&gt;Although AWS has added &lt;a href="http://developer.amazonwebservices.com/connect/ann.jspa?annID=624"&gt;support for configurable reverse DNS records&lt;/a&gt; since March 2010 we still think it is advantageous to delegate emails delivery to &lt;a href="http://www.google.com/apps/"&gt;Google Apps&lt;/a&gt;. Postfix relays outgoing emails to Google smtp servers using the credentials associated to the sender of the message.&lt;br /&gt;To cope with Google Apps limits we record the number of messages sent by an address and we can switch to another address of the same type in case we reach a predefined quota. For example we can send thousand messages with &lt;span style="font-style: italic;"&gt;no-reply@example.org&lt;/span&gt; and then send other thousand messages with &lt;span style="font-style: italic;"&gt;no-reply1@example.org&lt;/span&gt; and so on.&lt;br /&gt;&lt;br /&gt;To speed up the initialization of a new application server we can create and use a custom AMIs which are almost ready to run. That doesn't conflict with chef which is able to skip already done&lt;br /&gt;configuration steps and to quickly complete the setup.&lt;br /&gt;Updating the auto-scaling group in order to use the new AMI is a bit tricky but can be done without affecting the production system or the ELB and related CNAME DNS records.&lt;br /&gt;&lt;br /&gt;System backups are based on &lt;a href="http://aws.amazon.com/ebs/"&gt;EBS&lt;/a&gt; snapshots. We create monthly, weekly, daily and 3-hourly snapshots and we prune the oldest ones of any type independently.&lt;br /&gt;&lt;br /&gt;That's all folks, add a comment if you want to know more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8724246194944414632-2599301111035094290?l=blog.superfluo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.superfluo.org/feeds/2599301111035094290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.superfluo.org/2010/09/ec2-and-its-goodness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/2599301111035094290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/2599301111035094290'/><link rel='alternate' type='text/html' href='http://blog.superfluo.org/2010/09/ec2-and-its-goodness.html' title='EC2 and its goodness'/><author><name>Nicola Piccinini</name><uri>http://www.blogger.com/profile/04801428938674092365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8724246194944414632.post-5073963264164719174</id><published>2010-06-26T00:02:00.004+02:00</published><updated>2010-06-26T00:21:47.608+02:00</updated><title type='text'>Twitter XAuth for Ruby scripts</title><content type='html'>This post explains very well what is going on:&lt;br /&gt;&lt;a href="http://www.reynoldsftw.com/2010/03/using-xauth-an-alternate-oauth-from-twitter/"&gt;http://www.reynoldsftw.com/2010/03/using-xauth-an-alternate-oauth-from-twitter/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, if you have a script to post to Twitter everytime an item is added in your Ruby CMS, you are wondering how to apply what Steve Reynolds suggests, aren't you?&lt;br /&gt;&lt;br /&gt;1. register a Twitter application,&lt;br /&gt;2. ask Twitter team to enable XAuth in such application. They'll enable it for a limited period of time.&lt;br /&gt;3. use XAuth to create as many OAuth access tokens you need:&lt;br /&gt;&lt;pre class="console"&gt;require 'oauth'&lt;br /&gt;consumer = OAuth::Consumer.new consumer_key, consumer_secret, {:site =&gt; 'https://api.twitter.com'}&lt;br /&gt;hash.each do |k, v|&lt;br /&gt; puts k&lt;br /&gt; begin&lt;br /&gt;   token =  consumer.get_access_token(nil, {},&lt;br /&gt;     :x_auth_username =&gt; v[:username], :x_auth_password =&gt; v[:password], :x_auth_mode =&gt; client_auth')&lt;br /&gt;   puts %Q(&lt;br /&gt;     :oauth_access_token =&gt; '#{token.token}',&lt;br /&gt;     :oauth_access_secret =&gt; '#{&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;token&lt;/span&gt;.secret}'&lt;br /&gt;   )&lt;br /&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;rescue&lt;/span&gt;&lt;br /&gt;   &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;puts&lt;/span&gt; "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;exception&lt;/span&gt;: #{$!.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;message&lt;/span&gt;}"&lt;br /&gt; end&lt;br /&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;puts&lt;/span&gt; '-----'&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;4. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;store&lt;/span&gt; the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;tokens&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;everywhere&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;you&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;like&lt;/span&gt; (I &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;casted&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;them&lt;/span&gt; in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;an&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;initializers&lt;/span&gt;)&lt;br /&gt;5. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;initialize&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;your&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Twitter&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;client&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;using&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;OAuth&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;and&lt;/span&gt; the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;stored&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;tokens&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;for&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;example&lt;/span&gt;:&lt;br /&gt;&lt;pre class="console"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;auth&lt;/span&gt; = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Twitter&lt;/span&gt;::&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;OAuth&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;new&lt;/span&gt;(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;consumer&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;key&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;consumer&lt;/span&gt;_secret)&lt;br /&gt;auth.authorize_from_access(@opts[:oauth_access_token], @&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;opts&lt;/span&gt;[:&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;oauth&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;access&lt;/span&gt;_secret])&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;twitter&lt;/span&gt; = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;Twitter&lt;/span&gt;::Base.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;new&lt;/span&gt;(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;auth&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/8724246194944414632-5073963264164719174?l=blog.superfluo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.superfluo.org/feeds/5073963264164719174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.superfluo.org/2010/06/twitter-xauth-for-ruby-scripts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/5073963264164719174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/5073963264164719174'/><link rel='alternate' type='text/html' href='http://blog.superfluo.org/2010/06/twitter-xauth-for-ruby-scripts.html' title='Twitter XAuth for Ruby scripts'/><author><name>Nicola Piccinini</name><uri>http://www.blogger.com/profile/04801428938674092365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8724246194944414632.post-6142635509117344655</id><published>2010-04-06T11:46:00.001+02:00</published><updated>2010-04-06T11:46:53.384+02:00</updated><title type='text'>Ready</title><content type='html'>I don't have much motivation and time to blog but at least the blog is ready :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8724246194944414632-6142635509117344655?l=blog.superfluo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.superfluo.org/feeds/6142635509117344655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.superfluo.org/2010/04/ready.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/6142635509117344655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8724246194944414632/posts/default/6142635509117344655'/><link rel='alternate' type='text/html' href='http://blog.superfluo.org/2010/04/ready.html' title='Ready'/><author><name>Nicola Piccinini</name><uri>http://www.blogger.com/profile/04801428938674092365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
