<?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>Senthil Rajasekharan&#039;s Personal Blog - Meeting of Minds</title>
	<atom:link href="http://blog.rajasekharan.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rajasekharan.com</link>
	<description>And this too shall pass...</description>
	<lastBuildDate>Mon, 19 Dec 2011 02:45:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>How I improved my Handwriting</title>
		<link>http://blog.rajasekharan.com/2011/02/27/how-i-improved-my-handwriting/</link>
		<comments>http://blog.rajasekharan.com/2011/02/27/how-i-improved-my-handwriting/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 03:52:15 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[handwriting]]></category>
		<category><![CDATA[self-help]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=302</guid>
		<description><![CDATA[During high school, my term exams (quizzes) required handwritten answers spanning multiple pages. My handwriting was barely readable. Based on some observations I started to write the letters with, 1) consistent shapes 2) same size 3) equal spaces between the letters and words. This made my handwriting very readable but not necessarily pretty. A few [...]]]></description>
			<content:encoded><![CDATA[<p>During high school, my term exams (quizzes) required handwritten answers spanning multiple pages. </p>
<p>My handwriting was barely readable.</p>
<p>Based on some observations I started to write the letters with,</p>
<p>1) consistent shapes<br />
2) same size<br />
3) equal spaces between the letters and words.</p>
<p>This made my handwriting very readable but not necessarily pretty. </p>
<p>A few years back when I took an interest in typography I realized why this technique worked. </p>
<p>A printed page mostly uses a single font (letters of the same &#8220;shape&#8221;), same font size (same size) and consistent spacing between the characters (equal spaces). This among other things makes the page very readable.</p>
<p>I hope this technique helps someone improve their handwriting skills.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2011/02/27/how-i-improved-my-handwriting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing music on the LG Optimus V</title>
		<link>http://blog.rajasekharan.com/2011/02/14/playing-music-on-the-lg-optimus-v/</link>
		<comments>http://blog.rajasekharan.com/2011/02/14/playing-music-on-the-lg-optimus-v/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 05:49:59 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[LG Optimus]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=294</guid>
		<description><![CDATA[I finally bought a smartphone. Its an LG Optimus V with Android 2.2 OS. It&#8217;s my first smartphone ever. I was excited to transfer and play some music from my mp3 collection on the Mac using the pre-installed Music application on the smartphone. I did not find any easy and quick instructions to transfer music [...]]]></description>
			<content:encoded><![CDATA[<p>I finally bought a smartphone. Its an <a href="http://www.virginmobileusa.com/cell-phones/lg-optimus-v-phone.jsp">LG Optimus V</a> with Android 2.2 OS. </p>
<p>It&#8217;s my first smartphone ever. I was excited to transfer and play some music from my mp3 collection on the Mac using the pre-installed Music application on the smartphone.</p>
<p>I did not find any easy and quick instructions to transfer music files to the LG Optimus V.</p>
<p>Here is how I loaded music files from my Mac to my new LG Optimus V smartphone:</p>
<ul>
<li>	Connect the smartphone to your Mac using the supplied USB cable.</li>
<li>The &#8220;Turn USB Storage On&#8221; button should pop up on your smartphone. Press this button.</li>
<li>The smartphone should now appear as a folder on your Mac Finder.</li>
<li>Using Mac Finder, create a new folder on the smartphone and name it Music</li>
<li>Copy music files from your Mac into the new Music folder on the smartphone.</li>
<li>Wait for the copying to complete.</li>
<li>Press the eject button on the Mac Finder to safely remove the smartphone from your Mac.</li>
<li> A &#8220;Turn USB Storage Off&#8221; button should appear on the smartphone. Press this button.</li>
<li>Start the Music app on the smartphone and you should be able to see/play the music files<br />
   on your smartphone.</li>
</ul>
<p>This is the quick and dirty method to play music on your smartphone.</p>
<p>Syncing your music files between the Mac and your smartphone is an obvious problem with this approach.  If you know of any good applications for the Mac or PC that syncs music files for Android phones, please leave a comment.</p>
<p>I am discovering new apps for the LG Optimus V every day and will share them as I discover interesting apps.</p>
<p>[Update 02/15/2011]</p>
<p>Bluetooth is another option to transfer your music files from your Mac to your LG Optimus V smartphone.</p>
<p>You have to <a href="http://en.wikipedia.org/wiki/Bluetooth#Pairing">pair</a> your smartphone with the Mac to transfer files.</p>
<p>Once your smartphone and your Mac are paired, just right click on the album folder or an individual music file and send to the &#8220;paired&#8221; phone.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2011/02/14/playing-music-on-the-lg-optimus-v/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Python modules, packages and code organization tips</title>
		<link>http://blog.rajasekharan.com/2011/02/09/python-modules-packages-and-code-organization-tips/</link>
		<comments>http://blog.rajasekharan.com/2011/02/09/python-modules-packages-and-code-organization-tips/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 15:59:39 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=277</guid>
		<description><![CDATA[...it is important to have a __init__.py in the package folder.]]></description>
			<content:encoded><![CDATA[<p>I am learning Python programming. </p>
<p>Having programmed in Java and C# (CSharp) for a while, one of my first questions was how do I structure code in Python.</p>
<p>Java has namespaces and a class per file construct to organize code. C# (CSharp) has namespaces to organize code. I was looking for something similar in Python.</p>
<p>It seems the answer is Python code can be organized into <a href="http://docs.python.org/tutorial/modules.html">modules</a> and module namespaces can be organized using packages.</p>
<p>Packages translate to a folder in the file system.</p>
<p>main.py<br />
music/<br />
       songs.py</p>
<p>A class called Song in songs.py can be imported into another module using the statement</p>
<p><code>from music.songs import Song</code></p>
<p>I was getting a python module not found or class not found error even though I had the right package folder structure.</p>
<p>On reading the python manual closely I realized that you need to create  a __init__.py file in the package folder.</p>
<p>The folder now looks like,</p>
<p>main.py<br />
music/<br />
       __init__.py<br />
       songs.py</p>
<p>After creating an empty __init__.py file in the package folder, I was able to import the Song class from music.songs module without any errors.</p>
<p>Some more <a href="http://www.velocityreviews.com/forums/t354440-code-organization.html">tips on Python code organization</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2011/02/09/python-modules-packages-and-code-organization-tips/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building a JSON Axis2 REST Client for a WCF Service.</title>
		<link>http://blog.rajasekharan.com/2010/10/19/building-a-json-axis2-rest-client-wcf-service/</link>
		<comments>http://blog.rajasekharan.com/2010/10/19/building-a-json-axis2-rest-client-wcf-service/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 20:00:26 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[Axis2]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=242</guid>
		<description><![CDATA[Using JSON as the message format for a WCF REST service has some advantages if you are building a backend service for a purely browser based application. For instance, JSON is natively supported in all of the major web browsers. I had to build a REST client using Axis2 that uses the JSON message format. [...]]]></description>
			<content:encoded><![CDATA[<p>Using JSON as the message format for a WCF REST service has some advantages<br />
if you are building a backend service for a purely browser based application.</p>
<p>For instance, JSON is natively supported in all of the major web browsers.</p>
<p>I had to build a REST client using Axis2 that uses the JSON message format.</p>
<p>The blog post <a href="http://www.keith-chapman.org/2008/09/enabling-json-in-apache-axis2.html"> Enabling JSON in Apache Axis2</a> explains the conventions that are used to map XML to JSON and how to configure axis2.xml so that your client application can use the XML/JSON mapping convention of your choice.</p>
<p>I chose the mapped namespace convention which can be configured by adding the two lines to your axis2.xml</p>
<p>&lt;messageFormatter contentType=&quot;application/json&quot;<br />
                 class=&quot;org.apache.axis2.json.JSONMessageFormatter&quot;/&gt;  </p>
<p>&lt;messageBuilder contentType=&quot;application/json&quot;<br />
                 class=&quot;org.apache.axis2.json.JSONOMBuilder&quot;/&gt;</p>
<p>If you choose the mapped namespace convention you may get an exception that says &#8220;JSON mapped namespaces are not supported in Axis2&#8243;. If you see the above Axis2 exception then you need to patch jettison.</p>
<p>Instructions on the exception and the patch are in the <a href="http://www.marcusschiesser.de/?p=130">&#8220;Building a JSON web service with Java and Axis2&#8243;</a> post by <a href="http://www.marcusschiesser.de">Marcus Schiesser</a>.</p>
<p>The ServiceClient (org.apache.axis2.client.ServiceClient) object can be used to make REST API calls in Axis2.</p>
<p>The ServiceClient can be configured using the Options (org.apache.axis2.client.Options) object.</p>
<p>For a REST style service invocation you need the following options,</p>
<p><code><br />
Options options = new Options();<br />
options.setTo(new EndpointReference("http://your.service.endpoint.url"));<br />
options.setProperty(Configuration.MESSAGE_TYPE, "application/json");<br />
options.setProperty(Configuration.ENABLE_REST, Constants.VALUE_TRUE);</p>
<p>//reuse HTTP clients<br />
options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Constants.VALUE_TRUE);<br />
options.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, httpClient);</code></p>
<p>The httpClient object is created via the MultiThreadedHttpConnectionManager. This is needed for managing the HTTP connections if your client is used in a multithreaded application. See the post <a href="http://amilachinthaka.blogspot.com/2009/05/improving-axis2-client-http-transport.html">&#8220;Improving Axis2 Client HTTP  Transport Performance&#8221;</a></p>
<p>Finally, you have to engage the addressing module and set the ServiceClient options</p>
<p><code><br />
client = new ServiceClient();<br />
client.engageModule("addressing");<br />
client.setOptions(options);<br />
</code></p>
<p>The ServiceClient sendReceive call takes an OMElement which I created using custom XML serialization on the message objects.</p>
<p>Make sure you cleanup the http connections via the httpconnectionManager used to create the httpClient. Again. see the post <a href="http://amilachinthaka.blogspot.com/2009/05/improving-axis2-client-http-transport.html">&#8220;Improving Axis2 Client HTTP  Transport Performance&#8221;</a> on how to do this correctly.</p>
<p>The sendReceive call can be made non-blocking if you are looking for further improvements in performance.</p>
<p>The response returned by the sendReceive call is an OMElement again and can be de-serialized using custom XML de-serialization on your message objects.</p>
<p>If you are looking for pure SOAP interoperability between WCF .NET SOAP client and an Axis2 service be sure to chek out my other post <a href="http://blog.rajasekharan.com/2010/09/20/axis2-and-wcf-dotnet-interop/">Axis2 and WCF .Net Interoperability (Interop)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2010/10/19/building-a-json-axis2-rest-client-wcf-service/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Axis2 and WCF .Net Interoperability (Interop)</title>
		<link>http://blog.rajasekharan.com/2010/09/20/axis2-and-wcf-dotnet-interop/</link>
		<comments>http://blog.rajasekharan.com/2010/09/20/axis2-and-wcf-dotnet-interop/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 18:38:35 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Axis2]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=209</guid>
		<description><![CDATA[Recently I created an Axis2 SOAP/JSON service in Java that actually works with a .NET WCF SOAP client. Axis2 has support for building JSON SOAP services. However, I could not find an implementation that worked with WCF clients. Here are some tweaks that I had to implement on the Axis 2 stack to get this [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I created an Axis2 SOAP/JSON service in Java that actually works with a .NET WCF SOAP client.</p>
<p>Axis2 has support for building <a href="http://ws.apache.org/axis2/1_5/json_support.html">JSON SOAP services</a>.</p>
<p>However, I could not find an implementation that worked with WCF clients. </p>
<p>Here are some tweaks that I had to implement on the Axis 2 stack to get this scenario working since I had no control on the WCF client calls or the .NET WCF stack.</p>
<p><strong>1. No way to specify a null target namespace for the Axis2 service.</strong></p>
<p>The .NET WCF client by default assumes a service target namespace of http://tempuri.org for XML SOAP messages. .NET JSON formatters do not have the concept of the JSON namespaces and so the JSON requests generated on the .NET stack do not have any namespaces.</p>
<p>And to be fair, JSON is not suited for creating namespace qualified messages.</p>
<p>The invokeServiceClass() method in RPCUtil.java on the Axis2 source was modified to accept SOAP service requests with no target namespace.</p>
<p><strong>2. Axis2 JSON message receivers expect a wrapper around the incoming request message</strong></p>
<p>Strangely even setting the service type in service.xml to &#8220;doclitbare&#8221; still does not deserialize the JSON into the correct Java request object.</p>
<p>For the example class below,</p>
<p><code></p>
<p>public class GetQuoteIn<br />
{<br />
    private String ticker;</p>
<p>    public String getTicker()<br />
    {<br />
        return ticker;<br />
    }</p>
<p>    public void setTicker(String _ticker)<br />
    {<br />
        ticker = _ticker;<br />
   }<br />
}</p>
<p>public GetQuoteOut GetQuote(GetQuoteIn getQuoteIn)<br />
{<br />
    ...<br />
}</p>
<p></code></p>
<p>This object gets serialized into { &#8220;ticker&#8221;: &#8220;msft&#8221;} by the .Net WCF JSON Serializers.</p>
<p>On the server side the Axis 2 JSONMessageFormatter (org.apache.axis2.json.JSONMessageFormatter.java) expects a JSON message with a wrapper</p>
<p>{&#8220;GetQuoteIn&#8221;: {&#8220;ticker&#8221;:&#8221;msft&#8221;}}</p>
<p>I found it ideal to add the wrapper in the HTTPTransportUtils.java class (org.apache.axis2.transport.http.HTTPTransportUtils.java) before the incoming Message Context was built.</p>
<p>The processHTTPPostRequest() method was modified to get the SOAP operation name, added the wrapper name using the convention operationName + &#8220;In&#8221; and write back the modified JSON message with the wrapper into a newly created Input Stream.</p>
<p><strong>3. WCF JSON message receivers do not expect a wrapper in the response message.</strong></p>
<p>The MappedXMLStreamWriter.java (org.codehaus.jettison.mapped.MappedXMLStreamWriter.java) had to be modified to strip out the &#8220;wrapper&#8221; element in the JSON output. I modified the writeEndDocument() method in MappedXMLStreamWriter.java class to remove the wrapper in the serialized JSON output.</p>
<p><strong>4. Capitalize JSON property names in the response.</strong></p>
<p>The JSONObject.java (org.codehaus.jettison.json.JSONObject.java) write() method as modified to capitalize property names in the JSON response sent to the WCF client.</p>
<p>The changes could have been made at the various layers of the Axis 2 service stack. But the Axis2 stack is built to rely on the Message Context which means that any message semantics that need to be altered has to happen before the Message Context is established.  Customizing the stack using phases and handlers conflicts with this heavy reliance on the Message Context.</p>
<p>In my next post I will explain how to create an Axis2 REST client that communicates with a WCF service (not necessarily a SOAP service) using JSON.<br />
Call a WCF service (non-SOAP) that consumes JSON formatted messages.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2010/09/20/axis2-and-wcf-dotnet-interop/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Add Music Player to your Facebook Page</title>
		<link>http://blog.rajasekharan.com/2010/03/04/how-to-add-music-player-to-your-facebook-page/</link>
		<comments>http://blog.rajasekharan.com/2010/03/04/how-to-add-music-player-to-your-facebook-page/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 21:23:53 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[facebook pages]]></category>
		<category><![CDATA[music player]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=171</guid>
		<description><![CDATA[If  you maintain a Facebook page for your band, Facebook provides an application called the Music Player that you can use to upload songs to your band&#8217;s page. When you upload a new song it is automatically published into the news feed of all your fans. You don&#8217;t have to send out fan updates to [...]]]></description>
			<content:encoded><![CDATA[<p>If  you maintain a Facebook page for your band, Facebook provides an application called the <a title="Music Player" href="http://www.facebook.com/apps/application.php?id=2550392059" target="_self">Music Player</a> that you can use to upload songs to your band&#8217;s page.</p>
<p>When you upload a new song it is automatically published into the news feed of all your fans. You don&#8217;t have to send out fan updates to publicize new songs. Publishing into your fan&#8217;s news feed is currently the best way to get the attention of Facebook users.</p>
<p>Here are the steps to add <a title="Music Player" href="http://www.facebook.com/apps/application.php?id=2550392059" target="_self">Music Player</a> to your Facebook band page :</p>
<p>Login to Facebook. Make sure you are the page admin for the page you are editing.</p>
<div class="wp-caption alignleft" style="width: 166px"><img class="   " src="http://i843.photobucket.com/albums/zz353/senthilr/Facebook%20Music%20Player/mp1.jpg" alt="Ads and Pages" width="156" height="257" /><p class="wp-caption-text">Ads and Pages</p></div>
<p>Click on &#8220;Ads and Pages&#8221; on the left menu.</p>
<p>Update: If you don&#8217;t see the &#8220;Ads and Pages&#8221; link on the left menu simply go to this link to edit pages <a title="Facebook - Edit Pages Link" href="http://www.facebook.com/pages/manage" target="_self">http://www.facebook.com/pages/manage</a>.</p>
<div class="wp-caption alignleft" style="width: 264px"><img class="  " src="http://i843.photobucket.com/albums/zz353/senthilr/Facebook%20Music%20Player/mp2.jpg" alt="Edit Pages" width="254" height="242" /><p class="wp-caption-text">Edit Pages</p></div>
<p>Click on &#8220;Edit Page&#8221; link at the bottom of the page you want to edit.</p>
<div class="wp-caption alignleft" style="width: 240px"><img class="  " src="http://i843.photobucket.com/albums/zz353/senthilr/Facebook%20Music%20Player/mp3.jpg" alt="More Applications" width="230" height="160" /><p class="wp-caption-text">More Applications</p></div>
<p>Click on &#8220;Browse More&#8221;  which will take you to the application search page.</p>
<div class="wp-caption alignleft" style="width: 153px"><img class=" " src="http://i843.photobucket.com/albums/zz353/senthilr/Facebook%20Music%20Player/mp4.jpg" alt="Search Music Player" width="143" height="195" /><p class="wp-caption-text">Search Music Player</p></div>
<p>Type music player in the search box and hit enter. This should take you to the Search Results page.</p>
<div class="wp-caption alignleft" style="width: 255px"><img class=" " src="http://i843.photobucket.com/albums/zz353/senthilr/Facebook%20Music%20Player/mp5.jpg" alt="Music Player application" width="245" height="142" /><p class="wp-caption-text">Music Player application</p></div>
<p>You should be able to see the &#8220;Music Player by Facebook&#8221; application in the search results.</p>
<p>Click on it.</p>
<div class="wp-caption alignleft" style="width: 327px"><img class=" " src="http://i843.photobucket.com/albums/zz353/senthilr/Facebook%20Music%20Player/mp8.jpg" alt="Add Music Player to Page" width="317" height="302" /><p class="wp-caption-text">Add Music Player to Page</p></div>
<p>Click on Add to my page. This should pop-up a dialog.  Select the page.</p>
<p>Thats it.</p>
<p>You should now be able see the &#8220;Music Player&#8221; application on your page.</p>
<p>You can edit the &#8220;Music Player&#8221; application to upload and display albums on your fan page.</p>
<p>Tip: You can add the &#8220;Music Player&#8221; to any page in general, not just a Band page.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2010/03/04/how-to-add-music-player-to-your-facebook-page/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Virtual Box &#8211; Access host [Mac OS X] physical ethernet port from guest OS [Windows 7].</title>
		<link>http://blog.rajasekharan.com/2009/10/29/virtual-box-access-host-mac-os-x-physical-ethernet-port-from-guest-os-windows-7/</link>
		<comments>http://blog.rajasekharan.com/2009/10/29/virtual-box-access-host-mac-os-x-physical-ethernet-port-from-guest-os-windows-7/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 05:36:16 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[trendnet]]></category>
		<category><![CDATA[virtual box]]></category>
		<category><![CDATA[wireless bridge]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=155</guid>
		<description><![CDATA[If you are in a hurry here is the quick summary : To access the host machine&#8217;s ethernet adapter/port from your guest os, you need to create a bridged adapter on the virtual machine. The bridged adapter maps a virtual interface on the guest os to the physical ethernet adapter/port on the host machine. Got [...]]]></description>
			<content:encoded><![CDATA[<p>If you are in a hurry here is the quick summary :</p>
<p>To access the host machine&#8217;s ethernet adapter/port from your guest os, you need to create a bridged adapter on the virtual machine. The bridged adapter maps a virtual interface on the guest os to the physical ethernet adapter/port on the host machine.</p>
<p>Got some time ? Then read on&#8230;</p>
<p>I got  a new <a title="TRENDnet Gaming Adapter" href="http://www.trendnet.com/products/proddetail.asp?prod=195_TEW-647GA">TRENDnet  Gaming Adapter TEW-647GA</a> (Wireless Bridge) to connect my 20 GB PS3 to the Internet and also to explore the Internet@TV features of my Samsung LED TV.</p>
<div class="wp-caption aligncenter" style="width: 260px"><a href="http://www.trendnet.com/products/proddetail.asp?prod=195_TEW-647GA"><img src="http://www.trendnet.com/image/products/photo/TEW-647GA_d1_1.jpg" alt="TRENDnet TEW-647GA" width="250" height="180" /></a><p class="wp-caption-text">TRENDnet TEW-647GA</p></div>
<p>The wireless bridge comes with a setup utility on a CD. If you are on a Windows machine then setup is a breeze. But if you are on a Macbook/Macbook Pro/Mac you may not be so lucky. Fortunately, for me I had  <a href="http://www.virtualbox.org">Virtual Box</a> with Windows 7 set up as a guest instance.</p>
<p>How to Access the host ethernet port from the guest OS ?</p>
<p>Connect the wireless bridge to the built-in ethernet port on the host and power up it up.</p>
<p>From your guest OS, mount the host CD drive  and run the setup.exe utility.</p>
<p>By default virtual box sets up the guest os to use NAT networking, running the setup utility with the default (NAT) virtual machine networking configuration will fail. The wireless bridge will not be recognized by the setup utility.</p>
<p>Reconfigure the guest virtual machine with a bridged adapter and map this new adapter to the physical built-in ethernet network adapter.</p>
<p>Run setup utility again from the guest os.</p>
<p>Setup.exe should now discover the wireless bridge connected to the ethernet port on the host machine.</p>
<p>Follow the instructions on the TRENDnet  installation guide. On my Window 7 guest OS I had to ignore the error messages that said configuration had failed. The configuration had in fact completed successfully and I was able to connect to my <a title="Netgear WGR614" href="http://www.netgear.com/Products/RoutersandGateways/WirelessGRouters/WGR614.aspx">Netgear WGR614 </a> router and the internet.</p>
<p>Disconnect the wireless bridge from the ethernet port and connect it to the gaming console. The gaming console should automatically pick up an IP via DHCP and your gaming console should be connected to the net.</p>
<p>Have fun!</p>
<p>Additional Notes :</p>
<p>You can configure an extra adapter (adapter 2) on your virtual machine if adapter 1 is configured with NAT networking already. TRENDnet Setup utility will still recognize the wireless bridge connected to the ethernet port.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2009/10/29/virtual-box-access-host-mac-os-x-physical-ethernet-port-from-guest-os-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Post to a Facebook Fan Page on Behalf of the Page.</title>
		<link>http://blog.rajasekharan.com/2009/10/03/how-to-post-to-the-facebook-fan-page-on-behalf-of-the-page/</link>
		<comments>http://blog.rajasekharan.com/2009/10/03/how-to-post-to-the-facebook-fan-page-on-behalf-of-the-page/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 18:59:23 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Fan Page]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=137</guid>
		<description><![CDATA[Quick Summary Use the Facebook.showPermissionDialog FBJS api call to authorize the Page for which you are an admin. Set the enableProfileSelector to true and include the page id in the profileSelectorIds. Once  the app user has authorized and given the extended permissions, You can use the Stream.publish api call with the page id as the target [...]]]></description>
			<content:encoded><![CDATA[<h2>Quick Summary</h2>
<p><span style="font-weight: normal;font-size: 13px">Use the <a title="Facebook.showPermissionDialog" href="http://wiki.developers.facebook.com/index.php/Facebook.showPermissionDialog" target="_self">Facebook.showPermissionDialog</a> <a title="FBJS" href="http://wiki.developers.facebook.com/index.php/FBJS" target="_self">FBJS</a> api call to authorize the Page for which you are an admin. Set the enableProfileSelector to true and include the page id in the profileSelectorIds. Once  the app user has authorized and given the extended permissions, You can use the <a title="Stream.publish facebook api" href="http://wiki.developers.facebook.com/index.php/Stream.publish" target="_self">Stream.publish</a> api call with the page id as the target id and publish on behalf of the page.</span></p>
<h2>The Details &#8211; Posting to the Facebook Fan Page on behalf of the page.</h2>
<p>Facebook allows you to create pages aka fan pages for your website, business, product, or almost just about anything. Page admins can customize their pages by adding facebook applications from the app directory to their pages. Using Facebook applications for fan pages allows you to integrate into the social connections of your fans better.</p>
<p>Applications with <a title="Facebook extended permissions" href="http://wiki.developers.facebook.com/index.php/Extended_permissions" target="_self">extended permissions</a> can publish to a user&#8217;s wall, news feed stream or profile. In addition, applications can now publish to a Page wall.</p>
<p>Publishing to a Page as a user is fairly simple with <a title="Stream.publish facebook api" href="http://wiki.developers.facebook.com/index.php/Stream.publish" target="_self">Stream.publish</a> facebook api, the Facebook developer api covers this well. You can prompt the user for  &#8217;publish_stream&#8217; extended permissions using the  <a title="fb:prompt-permission FBML tag" href="http://wiki.developers.facebook.com/index.php/Fb:prompt-permission" target="_self">fb:prompt-permission</a> <a title="FBML" href="http://wiki.developers.facebook.com/index.php/FBML" target="_self">FBML</a> tag, preferably during an initial set up workflow.</p>
<p>Once the user has authorized your app and given the extended permission, You just have to set the target id to the page id in your Stream.publish api call.  See the sample php api call below,</p>
<p><code> $facebook-&gt;api_client-&gt;stream_publish($message, $attachment,$action_links, $target_id);</code></p>
<p>Publishing on behalf of  a page is trickier.  Page admins have to authorize the app to publish on behalf of a page. You can do this by using</p>
<p>the <a title="Facebook.showPermissionDialog" href="http://wiki.developers.facebook.com/index.php/Facebook.showPermissionDialog" target="_self">Facebook.showPermissionDialog</a> <a title="FBJS" href="http://wiki.developers.facebook.com/index.php/FBJS" target="_self">FBJS</a> api call.</p>
<p><code> Facebook.showPermissionDialog('publish_stream, read_stream', ondone, showProfileSelector, [1234,2345]);</code></p>
<p>Just replace the profileSelectorIds ( [1234, 2345]) and include the page id in the FBJS call above. This should bring up a permission dialog and show</p>
<p>a &#8220;profile  selector&#8221; including the page for which you are an admin.</p>
<p>You should now be able to use the <a title="Stream.publish facebook api" href="http://wiki.developers.facebook.com/index.php/Stream.publish" target="_self">Stream.publish</a> api call with the page id as the target id and publish on behalf of the page.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2009/10/03/how-to-post-to-the-facebook-fan-page-on-behalf-of-the-page/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>TarTool &#8211; Windows tar gzip tgz extraction tool</title>
		<link>http://blog.rajasekharan.com/2009/01/16/tartool-windows-tar-gzip-tgz-extraction-tool/</link>
		<comments>http://blog.rajasekharan.com/2009/01/16/tartool-windows-tar-gzip-tgz-extraction-tool/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 00:59:34 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[tar]]></category>
		<category><![CDATA[tar extract tool]]></category>
		<category><![CDATA[TarTool]]></category>
		<category><![CDATA[tgz]]></category>
		<category><![CDATA[windows 2008]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=112</guid>
		<description><![CDATA[TarTool is a tiny windows command line tool to extract tar gzip (tar.gz or tgz extension) files. You can download TarTool , unzip and run TarTool.exe as a command line executable. You can also download TarTool from this alternate download location if the link above is down or does not work for you. The source [...]]]></description>
			<content:encoded><![CDATA[<p><a title="TarTool.zip" href="http://dev.rajasekharan.com/TarTool/" target="_blank">TarTool </a>is a tiny windows command line tool to extract tar gzip (tar.gz or tgz extension) files.</p>
<p>You can <a title="TarTool" href="http://tartool.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=31505" target="_blank"><strong>download</strong> </a>TarTool , unzip and run TarTool.exe as a command line executable.</p>
<p>You can also <a title="TarTool - Alternate download location." href="http://dev.rajasekharan.com/TarTool/" target="_blank">download </a>TarTool from this alternate download location if the link above is down or does not work for you.</p>
<p>The <a title="TarTool Source Code" href="http://tartool.codeplex.com" target="_blank">source code </a> for TarTool is now hosted on <a title="TarTool Source Code " href="http://tartool.codeplex.com" target="_blank">codeplex</a>.</p>
<p>I wanted to play around with the Microsoft Shared Source CLI <a title="Microsoft Shared Source CLI" href="http://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructure" target="_blank">SSCLI</a>. The <a title="Shared Source Common Language Infrastructure 2.0 Release" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&amp;displaylang=en" target="_blank">download </a>is only available as a tgz extension. Imagine that <img src='http://blog.rajasekharan.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>After searching the interwebs for tools that would extract tar gzip files , I was disappointed since there was no simple tool to extract tar gzip files on my windows machine.</p>
<p>There are a few tools out there like WinRAR etc., but I found them too bloated for my task.</p>
<p>So I wrote a little tool using <a title="SharpZipLib" href="http://www.icsharpcode.net/OpenSource/SharpZipLib/" target="_blank">SharpZipLib</a>, the open source Zip, GZip, Tar and BZip2 library (great job guys, BTW).</p>
<p><a title="SharpZipLib" href="http://www.icsharpcode.net/OpenSource/SharpZipLib/" target="_blank">SharpZipLib</a> does most of the heavy lifting so the core of <a title="TarTool.zip" href="http://dev.rajasekharan.com/TarTool/" target="_blank">TarTool </a> is less than ten lines of C#. <span style="text-decoration: line-through">I can host the source code if there is enough interest.</span></p>
<p>The <a title="TarTool Source Code" href="http://tartool.codeplex.com/" target="_blank">source </a>is now hosted on codeplex.</p>
<p>Enjoy!</p>
<p> <strong>Update (05/06/2009 17:00 CST) :</strong></p>
<p>TarTool now has an addtional option to untar tar file formats.</p>
<p>TarTool -x sample.tar temp</p>
<p>will untar the sample.tar contents into the temp folder.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2009/01/16/tartool-windows-tar-gzip-tgz-extraction-tool/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>UI Programming Models</title>
		<link>http://blog.rajasekharan.com/2009/01/06/ui-programming-models/</link>
		<comments>http://blog.rajasekharan.com/2009/01/06/ui-programming-models/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 05:14:07 +0000</pubDate>
		<dc:creator>senthil</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[user interactions]]></category>

		<guid isPermaLink="false">http://blog.rajasekharan.com/?p=107</guid>
		<description><![CDATA[I found this excellent post Toward a better UI programing model with pointers to various UI programming models. Web designers are forced to think within the constraints of the web browser when it comes to user interaction design. The post above discusses more general approaches to user interaction design and not just within the context [...]]]></description>
			<content:encoded><![CDATA[<p>I found this excellent post <a title="Toward a better ui programming model" href="http://patricklogan.blogspot.com/2008/06/toward-better-ui-programming-models.html" target="_blank">Toward a better UI programing model</a> with pointers to various UI programming models.</p>
<p>Web designers are forced to think within the constraints of the web browser when it comes to user interaction design.</p>
<p>The post above discusses more general approaches to user interaction design and not just within the context of the web browser.</p>
<p>Since I am mostly involved in web UI interactions these days this post was very refreshing as it brought a new perspective to me.</p>
<p>While developing the UI for a web app recently I realized that the web design world is in the search-discovery cycle of  &#8220;patterns&#8221; that guide user interactions.  Patterns in user interactions has the dual benefit of helping both designers and users. Much like the &#8220;guidelines&#8221; on Windows ( <a title="Windows User Experience Interaction Guidelines" href="http://msdn.microsoft.com/en-us/library/aa511258.aspx" target="_blank">Windows User Experience Interaction Guidelines</a> ) or Mac (<a title="Apple Human Interface Guidelines" href="http://developer.apple.com/documentation/userexperience/Conceptual/AppleHIGuidelines/XHIGIntro/chapter_1_section_1.html#//apple_ref/doc/uid/TP30000894-TP6" target="_blank">Apple Human Interface Guidelines</a> ) development platforms that help Windows or Mac application developers respectively while standardizing the user interactions of the applications developed on those platforms. These guidelines ensure strict quality, improves user experience and makes the life of designers easier.</p>
<p>There are plenty of resources that discuss &#8220;web ui interaction patterns&#8221; .</p>
<p><a title="Designing Interfaces" href="http://www.amazon.com/dp/0596008031?tag=ourbookclub-20" target="_blank">Designing Interfaces</a> is a good resource if you are designing web user interactions. <a title="Rob Adams" href="http://www.usereccentric.com/" target="_blank">Rob Adams</a> one of the core developers of Adobe&#8217;s Flex  has an excellent set of <a title="Introductory Articles" href="http://www.adobe.com/devnet/flex/articles/fig_pt1.html" target="_blank">introductory articles</a> which not only apply to designing user interfaces using Adobe&#8217;s Flex but applies to user interface design in general. I especially liked the <a title="Structuring your Application" href="http://www.adobe.com/devnet/flex/articles/fig_pt3.html" target="_blank">Structuring your Application</a> part.</p>
<p>Everyone loves the web, even if there are a few frustrations that we still have to overcome <img src='http://blog.rajasekharan.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Happy Surfing !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rajasekharan.com/2009/01/06/ui-programming-models/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.315 seconds -->

