*We had a lot of great reviews on the old ClubReading website. And so those don’t go to waste, (and so we have some fresh content here occasionally), I’m going to post an old review now and again for your reading pleasure. Enjoy!*

["Knots and Crosses"][knots] by [Ian Rankin][IanRankin] is a classic noir crime mystery, set in 1980′s Edinburgh. Ian Rankin’s recurring police detective, John Rebus makes his debut in this story about serial killing and revenge.
John Rebus is a hard-nosed, reclusive cop with a troubling past. Frequently, John’s past haunts him with nightmares and half known truths. But to solve these murders, John will have to confront those nightmares head on.
[knots]: http://clubreadingbooks.com/bookdetail/1990/
[IanRankin]: http://clubreadingbooks.com/browseauthors/1489/
“Knots and Crosses” by Ian Rankin
by bestep on 28. May, 2008 in ClubReading, Reading
Jeeps with 4 doors?
by bestep on 28. May, 2008 in Uncategorized
I’m not comfortable with Jeep’s having 4 doors. And I know…the Cherokee and liberty have 4 doors, but I’m talking about Jeeps…with a capital ‘J’…Wranglers of course. Boy, Jeeps have made a lot of progress over the years; the hard doors, glass windows, easy on/off roofs are all great improvements. But I just can’t get comfortable with the idea of a 4 door jeep.

