<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-33817521</id><updated>2012-02-16T02:19:07.980-08:00</updated><category term='pixar'/><category term='picasa'/><category term='blogger'/><category term='javascript'/><category term='java'/><category term='python'/><category term='php'/><category term='bridge'/><category term='rss'/><category term='gdata'/><category term='httplib2'/><category term='blogspot'/><category term='authenticate'/><category term='picasa web'/><category term='youtube'/><category term='YUI'/><category term='api'/><category term='django'/><category term='bunny animation'/><category term='Bookmarks'/><category term='google'/><title type='text'>Timothy Broder</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-33817521.post-4310223275042122591</id><published>2008-05-28T14:32:00.000-07:00</published><updated>2008-05-28T14:31:58.579-07:00</updated><title type='text'>Test from email post</title><content type='html'>Aaaaaaaand?&lt;br&gt;Sent from my Crackberry!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-4310223275042122591?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/4310223275042122591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=4310223275042122591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/4310223275042122591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/4310223275042122591'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2008/05/test-from-email-post.html' title='Test from email post'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-7798783583614570525</id><published>2007-09-29T22:12:00.000-07:00</published><updated>2007-09-29T22:13:30.041-07:00</updated><title type='text'>Ubuntu Gutsy Goes Beta</title><content type='html'>Ubuntu Gutsy Gibbon has gone beta and is on track for its October 18th Release.  So, if you haven't been using it since tribe 2 like me, and want to upgrade from Fiesty Fawn, follow the below steps.
&lt;br&gt;&lt;br&gt;

&lt;ol&gt;
&lt;li&gt;Open a terminal.&lt;/li&gt;
&lt;li&gt;Type &lt;i&gt;update-manager -d&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Follow the instructions&lt;/li&gt;
&lt;/ol&gt;
More information about upgrading can be found &lt;a href="https://help.ubuntu.com/community/GutsyUpgrades"&gt;here&lt;/a&gt;&lt;br&gt;&lt;br&gt;

If you want to upgrade from a cd or do a fresh install, ISOs are available &lt;a href="http://releases.ubuntu.com/releases/7.10/"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-7798783583614570525?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://gpowered.blogspot.com/2007/09/ubuntu-gutsy-goes-beta.html' title='Ubuntu Gutsy Goes Beta'/><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/7798783583614570525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=7798783583614570525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/7798783583614570525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/7798783583614570525'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/09/ubuntu-gutsy-goes-beta.html' title='Ubuntu Gutsy Goes Beta'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-7689790384746561769</id><published>2007-09-18T21:02:00.001-07:00</published><updated>2007-09-18T21:02:26.401-07:00</updated><title type='text'>Rest in Peace Robert Jordan</title><content type='html'>Alas and woes, one of my favorite authors, &lt;a href="http://www.dragonmount.com/RobertJordan/"&gt;Robert Jordan&lt;/a&gt; has passed away.  RJ is the author of the magnificent &lt;a href="http://en.wikipedia.org/wiki/The_Wheel_of_Time"&gt;The Wheel of Time&lt;/a&gt; Series.  The series currently had 11 books plus a prequel.  Jordan was feverishly working on the 12th and final book entitled A Memory of Light.  My old Roommate &lt;a href="http://www.shelfari.com/Kitster"&gt;Kit&lt;/a&gt; got me into it and though I had previously tried the series when I was about 10 I didn't get into it, this time around I instantly fell in love with The Eye of the World (first book).  I put RJ's work on the same level as Tolkien, who is my all time favorite author.  Robert Jordan came to "dominate the world that Tolkien began to reveal to us."  One of the words at the bottom of gpowered.net comes from a reference to the main character, Rand.&lt;br&gt;&lt;br&gt;

RJ, you gave me a great world to escape this one into.  I will miss you dearly.  Rest in Peace and become a Memory of Light.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-7689790384746561769?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://gpowered.blogspot.com/2007/09/rest-in-peace-robert-jordan.html' title='Rest in Peace Robert Jordan'/><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/7689790384746561769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=7689790384746561769' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/7689790384746561769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/7689790384746561769'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/09/rest-in-peace-robert-jordan.html' title='Rest in Peace Robert Jordan'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-3818859452520674139</id><published>2007-08-18T17:18:00.000-07:00</published><updated>2007-08-18T17:24:25.886-07:00</updated><title type='text'>New Site</title><content type='html'>I'm devoting my free dev energies into my new project &lt;a href="http://www.gpowered.net"&gt;gPowered.net&lt;/a&gt; ( Google Powered ) It's about Google code and services and how to use them on your own site.  All my photos and notes etc will be on there.

enjoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-3818859452520674139?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/3818859452520674139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=3818859452520674139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/3818859452520674139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/3818859452520674139'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/08/new-site.html' title='New Site'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-2414334222125211261</id><published>2007-07-30T17:24:00.003-07:00</published><updated>2007-07-30T17:27:38.822-07:00</updated><title type='text'>Hello, world, it is.</title><content type='html'>There we go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-2414334222125211261?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/2414334222125211261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=2414334222125211261' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/2414334222125211261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/2414334222125211261'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/07/hello-world-it-is.html' title='Hello, world, it is.'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-823268957892147271</id><published>2007-07-30T17:24:00.001-07:00</published><updated>2007-07-30T17:24:51.255-07:00</updated><title type='text'>Hello, world!</title><content type='html'>I am on the intarweb!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-823268957892147271?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/823268957892147271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=823268957892147271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/823268957892147271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/823268957892147271'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/07/hello-world.html' title='Hello, world!'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-1899132402948695748</id><published>2007-04-09T20:27:00.000-07:00</published><updated>2007-04-09T20:32:11.332-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='httplib2'/><category scheme='http://www.blogger.com/atom/ns#' term='authenticate'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='rss'/><category scheme='http://www.blogger.com/atom/ns#' term='Bookmarks'/><title type='text'>Grabbing your Google Bookmarks in Python</title><content type='html'>Going to be using this to display my bookmarks as links on my site but... This authenticates and pulls the rss of my google booksmarks.  Can also be used with Google Search History.&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
import httplib2
login = "timothy.broder"
password = ""
url = 'https://www.google.com/bookmarks/?output=rss&amp;num=1000'

h = httplib2.Http()
h.add_credentials(login, password)

resp, content = h.request(url, "POST", body="nt", headers={'content-type':'text/plain'} )

print resp
print content
&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-1899132402948695748?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/1899132402948695748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=1899132402948695748' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/1899132402948695748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/1899132402948695748'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/04/grabbing-your-google-bookmarks-in.html' title='Grabbing your Google Bookmarks in Python'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-3255836587507984065</id><published>2007-04-09T19:38:00.000-07:00</published><updated>2007-04-09T19:47:05.331-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='picasa'/><category scheme='http://www.blogger.com/atom/ns#' term='httplib2'/><category scheme='http://www.blogger.com/atom/ns#' term='gdata'/><category scheme='http://www.blogger.com/atom/ns#' term='picasa web'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Authenticating to Gdata (ex picasa web) in Python</title><content type='html'>So until the python gdata library has picasa web support, the following is a way to authenticate with your google account (for say posting pictures to picasa web. This method is not needed for private albums, you can use the album's authkey instead and save yourself an extra http request)&lt;br /&gt;
&lt;br /&gt;
To start off we'll need some libraries, the login credentials, and the url of a private album (for testing)&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
import httplib2, re
login = 'timothy.broder'
password = 'foo'
url = 'http://picasaweb.google.com/data/feed/api/user/%s/album/MyPrivateAlbum?kind=photo' % login
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Next we'll define the function that does the authentication. This has the url to authenticate against and the header information.  Most of this function is generic depending on which Google service you are connecting to.&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
def authenticate(http):
    auth_url = 'https://www.google.com/accounts/ClientLogin'
    auth_headers = {'Content-Type': 'application/x-www-form-urlencoded'}
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
The next part, the request, can differ depending on service.  The service for picasa web is "lh2"&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
    auth_request = "Email=%s&amp;Passwd=%s&amp;service=lh2" % (login, password)
    response, content = http.request(auth_url, 'POST', body=auth_request, headers=auth_headers)
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Then return if we have successfully authenticated&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
    if response['status'] == '200':
        return re.search('Auth=(\S*)', content).group(1)
    else:
        return None
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
To use this we must get an httplib2 object and try to authenticate&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
http = httplib2.Http()
auth = authenticate(http)
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Then we can test to see if we have authenticated, and grab the private data&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
if auth:
        headers = {'Content-Type': 'application/atom+xml', 'Authorization': 'GoogleLogin auth=%s' % auth.strip()}
        response, content = http.request(url, 'GET', headers=headers)
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Just in case we are fed redirects, we would want to test for these&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
        while response['status'] == '302':
                response, content = http.request(response['location'], 'GET')
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
then we would have the data stored in response.  We could also print out an error if we were unable to login&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
        print response
else:
    print "Unable to Login"
