« Testing for Trace and Track | Main | New Release: CryptoNark v0.3 - Less Crypto, More Nark! »

11/07/2009

Another Bling Release: v0.4.1 - So Long, Technorati

I'm releasing a new version of Bling.  The only change is the removal of the Technorati ping, since this doesn't work any more.  

According to their developer page, all (all?) previously published developer APIs ceased being available on October 25th, 2009.  Now I am sure that many of you running blogs out there were able to get some useful and interesting data from these APIs and maybe some of you are even bummed that they are gone but there is at least one bitter semi-professional blogger contributing posts on this site who still hasn't been able to attract Technorat's spider, let alone the attention of their support staff.  

Back when this site first went live, the first thing I learned as a budding new blogger was to get listed on Technorati.  **Everyone** who had a blog needed to be listed on Technorati.  Tagging your pages with Technorati-specific links was one of the first things you were supposed to do.  Heck, people even developed lots of cool widgets and applications that would create those tags for you.  Technorati had ping buttons available everywhere.  Then something happened.  Sometime within the last 18 months or so, Technorati started experiencing lots and lots of problems.  Blog claims wouldn't work.  Searching would fail.  You couldn't even load your profile at times.  What I suspect that happened was that instead of confessing to twitter-like outages and documenting every little thing on some Technorati status site, Technorati stayed online by ignoring the small sites.  Support requests would go unanswered.  Pings, although accepted, would never result in an actual crawl by their searchbot.  Then a couple months ago, a new Technorati launches. Pings don't work.  APIs are deprecated and then retired wholesale.  The new site does...something.

If anyone hits this page via search engine query and you are trying to find out if Technorati works any more, the answer from me is "No.  It doesn't work.  It never really worked for me.  My site profile never updated.  I never saw their crawler unless I deleted and recreated my blog claim.  I would almost state that for all I know, my Technorati listing is actually hurting me but I won't because I really have no clue what they do.  I'm not even sure why I'm still tagging my pages with technorati tags.  Why am I doing this?"

WasaLive and BlogBuzzMachine may have to go to in the near future.  The two of them worked great until I released v0.3 and I guess they weren't ready for the 10's (yes, I meant "tens") of new bloggers running xmlrpc pings with this script.  Although truthfully, I need to add a debug option to the script in order to display the raw output for failed pings to really see why they are failing.

The new version is available on the downloads page.  The main bling page has been updated as well.   The full source is available in the download (which mostly includes lots and lots of comments).  The source, without the 60+ lines of comments documenting change history at the beginning of the script, is below:

#!/usr/bin/env groovy

import groovy.net.xmlrpc.*
import groovy.util.slurpersupport.GPathResult

// You'll want to make this next section your own
def blogTitle = "YOUR_BLOG_TITLE_HERE"
def blogURL = "YOUR_BLOG_URL_HERE"

// Set up a map (hash) of popular rpc endpoints
// It is too bad for my syntax highlighter, but some of 
// the blogs containing periods in their names required
// placing them in quotes. 

def trackbacks = [
 Google:'http://blogsearch.google.com/ping/RPC2',
 Weblogs:'http://rpc.weblogs.com/RPC2',
 FeedBurner:'http://ping.feedburner.com/',
 Moreover:'http://api.moreover.com/RPC2',
 Syndic8:'http://ping.syndic8.com/xmlrpc.php' ,
 BlogRolling:'http://rpc.blogrolling.com/pinger/',
 NewsGator:'http://services.newsgator.com/ngws/xmlrpcping.aspx',
 Bloglines:'http://www.bloglines.com/ping',
 'Blo.gs':'http://ping.blo.gs/',
 BlogCatalog:'http://rpc.blogcatalog.com/',
 PubSub:'http://xping.pubsub.com/ping/',
 'MyBlog.jp':'http://ping.myblog.jp/',
 Goo:'http://blog.goo.ne.jp/XMLRPC',
 BlogPeople:'http://www.blogpeople.net/servlet/weblogUpdates',
 Twingly:'http://rpc.twingly.com/',
 Spinn3r:'http://rpc.spinn3r.com/open/RPC2',
 PostRank:'http://api.postrank.com/v2/ping',
 WasaLive:'http://www.wasalive.com/ping/',
 BlogBuzzMachine:'http://rpc.blogbuzzmachine.com/RPC2',
 IceRocket:'http://rpc.icerocket.com:10080/',
 FeedBlitz:'http://www.feedblitz.com/f/f.fbz?XmlPing',
 ]

// Set up canned responses to make the outputted responses nicer.
// Previously, the output used the literal response from the endpoint
// which did not look all that nice in a terminal window.
def weal = "Thanks for the ping!"
def woe = "PING ATTEMPT FAILED."

// IceRocket is separate because their ping method call
// is different from everyone else's--go figure...


// Here is the section responsible for iterating through each ping
// url in the trackbacks map.

println "====PING RESULTS===="

trackbacks.each {
 try{
  def url = it.value
  def proxy = new XMLRPCServerProxy(url)
  response = proxy.weblogUpdates.ping(blogTitle, blogURL)
   response.data instanceof GPathResult

  if (!response.flerror)
    println " ${it.key}".padRight(25) + "${weal}"
   else
    println " ${it.key}".padRight(25) + "${woe}"

  }catch(ConnectException ex) {
   println " ${it.key}".padRight(25) + "${woe}"   
  }catch(IOException ex){
   println " ${it.key}".padRight(25) + "${woe}"
  }
}
println "===================="

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a01156fbc6fe6970c0120a6614612970b

Listed below are links to weblogs that reference Another Bling Release: v0.4.1 - So Long, Technorati:

Comments