<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"
>

<channel>
	<title>Rohit's Blog &#187; Software</title>
	<atom:link href="http://www.smart-techie.com/blog/category/computing/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.smart-techie.com/blog</link>
	<description>My opinion about anything and everything!</description>
	<lastBuildDate>Sun, 15 Jan 2012 05:13:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Inspecting Web Interfaces</title>
		<link>http://www.smart-techie.com/blog/2007/06/inspecting-web-interfaces/</link>
		<comments>http://www.smart-techie.com/blog/2007/06/inspecting-web-interfaces/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 15:22:52 +0000</pubDate>
		<dc:creator>Rohit</dc:creator>
				<category><![CDATA[Coding/ Programming]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Links]]></category>

		<guid isPermaLink="false">http://www.smart-techie.com/blog/2007/06/inspecting-web-interfaces/</guid>
		<description><![CDATA[(Continued from Secure Web Interfaces) OK, I had a tremendous urge to call this post &#8220;Hacking Web Interfaces&#8221;. But due to some uneducated folks who believe hacking is a bad word, I think I will stick to its euphemism. The most direct way to feed random data to a web-service is in a raw format. [...]]]></description>
			<content:encoded><![CDATA[<p><em>(Continued from <a href="http://www.smart-techie.com/blog/2007/06/creating-secure-web-interfaces/">Secure Web Interfaces</a>)<br />
</em></p>
<p>OK, I had a tremendous urge to call this post &#8220;Hacking Web Interfaces&#8221;. But due to some uneducated folks who believe hacking is a bad word, I think I will stick to its euphemism.</p>
<p>The most direct way to feed random data to a web-service is in a raw format. Use telnet for absolute low level communications or tools like Fiddler, for communications at a higher level like HTTP.&nbsp;But with sites hosting hundreds of script files and html pages on their server, this approach has become more and more impractical. But there are other means to mess with the client side code.</p>
<h3>DOM Inspector</h3>
<p>If you use Firefox, you will notice there&#8217;s a utility called <a href="http://www.mozilla.org/projects/inspector/">DOM Inspector</a> that is included with it. As the name suggests, it allows you to see the DOM of the rendered HTML page. But, it also allows you to modify that DOM. You can modify the values of the properties of different DOM objects in the tree and even insert new objects.</p>
<p>Let&#8217;s try this technique on a product of one of the largest software companies, Google Calendar. I will use no other software than Firefox and DOM inspector.</p>
<p>Let&#8217;s go to the Settings screen. They have a setting for the &#8220;Custom View&#8221; property for the calendar.</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image-1.png" atomicselection="true" rel="lightbox"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="99" alt="Google Calendar Settings" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_thumb-2.png" width="122" border="0" /></a></p>
<p>Now I am a guy who wants to know what he would be doing in next 2 months but there is no option for that kind of view. Hmm, lets see if the DOM can help us. Firing the DOM Inspector, we see that the logic is quite simple.</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_3.png" atomicselection="true" rel="lightbox"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="99" alt="Firefox DOM Inspector" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_thumb_3.png" width="127" border="0" /></a></p>
<p>The value of the ComboBox determines how the duration for which the custom view display the calendar. The value in the ComboBox is simply translated to the number of days. So I change the value to 42 (which is 6 weeks) and save my Settings.&nbsp;Et voilÃ , I get a custom view with 6 weeks <img src='http://www.smart-techie.com/blog/smilies/msn_smiley.png' alt='&#58;&#41;' class='wp-smiley' width='21' height='21' title='&#58;&#41;' /> Cool!</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_4.png" atomicselection="true" rel="lightbox"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="99" alt="Customized Google Calendar" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_thumb_4.png" width="122" border="0"/></a></p>
<h3>Using Visual Studio with IE</h3>
<p>IE has a script debugger built in, but it is worthwhile to go in for Visual Studio as the debugger of choice. There&#8217;s a free version of the Visual Studio suite called the Express edition available which you can download and use.</p>
<p>Now to make it work&#8230;</p>
<ol>
<li>
<p>Enable Script debugging in Internet Explorer.</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_5.png" atomicselection="true" rel="lightbox"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="99" alt="Internet Explorer Settings" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_thumb_5.png" width="78" border="0"/></a></p>
<li>
<p>Create a New Solution with an Empty Website (File &gt; New &gt; Web Site&#8230;)</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/WebProject.png" atomicselection="true" rel="lightbox"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="87" alt="New WebSite Project" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/WebProject_thumb.png" width="132" border="0"/></a></p>
<li>
<p>Go to Property Pages for the new Website in Solution Explorer and enter the URL you want to debug. Don&#8217;t worry if you don&#8217;t know the URL, just enter any URL and fire the breakpoints only when you hit the required URL.</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/PropertyPages.png" atomicselection="true" rel="lightbox"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="75" alt="Property Pages" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/PropertyPages_thumb.png" width="132" border="0"/></a></p>
<li>
<p>You might get a dialog asking you to include the web.config file. Answer Yes and continue. Now you will be surfing with the debugger attached to Internet Explorer. You can hit pause, set breakpoints and even skip those functions that don&#8217;t interest you <img src='http://www.smart-techie.com/blog/smilies/msn_wink.gif' alt='&#59;&#41;' class='wp-smiley' width='19' height='19' title='&#59;&#41;' /></p>
</li>
</ol>
<h3>Using&nbsp;Venkman with Firefox</h3>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_6.png" atomicselection="true" rel="lightbox"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="99" alt="Venkman Firefox shortcut" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_thumb_6.png" width="56" border="0"/></a></p>
<p>I would have loved it if Visual Studio also worked with Firefox. There&#8217;s a solution called <a href="http://www.mozilla.org/projects/venkman/" target="_blank" rel="nofollow">Venkman</a>. I won&#8217;t go through the complete detail of how to go about using it, you can read it up <a href="http://www.mozilla.org/projects/venkman/venkman-walkthrough.html" target="_blank" rel="nofollow">here</a>.</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_7.png" atomicselection="true" rel="lightbox"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="94" alt="Venkman Firefox" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_thumb_7.png" width="132" border="0"/></a></p>
<p>I haven&#8217;t found a way to skip code (a la Visual Studio) using this yet. </p>
<p>You can change variable values by directly typing the JavaScript code for it. </p>
<p>The interface doesn&#8217;t have all the bells and whistles but should be able to get most of your work done.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-techie.com/blog/2007/06/inspecting-web-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secure Web Interfaces</title>
		<link>http://www.smart-techie.com/blog/2007/06/creating-secure-web-interfaces/</link>
		<comments>http://www.smart-techie.com/blog/2007/06/creating-secure-web-interfaces/#comments</comments>
		<pubDate>Sun, 24 Jun 2007 11:47:55 +0000</pubDate>
		<dc:creator>Rohit</dc:creator>
				<category><![CDATA[Coding/ Programming]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.smart-techie.com/blog/2007/06/creating-secure-web-interfaces/</guid>
		<description><![CDATA[On the Internet, security is overrated. Every third site you visit talks about it. But&#160;still, not many sites take steps to implement it. This has been the complaint of people all these years and is still true today. Unless it is a site that is dealing with financial transactions, most interfaces provided by these sites [...]]]></description>
			<content:encoded><![CDATA[<p>On the Internet, security is overrated. Every third site you visit talks about it. But&nbsp;still, not many sites take steps to implement it. This has been the complaint of people all these years and is still true today. Unless it is a site that is dealing with financial transactions, most interfaces provided by these sites are non-secure and prone to client side attacks. I believe it is a false assumption that unless your site is processing a credit card payments, it doesn&#8217;t need security. Security is not just about protecting &#8216;monetary transactions&#8217;. It is more than that, it involves protecting your computational resources (bandwidth, CPU usage), intellectual resources (JS files, web services) and of course, the services that the site is providing (like acting as a SMS gateway).</p>
<p>In this post I take a look at some ridiculously simple security blunders committed by popular sites. These might not always be critical but provide an interesting insight into the design quality metrics followed at these companies.</p>
<p>While surfing the Net, whenever I see a website offering a cool service, my natural instinct is to find out how they are doing it. For example, Rediff used to have this ActiveX based multilingual mail composition feature, which they replaced with a JavaScript based one. Cool! So now I could work on Firefox and still send my mail in Hindi! How (naively?) were they doing this? Create an IFrame and put the entire composition feature in it. Hmmm, OK, but couldn&#8217;t someone just rip off the JS files and create, say, a multilingual composition plugin for WordPress using their code. Access to the .js files doesn&#8217;t even require a login to the Rediff servers and using them is as easy as pointing the URL to <a title="http://f1mail.rediff.com/quill/QuillPadWeb.html" href="http://f1mail.rediff.com/quill/QuillPadWeb.html">http://f1mail.rediff.com/quill/QuillPadWeb.html</a>. I am not sure what their testing team (if they have one) thought of this, but this allows someone to use the cool text entry interface by just copying 4 files off the Rediff site.</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image.png" atomicselection="true" rel="lightbox"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="76" alt="image" src="http://i104.photobucket.com/albums/m190/rohit_sud/Blog/image_thumb.png" width="132"/></a> </p>
<p>The easiest way to thwart leechers is to deny access to the scripts unless you are logged on. That would take care of <a href="http://en.wikipedia.org/wiki/Direct_linking" target="_blank">direct linking</a> (protecting computational resources). But there&#8217;s no easy solution if someone just copies the files off the server and hosts them on his website (protecting intellectual resources). What do you do then? Probably obfuscate the code enough so that he never knows what file he has to copy. Yahoo mail does an excellent job of the obfuscation. Even their images are <em>protected</em> (in a loose way) by referring them through their MD5 hashes; enough to deter a casual hacker.</p>
<p>Another flaw is doing all (and I mean <strong>ALL</strong>) the validation at the client side using JavaScript. Client side validation is a nice way to&nbsp;reduce load&nbsp;at the server end. But sometimes, this solution is implemented without safeguards.
<p>While designing any API, there is a golden rule that has to be followed&#8230; <code><br />
<blockquote>All input is evil</p></blockquote>
<p></code>
<p>Agreed, you have JS to check and ensure that the user input is correct. But what if I <a href="http://en.wikipedia.org/wiki/Code_injection" target="_blank">inject code</a> through your web service using a simple script debugger like Visual Studio for IE and <a href="http://www.mozilla.org/projects/venkman/" target="_blank" rel="nofollow">Venkman</a> for Firefox. Even if I am not able to inject code, I will certainly be able to inject syntactically valid input data which&nbsp;is still invalid.&nbsp;To illustrate, imagine a banking service where&nbsp;the amount that can be withdrawn is checked against current balance using JavaScript. I could very well skip the function, overwrite the function which gets the current balance and a lot more.&nbsp;Unless the server is checking the validity of the transaction itself, I&nbsp;would be able&nbsp;to make any kind of transaction.</p>
<p>In my <a href="http://www.smart-techie.com/blog/2007/06/inspecting-web-interfaces/">next post</a> I will discuss, some techniques that can be misused to thwart JavaScript based validations. The purpose of the post will be to further educate software designers about the pitfalls of client side validation which is not backed by robust server side validation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-techie.com/blog/2007/06/creating-secure-web-interfaces/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sharing Firefox profiles across Operating Systems</title>
		<link>http://www.smart-techie.com/blog/2007/03/sharing-firefox-profiles-across-operating-systems/</link>
		<comments>http://www.smart-techie.com/blog/2007/03/sharing-firefox-profiles-across-operating-systems/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 15:18:22 +0000</pubDate>
		<dc:creator>Rohit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.smart-techie.com/blog/2007/03/sharing-firefox-profiles-across-operating-systems/</guid>
		<description><![CDATA[I like Firefox because of innumerable extensions and settings that are available to the user. Not only that, it is the&#160;(only?) browser that was available across all the operating systems which provided me with an OS independent experience that the Internet is truly meant to be.&#160; One of the gripes I had about this was [...]]]></description>
			<content:encoded><![CDATA[<p>I like Firefox because of innumerable extensions and settings that are available to the user. Not only that, it is the&nbsp;(only?) browser that was available across all the operating systems which provided me with an OS independent experience that the Internet is truly meant to be.&nbsp;</p>
<p>One of the gripes I had about this was that I had to install Firefox for every Operating System (OS) that was there on my computer. So on my home computer which had Windows ME, Windows XP and Ubuntu, I had to install Firefox separatelyfor each of them. I could understand this as they were separate OSes and required different binaries for themselves. But installing all the Extensions and Themes for each and every OS was just plain irritating.</p>
<p>Browsing through <a href="http://www.mozilla.org">www.mozilla.org</a> I saw an <a title="http://www.mozilla.org/support/firefox/profile" href="http://www.mozilla.org/support/firefox/profile" target="_blank" rel="nofollow">article</a> on Profile management in Firefox. Profiles allow different users to have individual settings for a software on the same computer. But this is not what I wanted to do. I wanted to use the <u>same profile</u> across different installations of <u>Firefox, on different OSes</u>, in my machine.</p>
<p>So how I did this was -</p>
<ol>
<li>
<p>This step can vary but I will outline the simplest solution. Linux can access your mounted FAT or NTFS drives easily. So we would create the profile folder on a Windows partition and instruct Linux to read data from there.</p>
<p>For this, locate the profile in Windows and note down the name like <code><var>xxxxxxxx</var>.default</code>. It will reside&nbsp;&nbsp;
<ul>
<li>On <strong>Windows Vista/XP/2000</strong>, the path is usually <code>%AppData%\Mozilla\Firefox\Profiles\<var>xxxxxxxx</var>.default\</code>, where <var>xxxxxxxx</var> is a random string of 8 characters. Just browse to <code>C:\Documents and Settings\<var>[User Name]</var>\Application Data\Mozilla\Firefox\Profiles\</code> on Windows XP/2000 or <code>C:\users\<var>[User Name]</var>\AppData\Roaming\Mozilla\Firefox\Profiles\</code> on Windows Vista, and the rest should be obvious.
<li>On <strong>Windows 95/98/Me</strong>, the path is usually <code>C:\WINDOWS\Application Data\Mozilla\Firefox\Profiles\<var>xxxxxxxx</var>.default\</code></li>
</ul>
<li>
<p>Now for each of the other OSes, open up <code>profiles.ini</code> in a text editor. The file is located in the <em>application data folder</em> for Firefox: </p>
<ul>
<li>On <strong>Windows Vista/XP/2000</strong>, the path is <code>%AppData%\Mozilla\Firefox\</code>
<li>On <strong>Windows 95/98/Me</strong>, the path is usually <code>C:\WINDOWS\Application Data\Mozilla\Firefox\</code>
<li>On <strong>Linux</strong>, the path is <code>~/.mozilla/firefox/</code></li>
</ul>
<li>Change <code>IsRelative=1</code> to <code>IsRelative=0</code>.
<li>Change <code>Path=&lt;something&gt;</code> to <code>Path=<code>C:\WINDOWS\Application Data\Mozilla\Firefox\Profiles\<var>xxxxxxxx</var>.default\</code></code> (assuming that the profile that you selected in step 1 was in this location).
<li>For Linux, set the <code>Path</code> according to the location of the folder in the mounted drive (Assuming the local mount folder is <code>/media/cdrive</code> your path will be <code>/media/cdrive/WINDOWS/Application Data/Mozilla/Firefox/Profiles/<var>xxxxxxxx</var>.default</code>)
<li>That&#8217;s it! Your Firefox Extensions, Themes, Settings, Cache and History will be shared across all the operating Systems.</li>
</ol>
<div contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati tags: <a href="http://technorati.com/tags/Firefox" rel="tag">Firefox</a>, <a href="http://technorati.com/tags/profiles" rel="tag">profiles</a>, <a href="http://technorati.com/tags/multiple%20OS" rel="tag">multiple OS</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-techie.com/blog/2007/03/sharing-firefox-profiles-across-operating-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make Yahoo Mail Beta work with any Operating System</title>
		<link>http://www.smart-techie.com/blog/2006/12/make-yahoo-mail-beta-work-with-any-operating-system/</link>
		<comments>http://www.smart-techie.com/blog/2006/12/make-yahoo-mail-beta-work-with-any-operating-system/#comments</comments>
		<pubDate>Mon, 04 Dec 2006 15:48:41 +0000</pubDate>
		<dc:creator>Ankit</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.smart-techie.com/blog/2006/12/general/make-yahoo-mail-beta-work-with-any-operating-system/</guid>
		<description><![CDATA[A lot of friends had been asking me as to how my Yahoo Mail Beta would work on Windows Millennium, Windows 98 or Linux, so I am writing about it here.&#160; We start from the basics of the problem to solve it (college taught me something didn&#8217;t it ) How does Yahoo know i am [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of friends had been asking me as to how my <strong>Yahoo Mail Beta would work on Windows Millennium, Windows 98</strong> <strong>or Linux</strong>, so I am writing about it here.&nbsp;</p>
<p>We start from the basics of the problem to solve it (college taught me something didn&#8217;t it <img src='http://www.smart-techie.com/blog/smilies/msn_wink.gif' alt='&#59;&#41;' class='wp-smiley' width='19' height='19' title='&#59;&#41;' /> ) How does Yahoo know i am not using Windows XP ? Answer is your user agent , the browser communicates your user agent to any site you access. Any workaround? </p>
<p>In Opera : No easy way, but in Firefox one can edit the useragent easily and that&#8217;s what&#8217;s going to help us. </p>
<p>Step 1 : Backup Everything , Although the step doesn&#8217;t involve anything risky AFAIK, I still tell you to backup and release myself from liability. In this case just remember the key value that you are going to edit or even better make it blank! </p>
<p>Step 2 : Type about:config in your address bar </p>
<p>Step 3 : Right Click on any entry, Select new string and enter string name as &#8216;general.useragent.override&#8217;. </p>
<p>Step 4 : Take Your Pick Mozilla Firefox versions from <a href="http://en.wikipedia.org/wiki/User_agent#Browsers">http://en.wikipedia.org/wiki/User_agent#Browsers</a> or just use<br />
<blockquote>
<pre class="&rdquo;code&rdquo;"><code> Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0.1</code>
</pre>
</blockquote>
<p> You might want to replace the version at the end to suit your version of Firefox.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-techie.com/blog/2006/12/make-yahoo-mail-beta-work-with-any-operating-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Orkut for Opera Mini</title>
		<link>http://www.smart-techie.com/blog/2006/10/orkut-for-opera-mini/</link>
		<comments>http://www.smart-techie.com/blog/2006/10/orkut-for-opera-mini/#comments</comments>
		<pubDate>Tue, 17 Oct 2006 19:18:44 +0000</pubDate>
		<dc:creator>Rohit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Links]]></category>

		<guid isPermaLink="false">http://www.smart-techie.com/blog/2006/10/computing/software/orkut-for-opera-mini/</guid>
		<description><![CDATA[I have seen some people sit for HOURS at the social networking site called Orkut. Many of them even try to get onto the site through their puny mobile browsers. Some time ago I had written about Opera Mini and how well it rendered pages; even those with Javascript. However it has a flaw&#8230; poor/no [...]]]></description>
			<content:encoded><![CDATA[<p>I have seen some people sit for HOURS at the social networking site called Orkut. Many of them even try to get onto the site through their puny mobile browsers. Some time ago I had written about Opera Mini and how well it rendered pages; even those with Javascript. However it has a flaw&#8230; poor/no support for AJAX. With Google pushing its AJAX login box inside an IFrame on every one of its services, logging in through Opera Mini on its sites it next to impossible.</p>
<p>Same with Orkut. So for all you Orkut fanatics out there I came up with a URL that would allow you to get there even with Opera Mini!</p>
<p>The link is</p>
<p><a href="https://www.google.com/accounts/ServiceLoginBox?service=orkut&#038;nui=2&#038;uilel=1&#038;skipvpage=true&#038;continue=https%3A%2F%2Fwww.orkut.com%2FRedirLogin.aspx%3Fmsg%3D0%26page%3Dhttp%253A%252F%252Fwww.orkut.com%252F&#038;followup=https%3A%2F%2Fwww.orkut.com%2FGLogin.aspx&#038;hl=en-US">https://www.google.com/accounts/ServiceLoginBox?service=orkut&#038;&#8230;</a></p>
<p>This is NO CUSTOM link but a link to the login box page provided by Google. I think with a little modification, other services which use the &#8220;Google Box&#8221; can also be made more accessible. Feel free to submit if you come up with any and I will post them here <img src='http://www.smart-techie.com/blog/smilies/msn_smiley.png' alt='&#58;&#41;' class='wp-smiley' width='21' height='21' title='&#58;&#41;' /><br />
<span id="more-11"></span><br />
P.S. It seems people were not able to scrap using Opera Mini. To do this type your scrap in the text box, then type <a href="#comment-399">this Javascript</a> as the URL in the browser and your scrap will be posted! You might want to bookmark the URL for easier access <img src='http://www.smart-techie.com/blog/smilies/msn_smiley.png' alt='&#58;&#41;' class='wp-smiley' width='21' height='21' title='&#58;&#41;' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-techie.com/blog/2006/10/orkut-for-opera-mini/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Skype: Call US and Canada for free in 2006</title>
		<link>http://www.smart-techie.com/blog/2006/10/skype-call-us-and-canada-for-free-in-2006/</link>
		<comments>http://www.smart-techie.com/blog/2006/10/skype-call-us-and-canada-for-free-in-2006/#comments</comments>
		<pubDate>Tue, 10 Oct 2006 16:14:45 +0000</pubDate>
		<dc:creator>Rohit</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.smart-techie.com/blog/2006/10/computing/software/skype-call-us-and-canada-for-free-in-2006/</guid>
		<description><![CDATA[Now, this is old news. However, since I just helped some folks at my office configure Skype to make free calls to US and/or Canada, I thought of blogging this. You can download Skype from the link given below&#8230; What you essentially require is an access to a proxy server in US or Canada. The [...]]]></description>
			<content:encoded><![CDATA[<p>Now, <a href="http://share.skype.com/sites/en/2006/05/free_calls_to_all_landlines_an.html">this</a> is old news. However, since I just helped some folks at my office configure Skype to make free calls to US and/or Canada, I thought of blogging this. You can download Skype from the link given below&#8230;<br />
<a href="http://www.jdoqocy.com/t3121p-85-7NQSSQWRPNPORWUSSO" target="_blank" onmouseover="window.status='http://www.skype.com';return true;" onmouseout="window.status=' ';return true;"><br />
<img src="http://www.lduhtrp.net/1f106fz2rxvGJLLJPKIGIHKPNLLH" alt="" border="0"/></a><br />
What you essentially require is an access to a proxy server in US or Canada. The reason for this is that Skype tracks your location by checking the geographical region to which your IP address belongs. You can probably use some site like http://www.geobytes.com/IpLocator.htm to determine where your web gateway is located. If you are not in US or Canada, you can search for some proxy servers that route your data through them. A lot of them are available for free use, just search for &#8220;proxy servers&#8221; on Google and you will come across thousands of them. But not all of these lists are accurate or updated. Just try your luck with each of these servers that are located in US or Canada and see if you can get through. To test them, just enter the proxy IP address in Connection Settings in IE or Firefox, and try to open some site like google.com. If you are able to load the page, then you&#8217;re in luck and you can use them.</p>
<p>Next feed that proxy server in <a href="http://share.skype.com/in/29/284327">Skype</a> in the Tools>Options&#8230;>Connections window. But you are not done yet! Configure your firewall to allow Skype to access only <em>that</em> IP address that was of your proxy server. If you are running Windows XP, you can use the built in firewall to achieve this purpose.</p>
<p><a href="http://i104.photobucket.com/albums/m190/rohit_sud/Skype.jpg" rel="lightbox"><img src="http://s104.photobucket.com/albums/m190/rohit_sud/th_Skype.jpg" alt="Firewall settings for Skype" /></a></p>
<p>Now start Skype and start calling for free (at least till the end of this year <img src='http://www.smart-techie.com/blog/smilies/msn_smiley.png' alt='&#58;&#41;' class='wp-smiley' width='21' height='21' title='&#58;&#41;' /> )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-techie.com/blog/2006/10/skype-call-us-and-canada-for-free-in-2006/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random thoughts == System.Random(object thought)</title>
		<link>http://www.smart-techie.com/blog/2006/09/random-thoughts-systemrandomobject-thought/</link>
		<comments>http://www.smart-techie.com/blog/2006/09/random-thoughts-systemrandomobject-thought/#comments</comments>
		<pubDate>Fri, 15 Sep 2006 19:30:03 +0000</pubDate>
		<dc:creator>Rohit</dc:creator>
				<category><![CDATA[Coding/ Programming]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.smart-techie.com/blog/2006/09/general/random-thoughts-systemrandomobject-thought/</guid>
		<description><![CDATA[This is the state of my mind at this precise moment. Thinking of code as well as trying to think of something else. Its Friday night, I&#8217;ve had my dinner and am really tired to do any more work. Thought of updating my blog, as it has been weeks since I last did it. Just [...]]]></description>
			<content:encoded><![CDATA[<p>This is the state of my mind at this precise moment. Thinking of code as well as trying to think of something else. Its Friday night, I&#8217;ve had my dinner and am really tired to do any more work. Thought of updating my blog, as it has been weeks since I last did it. Just when I had thought I was going to be working on Java at Trilogy, I changed my plans for no <em>apparent</em> reason and came to Microsoft. Here one, obviously, won&#8217;t work on Java. But imagine my luck, I got to work on its cousin or should I say successor (as Microsoft would like to see it IMHO; I don&#8217;t express any opinions about and of the company, this is a personal blog). This is really cool, I mean working in a familiar domain, with System.Console.println replaced by System.Console.WriteLine most of the things are same. What is not same is the GUI features provided by WinFX or Avalon framework. They are really cool, I mean we can use markup to generate complete UIs which are absolutely STUNNING. In Java or even VC++, I would have to spend hours to write the code, but thanks to the combination of C# and XAML, its a piece of cake to do so.</p>
<p>&nbsp;</p>
<p>&nbsp;<a href='http://www.smart-techie.com/blog/wp-content/uploads/2007/05/winfx.png' title='WinFX' rel="lightbox"><img src='http://www.smart-techie.com/blog/wp-content/uploads/2007/05/winfx.thumbnail.png' alt='WinFX' />WinFX / Avalon</a> </p>
<p>&nbsp;</p>
<p><u><strong>XAML, the new tool (pronounced <em>zammel)</em></strong></u> XAML is an XML based system to create GUIs. BUt it can do much more than that. It provides for cool concepts like data binding. This is something like an element will automatically update its properties based on the properties of another element. So you can have the color of text in a TextBox to be the same as the Background of the Button which is an image. It as simple as writing a markup without any lines of code in C#. The power of XAML is truly phenomenal! <strong>Code: </strong></p>
<blockquote><p><code><span style="color: #0000ff">&lt;</span><span style="color: #800000">Page </span><span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://schemas.microsoft.com/winfx/2006/xaml/presentation"</span><span style="color: #ff0000"> xmlns: sys</span><span style="color: #0000ff">="clr-namespace: System;assembly=mscorlib"</span><span style="color: #ff0000"><br />
 xmlns: x</span><span style="color: #0000ff">="http://schemas.microsoft.com/winfx/2006/xaml"</span><span style="color: #ff0000"> </span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Page</span><span style="color: #ff0000">.Resources</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ImageBrush </span><span style="color: #ff0000">x:Key</span><span style="color: #0000ff">="SomeImage"</span><span style="color: #ff0000"> ImageSource</span><span style="color: #0000ff">="C:\\Documents and Settings\\All Users\\Documents\\My Pictures\\Sample Pictures\\Sunset.jpg"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Page.Resources</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">StackPanel </span><span style="color: #ff0000">Height</span><span style="color: #0000ff">="150"</span><span style="color: #ff0000"> Width</span><span style="color: #0000ff">="350"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Button </span><span style="color: #ff0000">Background</span><span style="color: #0000ff">="{StaticResource SomeImage}"</span><span style="color: #ff0000"> Name</span><span style="color: #0000ff">="button"</span><span style="color: #ff0000"> Height</span><span style="color: #0000ff">="60"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
      </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">TextBox </span><span style="color: #ff0000">Foreground</span><span style="color: #0000ff">="{Binding Path=Background, ElementName=button}"</span><span style="color: #ff0000"> FontSize</span><span style="color: #0000ff">="20"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
        Some Text with a picture background<br />
    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">TextBox</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">StackPanel</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Page</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"></p>
<p></span><br />
</code>
</p></blockquote>
<p>And the result! </p>
<p><img alt="XAML screenshot" src="http://i104.photobucket.com/albums/m190/rohit_sud/xaml.jpg" border="0" /> Isn&#8217;t this great? Just a few lines of code was needed to produce such an application!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-techie.com/blog/2006/09/random-thoughts-systemrandomobject-thought/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Opera Mini, the GREATEST mobile browser on earth</title>
		<link>http://www.smart-techie.com/blog/2006/06/opera-mini-the-greatest-mobile-browser-on-earth/</link>
		<comments>http://www.smart-techie.com/blog/2006/06/opera-mini-the-greatest-mobile-browser-on-earth/#comments</comments>
		<pubDate>Thu, 22 Jun 2006 20:48:37 +0000</pubDate>
		<dc:creator>Rohit</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.smart-techie.com/blog/2006/06/computing/software/opera-mini-the-greatest-mobile-browser-on-earth/</guid>
		<description><![CDATA[Believe it or not, I&#8217;m posting from a mobile phone&#8230; Ever thought this was possible on a Blog without special features for mobile posting? Opera mini is a great software much better than ANY of the so called cell phone browsers. What&#8217;s more, it even supports some amount of javascript. I logged in to yahoo [...]]]></description>
			<content:encoded><![CDATA[<p><img align="right" title="Opera Mini Screenshot" alt="Opera Mini Screenshot" src="http://i104.photobucket.com/albums/m190/rohit_sud/opera-mini-screenshot.jpg" />Believe it or not, I&#8217;m posting from a mobile phone&#8230; Ever thought this was possible on a Blog without special features for mobile posting? Opera mini is a great software much better than ANY of the so called cell phone browsers. What&#8217;s more, it even supports some amount of javascript. I logged in to yahoo mail without any problem, composed a mail using the normal gmail html interface. It&#8217;s unbelievable!</p>
<p>Only hitch? Post size is limited by my cellphone <img src='http://www.smart-techie.com/blog/smilies/msn_tongue.png' alt='&#58;&#80;' class='wp-smiley' width='21' height='21' title='&#58;&#80;' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.smart-techie.com/blog/2006/06/opera-mini-the-greatest-mobile-browser-on-earth/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