&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a href="http://djcraven.blogspot.com/2006/10/success-posting-to-blogger-beta-using.html"&gt;Reference&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-3255836587507984065?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/3255836587507984065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=3255836587507984065' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/3255836587507984065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/3255836587507984065'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/04/authenticating-to-gdata-ex-picasa-web.html' title='Authenticating to Gdata (ex picasa web) in Python'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-8027296686279875935</id><published>2007-03-27T14:39:00.000-07:00</published><updated>2007-04-02T17:01:13.137-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='picasa'/><category scheme='http://www.blogger.com/atom/ns#' term='YUI'/><category scheme='http://www.blogger.com/atom/ns#' term='django'/><category scheme='http://www.blogger.com/atom/ns#' term='gdata'/><category scheme='http://www.blogger.com/atom/ns#' term='picasa web'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Using Python to display a Picasa Web photo album</title><content type='html'>I came up with this after the picasa gdata feeds came out last Wednesday.  The following is a brief overview of how you can use python to interact with picasa web.  I will be using django to handle passing to the functions, but they should be usable in any python code.&lt;br /&gt;&lt;br /&gt;Edit: decided to try digg&lt;br /&gt;
&lt;script type="text/javascript"&gt;
digg_url = 'http://timothybroder.blogspot.com/2007/03/using-python-to-display-picasa-web.html';
&lt;/script&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
The two main functions we are going to define are album and photo.  The first will generate a list of photos to pick from, and the latter will show the enlarged individual photos.&lt;br /&gt;
&lt;br /&gt;
We'll need to include urllib to get the gdata, and define some variable's we'll need later.  I also create a small Photo class to hold the important data to pass to the page (in my case the view in django)&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
import urllib
rows = 3
cols = 3
per_page = rows * cols
account = "timothy.broder"

class Photo:
  url = ''
  title = ''
  link = ''
  
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
The album method should take the album (name or id, it depends how you build the url request to gdata, I use name. I also store the album information in a database on my site.  This holds the authkeys i would need for a hidden album.  You can store them however you would like.) We would also like to have previous and next buttons on the thumbnail page.  the values of start, next, and prev correspond to the start-index value that we will use on the calls to gdata&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
#get data for per_page photos to show thumbnails
def album(request, album_id, start):
  #get album info out of db
  try:
    a = Album.objects.get(album_id=album_id)
  except Album.DoesNotExist:
    raise Http404

  #get link indices
  start = int(start)
  start = str(start-((start-1)%9))
  next = str(int(start)+per_page)
  prev = str(int(start)-per_page)
  if int(prev) &amp;lt; 0:
    prev = ''
    
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Now its time to build the url call to gdata.  For this example I am sending the authkey in the url.  The other method to get a hidden album (or to write to picasa web) is to authenticate using a google account; check back later on how to do this with regular python as well as with the new gdata python library.&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
if a.authkey:   #is a hidden album, send authkey
    url = 'http://picasaweb.google.com/data/feed/api/user/%s/album/%s?authkey=%s&amp;kind=photo&amp;start-index=%s&amp;max-results=%s' % (account, album_id, a.authkey, start, per_page)
else:
    url = 'http://picasaweb.google.com/data/feed/api/user/%s/album/%s?kind=photo&amp;start-index=%s&amp;max-results=%s' % (account, album_id, start, per_page)
    
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
We will use the minidom implementation which is fairly lightweight.  For a tutorial on minidom check out this &amp;lt;a href="http://developer.yahoo.com/python/python-xml.html"&gt;article&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
  photo_list = []
  dom = minidom.parse(urllib.urlopen(url))
  
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
After we have all the photos we loop through them grabbing any info we might need.&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
  i = 1 #i is used to help calculate next
  for node in dom.getElementsByTagName('entry'):
    photo = Photo()
    photo.url = node.getElementsByTagName('media:group')[0].getElementsByTagName('media:content')[0].getAttribute('url') + '?imgmax=144'
    #photo.title = node.getElementsByTagName('title')[0].firstChild.data
    #photo.link = node.getElementsByTagName('link')[0].getAttribute('href')
    photo_list.append(photo)
    i = i+1
  if i &amp;lt; per_page:
    next = ''
    
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
After we've looped through we have all the data stored that we need:&lt;br /&gt;
rows: # of row's we want&lt;br /&gt;
cols: # of cols we want&lt;br /&gt;
photo_list: list of all important photo data&lt;br /&gt;
per_page: how many thumbnails to use in each page (I send this so theres no calculation in my view)&lt;br /&gt;
next/prev: indices to the previous and next sets of gdata&lt;br /&gt;
start: the current index of gdata&lt;br /&gt;
album_id: the album name (or id) that we are using&lt;br /&gt;
&lt;br /&gt;
Now you have to decide how you want to display the data.  One option is building up the html from within python and returning it to the browser.  The below example is a view for django.  It has the general idea of how to work with the data, just a basic layout using a table and a cell for each thumbnail.&lt;br /&gt;
&lt;br /&gt;
First we'll want to loop through each photo and start adding to the table (along with a link to the full sized photo which we'll build later)&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="xml" cols="20" rows="10"&gt;
{% if photo_list %}
  &amp;lt;table cellPadding="5"&amp;gt;&amp;lt;tr&amp;gt;
    {% for photo in photo_list %}
      &amp;lt;td&amp;gt;
        &amp;lt;a href="/photos/photo/{{ album_id}}/{{ start }}/{{ forloop.counter }}"
         &amp;lt;img src="{{ photo.url }}" border="0"&amp;gt;&amp;lt;/a&amp;gt;

