PDI^2

Inviare Ping a Technorati in ruby

ruby, blogosfera March 22, 2006 11:35 pm (Save post)

Creare un feed con ruby è di una banalità disarmante, sia creando il file a mano sia utilizzando una delle varie librerie esistenti come RSS::Maker (parte della distribuzione), FeedTools eccetera.

Ma come qualsiasi blogger saprà, un feed che cade in una foresta vuota non fa’ rumore.

Il modo giusto per fare rumore è inviare un ping ai vari servizi di aggregazione/indicizzazione dei blog come Technorati, che è una cosa sorprendentemente semplice, e va fatta usando XMLRPC.
Stamattina mentre prendevo il caffé ho quindi messo insieme questo spezzone di codice che sembra funzionare:


require ‘xmlrpc/client’
Blog =Struct.new(:name, :url) do

  Services= %w{
    http://rpc.pingomatic.com/
    http://ping.blo.gs/
    http://rpc.weblogs.com/RPC2
    http://ping.feedburner.com
    http://api.feedster.com/ping.php
    http://www.syndic8.com/xmlrpc.php

    http://api.my.yahoo.com/RPC2
    http://rpc.technorati.com/rpc/ping
  }
    
  def ping_all(services=Services)
    services.map do |s|

      ping(s)
    end
  end
  
  def ping(service)

      client= XMLRPC::Client.new2(service)
      res = client.call( “weblogUpdates.ping”,name,url )

      raise StandardError.new(res[‘message’]) if res[‘flerror’]

      “ping sent to #{service} succesfully: #{res[’message’]}”
  rescue Exception=>e
      “Unable to ping #{service}: #{e.message}”
  end
end

puts Blog.new(“Il figoso blog di Mario”, “http://mario.com”).ping_all

Il codice è semplice:

  1. Carica la libreria xmlrpc
  2. Crea una classe con due campi, nome del blog ed url. Piuttosto che scrivere la classse da me ho preferito usare Struct.new, che restituisce una classe con campi accessibili per ogni argomento, il corpo del blocco è come se fosse definito nella classe
  3. Crea una lista di servizi a cui inviare un ping, il literal %w{a b c} serve a creare un array i cui elementi sono le stringhe contenute tra i delimitatori ripulite dagli spazi di separazione
  4. Un client viene creato passando l’url del server
  5. vengono catturate le eccezioni, che possono essere errori generici o timeout, e si controlla che il messaggio ricevuto non contenga un error (xmlrpc usa codici di errore embedded )

Niente di strano, insomma, più difficile da spiegare che da scrivere.

Esempio di output:


ping sent to http://rpc.pingomatic.com/ succesfully:
	
Pings being forwarded to 16 services!
	
ping sent to http://ping.blo.gs/ succesfully: 
	
Succeeded.
	
ping sent to http://rpc.weblogs.com/RPC2 succesfully: 
	
Thanks for the ping.
	
ping sent to http://ping.feedburner.com succesfully: 
	
Ok
	
ping sent to http://api.feedster.com/ping.php succesfully: 
	
Thanks for the ping.
	
ping sent to http://www.syndic8.com/xmlrpc.php succesfully: 
	
Thanks for pinging Syndic8
	
ping sent to http://api.my.yahoo.com/RPC2 succesfully: 
	
OK
	
ping sent to http://rpc.technorati.com/rpc/ping succesfully: 
	
Thanks for the ping

Ovviamente c’è il problema che i delay dei vari ping si sommano, la soluzione usando i thread è semplice ma è lasciata come esercizio per il lettore ;)

YADIS 1.0

web, Identity 7:48 pm (Save post)

Io ne parlai tempo fa’, ma sembra che nessun’altro nella blogosfera.it sia stato interessato dalla nascita di YADIS, uno standard aperto, interoperabile, totalmente decentralizzato e soprattutto estensibile per la gestione dell’identità su internet.

YADIS non solo ha il vantaggio di integrare tecnologie esistenti come OpenID, TypeKey e LID, ma anche di essere estensibile, e con già diverse implementazioni.

Tramite YADIS è possibile eliminare tutti quei captcha orrendi, (oltretutto limitanti per (ipo|non)vedenti) e permettere a tutti di commentare sul vostro blog sapendo che si tratta effettivamente di quella persona, non importa quale sia la piattaforma che usate, oltretutto usando il Single Sign On stile MS-passport.

Possiamo tenere traccia della nostra presenza su Internet, unificando gli account su centinaia di servizi differenti, e dimenticare quelle duemila permutazioni di login/email/password che abbiamo lasciato in giro.

La specifica YADIS, che ha appena raggiunto la versione 1.0 (pdf), ha la potenzialità di permettere un salto epocale per il lato sociale di Internet.
È un peccato che come al solito da noi l’idea sembri ancora del tutto ignorata.

Link per imparare il giapponese da italiano

personale, web, studio, italia 10:10 am (Save post)

Listible.com è una figata, non fa altro che aggregare liste di cose.
Devo ammettre che inizialmente non avevo capito a cosa servisse, ora invece lo ritengo un’idea buona se non ottima. Pensandoci bene è una una di quelle da 5 dollari.

Vabè, fatto sta che ho messo su una mia lista personale di risorse online per imparare il giapponese per italiani.

Una lista di risorse di lingua inglese esiste già, ma mettetela come volete, io leggo e scribacchio engrish ma preferisco sempre la mia di lingua, in particolare quando devo sentire cose tipo “japanese is an incredible language, you can actually omit the subject of the sentence and it will be inferred and you can even omit the “ka” for interrogative forms if you use a suitable emphatization” o spiegazioni interminabili su come siano da pronunciare le vocali in giapponese.

Vabè, insomma, se avete qualcosa da parte vi invito ad aggiungerlo alla lista imparare il giapponese.

Get free blog up and running in minutes with Blogsome
Theme designed by Janis Joseph