32 posts categorized "frippery"


Apache 4.0 Roller- Beginner's Guide Available on Amazon

This is the next book that I want to get because this is the software that got me interested in blogging in the first place and this is the software I ultimately want to run my blog on when (if?) I ever start self-hosting.  Roller is pretty cool as a blogging platform because it integrates so many other Apache Software Foundation technologies that interest me (Velocity, Lucene, Derby, etc). For me though, the learning curve seemed a little high and I am very glad that Alfonso Romero has published this book. I was also happy to see that he runs a Roller-based blog with articles geared towards beginning and intermediate-level users of Roller.

The following text about the new book is from the Publisher:

Apache Roller enables you to build a fully-featured, multi-user blog server apt for all kinds of blogging sites. It is an ideal tool to create your own blogging network with unlimited users and blogs, forums, photo galleries, and more! While it is exciting to have a list of interesting features it can offer you, it might be a little difficult to get started with it by your self.

This book will teach you how to get started with Apache Roller and make the most of all its features using step-by-step, detailed instructions. You will learn how to establish your internet presence with an Apache Roller blog and use the latest web tools to enhance your posts and attract visitors. You will also learn how to promote your blog on popular social bookmarking services and customize it to suit your need.

This hands-on and practical book introduces you to Apache Roller. Starting off with the configuration and installation of your own blog, you'll then quickly learn how to add interesting content to your blog with the help of plenty of examples. You'll also learn how to change your blog's visual appearance with the help of Roller themes and templates and how to create a community of blogs for you and your colleagues or friends in your Apache Roller blog server. The book also looks at ways you can manage your community, and keep your site safe and secure, ensuring that it is a spam-free, enjoyable community for your users.

Buy the Apache Roller 4.0 Beginner's Guide book on Amazon.


Sun Publishes Glassfish vs. JBoss Comparison Guide

Poor Redhat.  First SpringSource declares war and now Sun is joining in.  Today Sun made available a 14 page Glassfish vs. JBoss Comparison Guide, (Sun login required to download).  Check it out.  It actually makes for pretty interesting reading and if I was eager to see Redhat/JBoss's response to SpringSource, they've now got me besides myself with excitement waiting to hear how they respond to both SpringSource and Sun!  It's going to be epic!!


Does Technorati Work Any More?

If I ever need to know when I switched this blog over to its present-day domain name of 'blog.techstacks.com', Technorati has a great service for small-time bloggers like me called "Last Ping".  Last Ping, gives you the number of days since you last pinged technorati telling their crawlers that you have published or posted something new on your blog.  

As of the time of this writing, even though I ping technorati EVERY TIME I post something new or update something on the site, Last Ping is always there ready to let me know that it has been 185 days since my last ping (and counting!).  185 days ago is when I switched domain names from 'allsortsandnotions.blogspot.com' to 'blog.techstacks.com'.  

It's almost cruel.  It doesn't seem to matter where or how I ping.  Ping from their "Ping Us" page:  "Thanks for the ping!  You last pinged us 185 days ago!"  Ping through Ping-O-Matic?  "Ping sent!"  I've written this primitive groovy script below that pings using their XML-RPC API.  "Thanks for the Ping!" 

#!/usr/bin/env groovy

import groovy.net.xmlrpc.*

def server = new XMLRPCServerProxy("http://rpc.technorati.com/rpc/ping")

def result = server.weblogUpdates.ping("blogging techstacks" , "http://blog.techstacks.com/")

if (result != null)
 println "Thanks for the ping!" 
And still, Last Ping is always there to remind me that all my subsequent ping attempts are really cute and funny.  So, I have written a new script for other bloggers out there called "Last Ping" that logs into Technorati and reminds you how long it has been since your last worthy ping.  Uses Perl and the WebService::Technorati module, (gosh--CPAN really does have everything).  This script is a real time-saver!  Below is the source code and it may soon wind up available for download on the Downloads page.  Update:  Technorati API calls began failing on October 25th, 2009, due to the launch of the 'new' Technorati, so this script has been removed from the Downloads page.  Plug in your blog url and your technorati api key in the corresponding $url and $apikey variables and you too can see at a glance when your last 'real' ping was received.  Output for me is as follows:

    The last compelling thing I wrote was on: 2009-01-20 06:56:38 GMT

Perl and Groovy Source:

#!/usr/bin/env perl

use strict;
use warnings;

use WebService::Technorati;

my $apikey = 'enter_your_API_KEY_here';
my $url = 'your_BLOG_URL_goes_here';
my $t = WebService::Technorati->new( key => $apikey );
my $q = $t->getBloginfoApiQuery($url);

my $lastping = $q->getSubjectBlog();
print "The last compelling thing I wrote was on: " . $lastping->{lastupdate} . "\n";

I'm hoping that soon Technorati will build some web services out of their support site so that I can then script something that will track how long it has been since I opened my first and second cases with them about this particular issue and maybe even calculate the delta between the case open date and a response.

The groovy version of the script above is:

#!/usr/bin/env groovy

import groovyx.net.http.RESTClient
import groovy.util.slurpersupport.GPathResult
import static groovyx.net.http.ContentType.*

client = new RESTClient( 'http://api.technorati.com/bloginfo?key=INSERT_YOUR_API_KEY_HERE&url=INSERT_YOUR_URL_HERE' )

resp = client.get( contentType:XML, headers: [Accept: 'application/xml'] )
  resp.data instanceof GPathResult

println "The last compelling thing I wrote was on: ${resp.data.document.result.weblog.lastupdate}"