&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Then we check if we should start a new row, and finish off the table&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="xml" cols="20" rows="10"&gt;
        {% if forloop.counter|divisibleby:"3" %}
        &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;
        {% endif %}
    {% endfor %}
  &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;
  
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
What would an album be without navigation?  this is where the prev and next variables  come in.  We use them to pass to our album function to get the previous and next sets of gdata:&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="xml" cols="20" rows="10"&gt;
&amp;lt;br /&amp;gt;
  &amp;lt;br&amp;gt;
  {% if prev %}
    &amp;lt;a href="/photos/album/{{ album_id}}/{{ prev }}/"&amp;gt;Back&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;
  {% endif %}
  &amp;nbsp;&amp;nbsp;&amp;lt;a href="/photos/"&amp;gt;Home&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;
  {% if next %}
    &amp;nbsp;&amp;nbsp;&amp;lt;a href="/photos/album/{{ album_id}}/{{ next }}/"&amp;gt;Next&amp;lt;/a&amp;gt;
  {% endif %}
{% else %}
    &amp;lt;p&amp;gt;Error retrieving photos from picasa&amp;lt;/p&amp;gt;
{% endif %}
&amp;lt;/center&amp;gt;
&lt;br /&gt;
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
This concludes the core functionality our gallery will have.  But... its a little boring. Want to make the images fade as they load? Yes, yes you do.  There are MANY javascript techniques, libraries, modules, etc, for transition and animation effects.  I've chosen to go with YUI (yahoo!) because it's examples are really good and it has a strong user base.  Yahoo also hosts compressed versions of the script files.  We'll need to include yahoo-dom-event and animation.  Include these in the head of your page.&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="xml" cols="20" rows="10"&gt;
&amp;lt;script src="http://yui.yahooapis.com/2.2.0/build/yahoo-dom-event/yahoo-dom-event.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src="http://yui.yahooapis.com/2.2.0/build/animation/animation-min.js"&amp;gt;&amp;lt;/script&amp;gt;

&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Now in order to have access to the thumbnails we must give them an ID.  I've wrapped them in a div below.  The id should be unique so they can fade in on their own as they load.  I've used a built in django property forloop.counter that does the equivalent of looping through a for loop and keeping track of 'i'.  My div's will have an id of thumb1, thumb2, thumb3, etc&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="xml" cols="20" rows="10"&gt;
&amp;lt;div id="thumb{{ forloop.counter }}"&amp;gt;
   &amp;lt;!-- a and img tags here --&amp;gt;
   &amp;lt;!-- inside the img tag, add: onload="fadeIn('thumb{{ forloop.counter }}')" --&amp;gt;
&amp;lt;/div&amp;gt;

&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
And finally some javascript at the bottom of the page.  There are two parts to this. The first, sets the opacity of all the images to 0.  The second is called when the image finishes loading and fades in the image.&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="xml" cols="20" rows="10"&gt;
&amp;lt;script type="text/javascript"&amp;gt;
  for(i=1; i&amp;lt;={{ per_page }}; i++){
    photo = document.getElementById('thumb'+i);
    YAHOO.util.Dom.setStyle(photo, 'opacity', 0);
  }
  
  function fadeIn(id){
    fadeInAnim = new YAHOO.util.Anim(document.getElementById(id), { opacity: {to: 1} }, 1 );
    fadeInAnim.animate();
  }
&amp;lt;/script&amp;gt;

&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
And now the thumbnail page is done.  On to the full sized images!&lt;br /&gt;
&lt;br /&gt;
The photo function is done in a similar manner to the album function.  It uses the same gdata call.  There is a separate call you can make that is specifically for dealing with a single image.  I chose to use this call because I was already keeping track of the indices within the album gdata feed.  In this function call, album_id is the same, start is still where the gdata call for the page that the photo is on came from, inc is the difference between the start and the current image's index. (calculated during the for loop in the view (so start + inc = photo's index in the gdata stream). &lt;br /&gt;
&lt;br /&gt;
So the first step is to grab the gdata&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
def photo(request, album_id, start, inc):
  try:
    a = Album.objects.get(album_id=album_id)
  except Album.DoesNotExist:
    raise Http404

  start = str(int(start)+int(inc)-1)
  if a.authkey:   #is a hidden album, send authkey
    url = 'http://picasaweb.google.com/data/feed/api/user/%s/album/
          %s?authkey=%s&amp;kind=photo&amp;start-index=%s&amp;max-results=1' 
          % (account, album_id, a.authkey, start)
  else:
    url = 'http://picasaweb.google.com/data/feed/api/user/%s/album/
           %s?kind=photo&amp;start-index=%s&amp;max-results=1' 
           % (account, album_id, start)


