« August 2010 | Main | October 2010 »

6 posts from September 2010


Groovy News: Gaelyk 0.5 Released

A major new upgrade was just announced for Gaelyk.  Version 0.5 was released.  New in this release, (which I have copied from the release announcement):

In addition to these new features, the version of Groovy was upgraded to 1.7.5 (including a performance improvement affecting Gaelyk), and some bugs were fixed, like the include and caching combination.

You can download this new version here, and see the release notes:



PubSubHubbub Pings with Groovy!

Yes, the title does look a bit nonsensical but it isn't.  PubSubHubbub is an extension of the Atom and RSS standards, providing a server-to-server, publish/subscribe communications model.  The goal of the protocol is to provide near instantaneous notifications of change updates.  All the major blog platforms utilize pubsubhubbub to inform search engines, feed aggregators, etc., of updates made to sites.  

A server pulling your feed from the site can be configured as a hub.  That server can poll hundreds or thousands of different web site feeds in order to provide a centralized location where clients can pull feeds from.  Since the protocol is open, anyone can operate a hub so you have the theoretical benefit of a highly distributed series of hubs that people can point updates to or pull updates from.  There aren't too many open free hubs at this point--there are several private hubs currently in operation like Superfeedr and DotSpots.  The most well-known open free hub is the PubSubHubbub Reference Server.

The protocol provides a mechanism for registering a feed with a hub so that the hub does not need to waste bandwidth continually polling a site looking for updates.  You do this by declaring a hub inside your feed.  Typically, you would add something like the following to your atom template:

<link rel="hub" href="http://pubsubhubbub.appspot.com/" />

This registers the feed with the hub. With TypePad, all I need to do to ping the hub is publish some content like this article. With the ping, the hub will pull updates from my site and multi-cast them out to all its subscribers.

If you're interested more in what the ping looks like, below is a little script written in groovy, using httpbuilder, which issues an HTTP Post to the PubSubHubbub reference server. The post sends two parameters, "hub.mode" set to "publish" and "hub.url", which is the encoded url of your atom or rss feed. A successful ping is responded to by the hub with a 204 - No Content status code, (finally! a use for 204 status codes! :)

#!/usr/bin/env groovy

import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.ContentType.URLENC

def feedUrl = "http://blog.techstacks.com/atom.xml"
def hubUrl = "http://pubsubhubbub.appspot.com"

def  postBody = [ "hub.mode": 'publish', "hub.url": feedUrl ]

def http = new HTTPBuilder( hubUrl )

http.post( path: '/', body: postBody, requestContentType: URLENC ) { resp ->
  println "Server Response: ${resp.statusLine}"


Techstacks Tools September 2010 Site Update

I just updated the techstacks tools site.  Below is a summary of changes.

Site Wide Changes

  • Site updated to run on Gaelyk 0.4.4
  • Site updated to run with Google App Engine/Java 1.3.7
  • Cleaned up some HTML.  Site is still ugly but I'm slowing changing the look and feel here to match my other techstacks sites.

BadUrlChk Changes:

  • Added two additional URL checks.  Site now checks the same URLs that CryptoNark checks.

Bling Changes:

  • Removed the Moreover XMLRPC ping.  Moreover retired the rpc.moreover.com endpoint, folding it into the rpc.weblogs.com endpoint. 
  • Removed, perhaps temporarily, BlogCatalog's RPC endpoint.  This one has been failing for a while.  Returns a 500 - Server Error whenever I try to POST to it.
  • Added NewsGator.  Although the result says that the Ping Failed, the ping doesn't actually fail.  NewsGator is returning results back in a different XML format from the rest of the services.
  • Fixed the bling.groovy script.  For some wacky reason, I had been setting the blogURL parameter twice in the request.

SMPing Changes:

  • Removed Moreover's sitemap ping service.  It appears as if moreover retired this particular ping service.  SMPing now autopings 4 different search engines simultaneously.