<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rayhan's blog (raynux.com) &#187; Web Services</title>
	<atom:link href="http://raynux.com/blog/tag/web-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://raynux.com/blog</link>
	<description>Rayhan's Personal Web Blog Site</description>
	<lastBuildDate>Fri, 16 Oct 2009 06:07:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>I-Blood profile badge ready to use</title>
		<link>http://raynux.com/blog/2009/08/05/i-blood-profile-badge-ready-to-use/</link>
		<comments>http://raynux.com/blog/2009/08/05/i-blood-profile-badge-ready-to-use/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 11:03:03 +0000</pubDate>
		<dc:creator>rayhan</dc:creator>
				<category><![CDATA[Bangladesh]]></category>
		<category><![CDATA[I-Blood]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Blood Network]]></category>

		<guid isPermaLink="false">http://raynux.com/blog/?p=138</guid>
		<description><![CDATA[I-Blood, is a social network for blood. I-Blood offers donor profile for every member. Which is still in improvement. Profile badge image for i-blood beta version is available now. Here is the image: Here is the link to the image: http://beta.i-blood.com/img/i-blood-badge.gif Here is the sample code widget for placing the badge on your blog: &#60;p&#62; [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://beta.i-blood.com">I-Blood</a></strong>, is a social network for blood.</p>
<p><strong><a href="http://beta.i-blood.com">I-Blood</a></strong> offers donor profile for every member. Which is still in improvement. </p>
<p>Profile badge image for i-blood beta version is available now. Here is the image: <br/></p>
<p><img src="http://beta.i-blood.com/img/i-blood-badge.gif" alt="i-blood profile badge image." /></p>
<p>Here is the link to the image: <a title="I-Blood profile badge image" href="http://beta.i-blood.com/img/i-blood-badge.gif">http://beta.i-blood.com/img/i-blood-badge.gif</a></p>
<p>Here is the sample code widget for placing the badge on your blog:</p>
<pre><code>&lt;p&gt;
&lt;a href="http://beta.i-blood.com/g/profiles/pub/45"&gt;
&lt;img src="http://beta.i-blood.com/img/i-blood-badge.gif" border="0" alt="View Md. Rayhan Chowdhury's donor profile on I-Blood" width="160" height="38" /&gt;
&lt;/a&gt;
&lt;/p&gt;</code></pre>
<p>just make a little change to the code above, change my profile link with your profile link and also my name with your name.</p>
]]></content:encoded>
			<wfw:commentRss>http://raynux.com/blog/2009/08/05/i-blood-profile-badge-ready-to-use/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Update your social networking status from command line</title>
		<link>http://raynux.com/blog/2009/02/28/update-your-social-networking-status-from-command-line/</link>
		<comments>http://raynux.com/blog/2009/02/28/update-your-social-networking-status-from-command-line/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 07:27:21 +0000</pubDate>
		<dc:creator>rayhan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://raynux.com/blog/?p=61</guid>
		<description><![CDATA[This is my first python script, Throughout the learning process I want to make something use full and I know that the best way to learn a new programming language is to start with some real project. Updating your social networking status is now a frequent job. To make this job easier there are lots [...]]]></description>
			<content:encoded><![CDATA[<p>This is my first python script, Throughout the learning process I want to make something use full and I know that the best way to learn a new programming language is to start with some real project.</p>
<p>Updating your social networking status is now a frequent job. To make this job easier there are lots of web services, desktop applications, mobile applications, plug-ins available to the users. Some people wants to update there status from a single place. Like others <a href="http://ping.fm/">Ping.fm</a>, <a href="http://hellotxt.com/">Hellotxt.com</a> are providing single place service with a variety of options. But I think that updating status from command line is the easiest way for most of the Linux users who loves their terminal.</p>
<p>I have used ping.fm REST API for my script as a result It can update all the services registered with ping.fm at once or a single service putting additional parameter. You just need the Internet connection and terminal to put the command.</p>
<p>File: <strong><em>~/bin/raypm</em></strong></p>
<pre>
<code>#! /usr/bin/env python
"""
A Simple program to update your social networking status using ping.fm

This program will update all your social networking sites via ping.fm.

requirements
	- sign for a account at ping.fm
	- setup ping.fm for desired social networking sites.
	- get your developer api key http://www.ping.fm/developers
	- get your user key from http://www.ping.fm/key

@example
	- shell > raypm "your message text to update your all social networking status, like twitter, facebook, linkedin"
	- shell > raypm twitter "your message text to update twitter status only"
	- shell > raypm facebook "your message text to update facebook status only"

@author		: Md. Rayhan Chowdhury
@email		: ray@raynux.com
@website	: www.raynux.com
@license	: GPL
@copy		: All right are reserved
"""

import urllib
import urllib2
import sys
from xml.etree import ElementTree as ET

# modify __apiKey__ with your own
# get your apiKey from http://www.ping.fm/developers
__apiKey__ = 'YOUR DEVELOPER API KEY HERE' 

# modify __userKey__ with your own user key
# get your user key from http://www.ping.fm/key
__UserKey__ = "YOUR USER APP KEY HERE"

__apiUrl__ = 'http://api.ping.fm/v1/'

# debug
# 1 - will not update your status, dump xml response text
# 0 - will update your status
debug = 0

class RayStatus:

	def __init__(self, msg = None, service = None):
		"create message"    

		global debug

		data = {	'api_key'		: __apiKey__,
					'user_app_key'	: __UserKey__,
					'post_method'	: 'default',
					'body'			: msg,
					'debug'			: debug
                  }
		if service is not None:
			data['service'] = service		

		#Encode the data to be posted
		data = urllib.urlencode(data)	

		print "Loading..."
		# post the data
		req = urllib2.Request(__apiUrl__ + 'user.post', data)
		try:
			response = urllib2.urlopen(req)

			responseXML = response.read()

			# parse response data
			result = ET.XML(responseXML)
			if result.attrib is not None:
				if result.attrib['status'] == 'OK':
					print 'Congratulations! your message posted successfully!';
				else:
					print 'Error: ' + result[2].text

			if debug:
				print
				print "debug info: "
				print responseXML

		except urllib2.URLError, e:
			if hasattr(e, 'reason'):
				print 'Could not connect to the server.'
				print 'Reason: ', e.reason
			elif hasattr(e, 'code'):
				print 'The server couldn\'t fulfill the request.'
				print 'Error code: ', e.code
		else:
			print

if __name__ == '__main__':
	try:
		if (len(sys.argv) == 2):
			RayStatus(sys.argv[1], None)
		elif (len(sys.argv) == 3):
			RayStatus(sys.argv[2], sys.argv[1])
	except IndexError:
		print "Please enter your desired message to be posted."
</code></pre>
<p>To make the script working, you need to sign up for a <a href="http://ping.fm">ping.fm</a> user account, and registrar for services you want, they support all major social networking sites including <a href="http://www.twitter.com">twitter</a>, <a href="http://www.facebook.com">facebook</a>, <a href="http://www.linkedin.com">linkedIn</a>. </p>
<p>You will need to get these two keys.<br />
- developer api_keys from <a href="http://ping.fm/developers/">http://ping.fm/developers/</a><br />
- user app key from  <a href="http://ping.fm/key/">http://ping.fm/key/</a></p>
<p>I have my developer api key from <a href="http://ping.fm/">ping.fm</a> which will work for you, but I can&#8217;t disclose it openly. It will be great to have your own api key  and user key is unique for each user. </p>
<p>Installation:</p>
<ol>
<li>create a directory inside your home folder named <strong>bin</strong></li>
<li>create a file named <strong>raymp</strong> inside the bin folder and copy and paste the code</li>
<li>replace <strong>api key</strong> and <strong>user key</strong> with your own.</li>
<li>make the file executable with this command<br />
                <code># chmod +x ~/bin/raypm</code></li>
<li>you may need to restart the system to add the newly added bin folder to PATH.</li>
</ol>
<p>&#038; done.</p>
<p>now you can update your status with the following commands<br />
<code># raypm "update all social networking status at once"</code><br />
or<br />
<code># raypm twitter "update twitter status only"</code><br />
or<br />
<code># raypm facebook "update facebook status only"</code></p>
]]></content:encoded>
			<wfw:commentRss>http://raynux.com/blog/2009/02/28/update-your-social-networking-status-from-command-line/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Translatation Services Available On The Net</title>
		<link>http://raynux.com/blog/2009/02/17/translatation-services-available-on-the-net/</link>
		<comments>http://raynux.com/blog/2009/02/17/translatation-services-available-on-the-net/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 11:11:29 +0000</pubDate>
		<dc:creator>rayhan</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Translation]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://raynux.com/blog/?p=48</guid>
		<description><![CDATA[There are lots of services available on the net. Some of them are really helpful. My intention of this post is to introduce you with some necessary services available on the net and this is the first post of this category. There are some translation services available on the net like Google Translate, nicetranslator. For [...]]]></description>
			<content:encoded><![CDATA[<p>There are lots of services available on the net. Some of them are really helpful. My intention of this post is to introduce you with some necessary services available on the net and this is the first post of this category.</p>
<p>There are some translation services available on the net like <a href="http://translate.google.com/">Google Translate</a>, <a href="http://www.nicetranslator.com/">nicetranslator</a>. </p>
<p>For normal user I have found that <a href="http://www.nicetranslator.com/">nicetranslator</a> is more intuitive and easy tool, specially for those who are studying or have interest on foreign languages. The User Interface of <a href="http://www.nicetranslator.com/">nicetranslator</a> is pretty simple yet powerful&#8230;Their ajax implementation is really cool. You can have a look at them.</p>
<p><a href="http://translate.google.com/">Google Translate</a> is a good option for advance users and programmers as they have public API. It also provide support for more languages than <a href="http://www.nicetranslator.com/">nicetranslator</a> and have some other options. And It seems that <a href="http://www.nicetranslator.com/">nicetranslator</a> is using the <a href="http://translate.google.com/">Google Translate</a> API. If you are a programmer you can also use <a href="http://translate.google.com/">Google Translate</a> for your own project. I have made a PHP Class for <a href="http://translate.google.com/">Google Translate</a> API for one of my project, and hoping to release it as open source on the net when it&#8217;s final.</p>
]]></content:encoded>
			<wfw:commentRss>http://raynux.com/blog/2009/02/17/translatation-services-available-on-the-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>First Approach towards Mashup</title>
		<link>http://raynux.com/blog/2008/05/02/first-approach-towards-mashup/</link>
		<comments>http://raynux.com/blog/2008/05/02/first-approach-towards-mashup/#comments</comments>
		<pubDate>Fri, 02 May 2008 04:08:39 +0000</pubDate>
		<dc:creator>rayhan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://raynux.com/blog/?p=22</guid>
		<description><![CDATA[Before today I never tried for meshup. After having a conversation with Hasin Bhai I realized that I must have the knowledge on mashup, web services API and other techniques. Thanks to Hasin Bhai for such an informative conversation. Even I never tried any REST services before, because I was impressed by soap based services. [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">Before today I never tried for meshup. After having a conversation with Hasin Bhai I realized that I must have the knowledge on mashup, web services API and other techniques.<span> </span>Thanks to Hasin Bhai for such an informative conversation.</p>
<p class="MsoNormal">Even I never tried any REST services before, because I was impressed by soap based services. Today I started with Yahoo APIs.</p>
<p class="MsoNormal">I found a nice tutorial on Yahoo API, <a href="http://www.sitepoint.com/article/yahoo-mashup-php">Whip Up a Yahoo! Mashup Using PHP</a> at <a href="http://www.sitepoint.com/">Sitepoint</a>. The tutorial is based on REST.</p>
<p class="MsoNormal">The object oriented technique covered by the tutorial was not optimized enough, but a good start for a novice.</p>
<p class="MsoNormal">Now I am looking forward to mashup using Flickr API.</p>
]]></content:encoded>
			<wfw:commentRss>http://raynux.com/blog/2008/05/02/first-approach-towards-mashup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