&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Then we load the gdata into a minidom object&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
       dom = minidom.parse(urllib.urlopen(url))
       u = dom.getElementsByTagName('media:group')[0].getElementsByTagName
     ('media:content')[0].getAttribute('url') + '/foo'
     
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
The next step depends on how big you want to show the photo.  If you want to show them at a width of 800 like I do, then you have to change the URL a little.  Google doesn't seem to like direct linking to photos from other domains, but if you dig into the urls that the 'add to blog' widget uses, you can manipulate the url you have in the gdata.  We need to insert the folder 's800' near the end of the url:&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
       temp = u.split('/')
       l = len(temp)
       temp[l-1] = temp[l-2]
       temp[l-2] = 's800'
       photo.url = '/'.join(temp)
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
Then throw in some logic for the prev / next links to cycle between full sized photos&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="python" cols="20" rows="10"&gt;
  if start == '1' and inc == '1':
    prev = ''
  else:
    if int(inc) == 1:
      inc = '10'
      p_start = str(int(start)-per_page)
    prev = str(int(inc)-1)


  if int(start)+int(inc)-1 &amp;lt; int(total):
    if int(inc) == per_page:
      inc = '0'
      n_start = str(int(start)+1)
    next = str(int(inc)+1)
  else:
    next = ''
    
&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
And we have all the info we need to display: url of full sized image, prev next buttons, the album id, and a way to link back to the page the thumbnail was on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To the view!&lt;br /&gt;
&lt;br /&gt;
We will again be using YUI to fade in the image so we can include the javascript files from the start.  Then the image itself:&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="html" cols="20" rows="10"&gt;
&amp;lt;script src="http://yui.yahooapis.com/2.2.0/build/yahoo-dom-event/yahoo-dom-event.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src="http://yui.yahooapis.com/2.2.0/build/animation/animation-min.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;img src="http://www2.blogger.com/%7B%7B%20photo.url%20%7D%7D" id="image" onload="fadeIn('image')" border="0" /&amp;gt;

&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
And last but not least, the navigation for this page:&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="html" cols="20" rows="10"&gt;
  {% if prev %}
    &amp;lt;a href="/photos/photo/{{ album_id }}/{{ p_start }}/{{ prev }}/"&amp;gt;Back&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;
  {% endif %}
  &amp;nbsp;&amp;nbsp;&amp;lt;a href="/photos/album/{{ album_id }}/{{ start }}"&amp;gt;Up&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;
  {% if next %}
    &amp;nbsp;&amp;nbsp;&amp;lt;a href="/photos/photo/{{ album_id }}/{{ n_start }}/{{ next }}/"&amp;gt;Next&amp;lt;/a&amp;gt;
  {% endif %}

&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
And the same javascript from before&lt;br /&gt;
&lt;br /&gt;
&lt;textarea name="code" class="html" cols="20" rows="10"&gt;
&amp;lt;script type="text/javascript"&amp;gt;
  for(i=1; i&amp;lt;={{ per_page }}; i++){
    photo = document.getElementById('thumb'+i);
    YAHOO.util.Dom.setStyle(photo, 'opacity', 0);
  }
  
  function fadeIn(id){
    fadeInAnim = new YAHOO.util.Anim(document.getElementById(id), { opacity: {to: 1} }, 1 );
    fadeInAnim.animate();
  }
&amp;lt;/script&amp;gt;

&lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
We also could have included more info on the photo, this was just a start.&lt;br /&gt;
&lt;br /&gt;
I hope this helps people use picasa web before a module for it gets added to the new python gdata library.&lt;br /&gt;
Edit: &lt;a href="http://www2.blueplasma.net:8080/photos/album/CruiseUnderwaterCamera2/"&gt;Example&lt;/a&gt;
&lt;br /&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-793489-4";
urchinTracker();
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-8027296686279875935?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/8027296686279875935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=8027296686279875935' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/8027296686279875935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/8027296686279875935'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/03/using-python-to-display-picasa-web.html' title='Using Python to display a Picasa Web photo album'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-7010229076149478618</id><published>2007-01-24T18:28:00.000-08:00</published><updated>2007-04-01T13:37:16.149-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pixar'/><category scheme='http://www.blogger.com/atom/ns#' term='bunny animation'/><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><title type='text'>The Dead Bunny Animation on YouTube</title><content type='html'>I've been meaning to do this myself but Eli beat me to it!  Our Advanced Projects in 3D animation from senior year at RPI has been posted at YouTube.  Eli is trying to get a job in this industry so everyone go take a look at the animation!&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=mOkSQNqE68Q"&gt;http://www.youtube.com/watch?v=mOkSQNqE68Q&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
A cute bunny!!! getting.... well.... just watch ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-7010229076149478618?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/7010229076149478618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=7010229076149478618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/7010229076149478618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/7010229076149478618'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2007/01/dead-bunny-animation-on-youtube.html' title='The Dead Bunny Animation on YouTube'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-1034049050488832713</id><published>2006-10-29T18:24:00.000-08:00</published><updated>2007-03-28T19:28:39.125-07:00</updated><title type='text'></title><content type='html'>Went up to RPI this weekend for the &lt;a href="http://www.headofthefish.com/"&gt;Head of the Fish&lt;/a&gt;.  Was a lot of fun.  Also gave me an excuse to try out picassa web albums and flickr.

:: new post coming ::&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-1034049050488832713?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/1034049050488832713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=1034049050488832713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/1034049050488832713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/1034049050488832713'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2006/10/went-up-to-rpi-this-weekend-for-head-of.html' title=''/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-8803306098580392365</id><published>2006-10-09T14:51:00.000-07:00</published><updated>2006-10-09T14:52:53.760-07:00</updated><title type='text'>Google buys YouTube for $1.65 billion</title><content type='html'>I so want to be one of them right now....

SAN FRANCISCO - Google Inc. is snapping up YouTube Inc. for $1.65 billion in a deal that catapults the Internet search leader to a starring role in the online video revolution.&lt;p class="textBodyBlack"&gt;&lt;span id="byLine"&gt;&lt;/span&gt;The all-stock deal announced Monday unites one of the Internet’s marquee companies with one of its rapidly rising stars. It came just hours after YouTube unveiled three agreements with media companies in an apparent bid to escape the threat of copyright-infringement lawsuits.&lt;/p&gt;&lt;p class="textBodyBlack"&gt;&lt;span id="byLine"&gt;&lt;/span&gt;The price makes YouTube, a still-unprofitable startup, by far the most expensive purchase made by Google during its eight-year history.&lt;/p&gt;&lt;p class="textBodyBlack"&gt;[&lt;a href="http://www.msnbc.msn.com/id/15196982/"&gt;link&lt;/a&gt;]
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-8803306098580392365?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/8803306098580392365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=8803306098580392365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/8803306098580392365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/8803306098580392365'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2006/10/google-buys-youtube-for-165-billion.html' title='Google buys YouTube for $1.65 billion'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-8630429086000528695</id><published>2006-10-04T18:31:00.000-07:00</published><updated>2007-04-01T13:31:05.693-07:00</updated><title type='text'>"the brodermobile has been soooooooooold"</title><content type='html'>Wolfy2985: oh yeah??? to Jon??? lol&lt;br/&gt;
&lt;br/&gt;
HolaRico421: nooooooooooooo!&lt;br/&gt;
HolaRico421: it can't be sold&lt;br/&gt;
Sephroth2k: hahaha&lt;br/&gt;
HolaRico421: did you sell it for a good amount&lt;br/&gt;
Sephroth2k: **&lt;br/&gt;
HolaRico421: damn&lt;br/&gt;
HolaRico421: i would've bought it for that&lt;br/&gt;
Sephroth2k: haha&lt;br/&gt;
&lt;br/&gt;
pseudofunk: NOOOOOOOOOOOOOOOOOOOOOOOOO&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
DoM iNa TiN g17: NO!&lt;br/&gt;
Sephroth2k: haha&lt;br/&gt;
DoM iNa TiN g17: how could you DO that?&lt;br/&gt;
&lt;br/&gt;
c r e pnd e t h9: omg! lol&lt;br/&gt;
&lt;br/&gt;
GodHatesMe84: nooooooooooooo&lt;br/&gt;
&lt;br/&gt;
MobileLALAJI: hahahaha&lt;br/&gt;
&lt;br/&gt;
lizardman45: ?&lt;br/&gt;
lizardman45: i don't remember the brodermobile&lt;br/&gt;
Sephroth2k: the one keri rammed into&lt;br/&gt;
lizardman45: oh, yeah, haha&lt;br/&gt;
&lt;br/&gt;
Sean: I.... am...... genuinly upset....&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-8630429086000528695?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/8630429086000528695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=8630429086000528695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/8630429086000528695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/8630429086000528695'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2006/10/brodermobile-has-been-soooooooooold.html' title='&quot;the brodermobile has been soooooooooold&quot;'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-6206690394915388140</id><published>2006-09-27T19:00:00.000-07:00</published><updated>2006-09-27T19:01:42.601-07:00</updated><title type='text'>Top 10 Web 2.0 sites</title><content type='html'>Well, if i come &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;across&lt;/span&gt; some fun links I'm going to post them here.  This takes a look at 10 popular Web 2.0 sites.  A pretty good read....