I hate to admit this, but I’ve even gone so far as shunning them. Like the Harley and other motorcycle riders, there’s a long tradition of ‘acknowledging’ other drivers you pass. Harley riders do a sort of low wave; us Jeeper’s will share a wave or a ‘guy nod’. It’s all about community. Huh – little did I know, there are [Jeep Wave](http://jeeptalk.org/jeep_wave.php) rules.
But should these 4-door ‘Jeep’s’ get waves? I just don’t know.
Well, I’ll get over it. I guess we have to, at times, step aside for progress. Maybe it’s time to start looking at a Prius.
Sigh….
Yep – another distracting (and very funny) video
by bestep on 27. May, 2008 in Uncategorized
This probably wont make any sense unless you have been following the You Look Nice Today podcasts, but this video of lonelysandwich dancing at an airport is priceless! Enjoy!
For more advanced information, How To Dance While Barely Moving: the “Fishstick”
Cory Doctorow and John Scalzi Chat
by bestep on 27. May, 2008 in Writing
Over on his blog, Craphound.com, Cory Doctorow shares a great video, John Scalzi and Cory talking about their latest books…and other things. Check it out.
Weeds!
by bestep on 27. May, 2008 in Uncategorized
I have a lot of weeds this year, and no desire to fuss with them. However, over at This Garden is Illegal, they have some great weed killing tips. Enjoy!
Sammy
by bestep on 26. May, 2008 in Uncategorized
Here’s a YouTube post for today, from one of my favorite performers/singers. Fantastic!
Memorial Day
by bestep on 26. May, 2008 in Uncategorized
The folks over at vfw.org sum it all up, Meaning of Memorial Day. Great job.
Thanks Vets!
RSS feed in Zend Framework
by bestep on 26. May, 2008 in Featured, Programming
Going to get a little geeky here. But I wanted to share a simple, and effective way to create a simple rss feed of content in the Zend Framework.
The new ClubReading site is separated into two parts, the blog, and the books. The books site is now using Disqus for the comments, and so far Disqus is working out great, but that’s a topic for another day. The blog is a wordpress blog. What I wanted to do was display a couple or three of the recently added books from the books site on the sidebar of the ClubReading Blog. My thought was to create a simple rss feed of the most recent books, and use the standard wordpress rss widget to display the feed content in the sidebar. But – how to create the rss feed? Turns out it was pretty simple thanks to a great article by Alex Netkachov called “Syndicate content with Zend Framework Zend_Feed classes”.
What is an RSS feed?
Simply put, RSS, Really Simple Syndication, is a file format. Think of it as a form letter. Like a business letter, because the format is standardized, the reader knows where to find the from address, to address, salutation, content…and so on. An RSS feed does the same thing by taking content and making it available in a standardized format.
What does an RSS feed look like?
RSS feeds are in xml format. XML, or the Extensible Markup Language, presents any type of information within descriptive tags. Tags are closed in <> and can be anything. Don’t confuse the xml tags with html. For example, in html to bold a bit of text, just enclose the text in the <b> tag, for example, <b>Bold</b> is in bold would show in the browser as Bold is in bold. XML tags work the same way, they open and close. So we might have a description tag like this:
<description> Description text </description>
There are several types or standards of RSS feeds. A great place to start is the RSS 2.0 Specification article at Harvard Law. As the article states,
RSS is a dialect of XML. All RSS files must conform to the XML 1.0 specification, as published on the World Wide Web Consortium (W3C) website.
RSS feeds basically consist of a header section that describes the feed, and a repeating section for items or content. So, the first thing I did was create a sample RSS file to work with as a template. I want to feed to show the Book Title, Author and who entered the book. Here’s the sample I came up with:
<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
<channel>
<title>ClubReading Books></title>
<link>http://books.clubreading.com/index/rss</link>
<description>An online community for the avid book lover.></description>
<pubDate>Mon, 26 May 2008 21:28:50 +0000</pubDate>
<generator>Zend Framework Zend_Feed</generator>
<language>en-us</language>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<item>
<title>Clans of the Alphane Moon></title>
<link>http://books.clubreading.com/book/bookdetail/book_id/2582</link>
<guid>http://books.clubreading.com/book/bookdetail/book_id/2582</guid>
<description>by: Philip K. Dick, entered by: Bill Estep></description>
<pubDate>Mon, 26 May 2008 21:28:50 +0000</pubDate>
</item>
</channel>
</rss>
As you can see, the document opens with the <channel> tag and some information about the feed. Then the items repeat in the <item> tag. For my sample document, I only used one item for simplicity.
Creating the RSS feed
The next decision to make was where to put the rss feed code? I made the decision to access the recent books feed from the index controller, so the final url will look like http://books.clubreading.com/index/rss. So, I created a created an empty view field rss.phtml in the application/views/scripts/index folder.
Next, in the IndexController, I added an rssAction function. To keep things simple, all the function needs to do is get a list of recently added books, format the feed data into an array, then dump the feed. Following Alex’s example, here’s what the final action looks like:
function rssAction()
{
// get recent books
$books = Book::recentbooks(3,0);
$baseUrl = 'http://books.clubreading.com';
$tempbook = $books->current();
$pubDate = $tempbook->date_entered;
$feedArray = array(
'title' => 'ClubReading Books',
'link' => 'http://books.clubreading.com/index/rss',
'description' => 'An online community for the avid book lover.',
'language' => 'en-us',
'charset' => 'utf-8',
'pubDate' => $pubDate,
'generator' => 'Zend Framework Zend_Feed',
'entries' => array()
);
foreach ($books as $book) {
$feedArray['entries'][] = array(
'title' => $book->book_title,
'link' => $baseUrl . '/book/bookdetail/book_id/' . $book->book_id,
'guid' => $baseUrl . '/book/bookdetail/book_id/' . $book->book_id,
'description' => 'by: ' . $book->author . ', entered by: ' . $book->entered_by,
'pubDate' => $book->date_entered
);
}
$feed = Zend_Feed::importArray($feedArray, 'rss');
// Not needed - see comments
foreach ($feed as $entry) {
$element = $entry->summary->getDOM();
}
$feed->send();
}
The Result
Well, the new rssAction works like a champ! All that remained was to add the RSS widget to the wordpress sidebar and give it the url to the new rss feed.

I also added a subscribe icon to the Recent Books section of the Books website. After a quick google search, I found Feed Icons, and downloaded the publicly available Mozilla feed icons.
Like most programming adventures, there are as many different ways to implement a solution as there are programmers.
I don’t profess to implement any best practice…or even good code. But this worked for me, and maybe others will find it useful. Overall, a fun learning experience.
Praying For Time
by bestep on 26. May, 2008 in Uncategorized
I saw the performance George M. did on the recent American Idol finale (gotta love youtube). It was, as expected, great. Carrie Underwood covered the song recently at some American Idol event, and the video was good…very good. But this is George’s song…this clip, in my opinion, remains the standard to beat. Enjoy.
Yo! Need a vampire hunter over here!
by bestep on 25. May, 2008 in ClubReading, Reading

Amazon emailed me a couple of days ago to let me know I might like the new Laurell Hamilton book “Blood Noir”. I don’t have the message anymore, but I remember it going something like “You liked Anita Blake in the past, you might like this one. Why not pre-order?” In reality, it said something like “As someone who purchased from the Anita Blake, Vampire Hunter series…”.
Yeah – I did like Anita Blake in the past. The first few books in the series were excellent. Then we went through the courting phase where each book had the worst imaginable, most horrific bad guy that only flittered around the edges of the story till the last few pages, when Anita would stroll in and end the story in some ridiculous fashion, like killing an Aztec god with a pen. Also, the formulaic descriptions start to get annoying. Every character is described over and over by eye color and what they are wearing.
Then, well…the series went down hill fast. Anita stopped doing her job, and started shacking up with half of the male cast, and sleeping with the full male cast. Don’t get me wrong, I’m not a prude, and I think sex can have a great impact on a story, but when that’s all there is, then it gets mundane and trite. Let’s face it…Hamilton is not Harold Robbins.
So, no, I probably wont be enjoying the new Anita Blake book. Sigh…what happened to the Anita of “Guilty Pleasures”. As Hamilton has said in several interviews, she’s writing for her audience. That’s great, and I wish her luck, but I do miss the hard hitting, monsters and gore of the early series.
-
RSS feed in Zend Framework
26. May, 2008
-
ClubReading Facelift
24. May, 2008
-
Authors Play Waldo
01. Mar, 2009
-
Roll Your Characters
01. Jun, 2010
-
Taylor Hicks – Home Run!
09. Apr, 2009
-
Roger Update
28. Jul, 2010
-
Work In Progress
26. Jul, 2010
-
Very Cool!
24. Jul, 2010
-
Naming Things
22. Jul, 2010
-
Evernote Again
20. Jul, 2010
-
Sally Pratt: Looking good!! Thanks for the link on African Vio...
-
Linda: Very cool. Please keep us updated. And please pu...
-
bestep: Yes, he's turned frequently. The growth looks even...
-
Sally Pratt: Are you turning it weekly? It looks very healthy....
-
bestep: lol - well...it doesn't look like he spends a lot ...
Tweets
Photos on flickr
Archives
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008