&lt;a href="http://wisdump.com/web/top-10-web-20-winners/"&gt;http://wisdump.com/web/top-10-web-20-winners/ &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-6206690394915388140?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/6206690394915388140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=6206690394915388140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/6206690394915388140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/6206690394915388140'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2006/09/top-10-web-20-sites.html' title='Top 10 Web 2.0 sites'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-8384203786327130466</id><published>2006-09-24T14:34:00.000-07:00</published><updated>2007-04-01T13:44:46.635-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='gdata'/><category scheme='http://www.blogger.com/atom/ns#' term='blogspot'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>PHP / Java Bridge + Blogger API</title><content type='html'>So I've been meaning to play around with a &lt;a href="http://php-java-bridge.sourceforge.net/"&gt;PHP / Java Bridge&lt;/a&gt; as well as the &lt;a href="http://code.google.com/apis/gdata/blogger.html"&gt;Blogger API&lt;/a&gt;, so I figured why not to both at the same time.   I have briefly used the &lt;a href="http://dentedreality.com.au/phpatomapi/"&gt;phpatomapi&lt;/a&gt;, which getting to use with the blogger beta is next on my list of things to do (also while i work on blog comments using this bridge).  Also to add to this is being able to display/edit/add comments to the posts displayed.&lt;br /&gt;
&lt;br /&gt;
Below is my proof of concept version I am currently adding more functionality to it.&lt;br /&gt;
&lt;br /&gt;
The Java version of the code is: (.java)&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;String username = &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;String userpass = &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"#"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;String feed = &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"http://beta.blogger.com/feeds/33817521/posts/full"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//long start = System.currentTimeMillis();&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;URL feedUrl = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;URL&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;feed&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;GoogleService myService = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;GoogleService&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"blogger"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"bpr"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//Set up authentication (optional for beta Blogger, required for current Blogger):&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;myService.setUserCredentials&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;username, userpass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//Send the request and receive the response:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Feed myFeed = myService.getFeed&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;feedUrl, Feed.&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//String feedID = myFeed&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;System.out.println&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;myFeed.getTitle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.getPlainText&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;LinkedList entries = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;LinkedList&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;myFeed.getEntries&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;itemsPerPage = myFeed.getItemsPerPage&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Entry entry;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;int &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;i=&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; i&amp;lt;itemsPerPage; i++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;entry = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Entry&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;entries.get&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;System.out.println&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;entry.getId&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;System.out.println&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;entry.getTitle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.getPlainText&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;        &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;System.out.println&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;entry.getPublished&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.toUiString&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;System.out.println&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;entry.getUpdated&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.toUiString&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;TextContent tc = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;TextContent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;entry.getContent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;HtmlTextConstruct ptc = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;HtmlTextConstruct&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;tc.getContent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;System.out.println&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ptc.getHtml&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//Feed Comm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Exception e&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;e.printStackTrace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;The PHP / Java bridge part: &lt;/span&gt;(.php)&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;class &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Blogger &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;implements &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Blog&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$feed;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$itemsPerPage;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$entries;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$entry;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$content;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;private &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$contentHTML;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;function __construct&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$username, $userpass, $feedURL&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$url = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JAVA&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java.net.URL"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, $feedURL&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$service = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JAVA&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"com.google.gdata.client.GoogleService"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"blogger"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"bpr"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$service-&amp;gt;setUserCredentials&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$username, $userpass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;feed = $service-&amp;gt;getFeed&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$url, &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JavaClass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"com.google.gdata.data.Feed"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;itemsPerPage = $this-&amp;gt;feed-&amp;gt;getItemsPerPage&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entries = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JAVA&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java.util.LinkedList"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, $this-&amp;gt;feed-&amp;gt;getEntries&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//set up vars&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entry = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JAVA&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"com.google.gdata.data.Entry"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;content = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JAVA&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"com.google.gdata.data.TextContent"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;contentHTML = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JAVA&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"com.google.gdata.data.HtmlTextConstruct"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;catch &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JavaException $e&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) {&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$exStr = java_cast&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$e, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"string"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;echo &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"Exception occured; mixed trace: $exStr\n"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$trace = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java.io.ByteArrayOutputStream"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$e-&amp;gt;printStackTrace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java.io.PrintStream"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, $trace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;print &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java stack trace: $trace\n"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;function getFeedTitle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java_values&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;feed-&amp;gt;getTitle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;getPlainText&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;function getItemsPerPage&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;itemsPerPage;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;function getEntryTitle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entry = $this-&amp;gt;entries-&amp;gt;get&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;((&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java_values&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entry-&amp;gt;getTitle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;getPlainText&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;function getEntryPublishedDate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entry = $this-&amp;gt;entries-&amp;gt;get&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;((&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java_cast&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entry-&amp;gt;getPublished&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;toUiString&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"string"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;catch &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JavaException $e&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) {&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$exStr = java_cast&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$e, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"string"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;echo &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"Exception occured; mixed trace: $exStr\n"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$trace = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java.io.ByteArrayOutputStream"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$e-&amp;gt;printStackTrace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java.io.PrintStream"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, $trace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;echo &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java stack trace: $trace\n"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;return null&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;function getEntryHTML&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//$content = $entry-&amp;gt;getContent();&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//$contentHTML = $content-&amp;gt;getContent();&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt;//echo java_values($contentHTML-&amp;gt;getHtml()) . "&amp;lt;br&amp;gt;";&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entry = $this-&amp;gt;entries-&amp;gt;get&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;((&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;content = $this-&amp;gt;entry-&amp;gt;getContent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;contentHTML = $this-&amp;gt;content-&amp;gt;getContent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java_values&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;contentHTML-&amp;gt;getHtml&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;function getEntryUpdatedDate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entry = $this-&amp;gt;entries-&amp;gt;get&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;((&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;return &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java_cast&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$this-&amp;gt;entry-&amp;gt;getUpdated&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;toUiString&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"string"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;catch &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JavaException $e&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) {&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$exStr = java_cast&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$e, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"string"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;echo &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"Exception occured; mixed trace: $exStr\n"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$trace = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java.io.ByteArrayOutputStream"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$e-&amp;gt;printStackTrace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java.io.PrintStream"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, $trace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;echo &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"java stack trace: $trace\n"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;      &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;return null&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;And the calling part: &lt;/span&gt;&lt;span&gt;(.php)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(0, 0, 0);"&gt;$bpr = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new &lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;BPR&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(0, 0, 0);"&gt;$blogger = $bpr-&amp;gt;getBlogger&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"#"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"http://beta.blogger.com/feeds/33817521/posts/full"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(0, 0, 0);"&gt;echo &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"Blog Title: " &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. $blogger-&amp;gt;getFeedTitle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;() &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"&amp;lt;br&amp;gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(0, 0, 0);"&gt;$itemsPerPage = $blogger-&amp;gt;getItemsPerPage&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i=&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; $i&amp;lt;$itemsPerPage; $i++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;){&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;echo $blogger-&amp;gt;getEntryTitle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;" (" &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. $blogger-&amp;gt;getEntryPublishedDate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;" | " &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. $blogger-&amp;gt;getEntryUpdatedDate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.  &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;")&amp;lt;br&amp;gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;echo $blogger-&amp;gt;getEntryHTML&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;$i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"&amp;lt;br&amp;gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(255, 255, 255);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;echo &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"&amp;lt;br&amp;gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Once I have  more data in my blog i can run some timing tests&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-8384203786327130466?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/8384203786327130466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=8384203786327130466' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/8384203786327130466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/8384203786327130466'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2006/09/php-java-bridge-blogger-api.html' title='PHP / Java Bridge + Blogger API'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33817521.post-115733036236628364</id><published>2006-09-03T17:36:00.000-07:00</published><updated>2006-09-03T17:39:22.376-07:00</updated><title type='text'>New blog</title><content type='html'>So I had an older blog on blogspot a while back under SEPHROTH64 but I can't remember the login for it.  I sent a request for my password so when i get that i will move the posts over to this one.

My desktop is now running gentoo (AMD64) and currently with KDE.   Im working on getting XGL to work.  For those of you who don't know what XGL is check out &lt;a href="http://www.youtube.com/watch?v=lawkc3jH3ws"&gt;this video&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33817521-115733036236628364?l=timothybroder.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://timothybroder.blogspot.com/feeds/115733036236628364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33817521&amp;postID=115733036236628364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/115733036236628364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33817521/posts/default/115733036236628364'/><link rel='alternate' type='text/html' href='http://timothybroder.blogspot.com/2006/09/new-blog.html' title='New blog'/><author><name>Tim Broder</name><uri>http://www.blogger.com/profile/05194025329692952490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/_Ng3QbVQfLZ8/Sl8iJJh8GYI/AAAAAAAAddQ/45VS1e1hprk/S220/4426_538399042016_17500954_31794138_2049603_n.jpg'/></author><thr:total>0</thr:total></entry></feed>
