<?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>Shantanu's Technophilic Musings &#187; Tips</title>
	<atom:link href="http://tech.shantanugoel.com/category/tips/feed" rel="self" type="application/rss+xml" />
	<link>http://tech.shantanugoel.com</link>
	<description>Shantanu's Gadgets, Gizmos, Hacks, Tips, Tricks, Technology...and your kitchen sink</description>
	<lastBuildDate>Wed, 05 Oct 2011 20:23:23 +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>Use Encrypted Google Search As Default in Chrome</title>
		<link>http://tech.shantanugoel.com/2011/05/12/use-encrypted-google-search-as-default-in-chrome.html</link>
		<comments>http://tech.shantanugoel.com/2011/05/12/use-encrypted-google-search-as-default-in-chrome.html#comments</comments>
		<pubDate>Thu, 12 May 2011 04:26:21 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Encrypted Google Search]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google search]]></category>
		<category><![CDATA[Search]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/?p=342</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>Google just launched an encrypted search portal which is a Godsend for people on public networks since there is a lot that can be gleaned from your search queries. For doing your protected searches, however, you have to go to a different portal which I linked to above. Now, the omnibar (the address bar in <p>Continue reading <a href="http://tech.shantanugoel.com/2011/05/12/use-encrypted-google-search-as-default-in-chrome.html">Use Encrypted Google Search As Default in Chrome</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>Google just launched an <a title="Encrypted Google Search" rel="external nofollow" href="https://encrypted.google.com/" target="_blank">encrypted search portal</a> which is a Godsend for people on public networks since there is a lot that can be gleaned from your search queries. For doing your protected searches, however, you have to go to a different portal which I linked to above. Now, the omnibar (the address bar in Google Chrome) also serves as a search box but searches on the normal google portal by default. Here is a simple, few seconds process to switch it over to encrypted search.</p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<p>1. Click on the wrench/tool icon at the top of Google Chrome and go to Options.</p>
<p>2. On the &#8220;Basics&#8221; tab, go to the &#8220;Search&#8221; item and click on &#8220;Manage Search Engines&#8221;</p>
<p>3. Go to the very bottom of the new page that opens and you will see three empty boxes.</p>
<p>4. For the first box (leftmost), give any nickname for the engine. I gave &#8220;EncryptedGoogle&#8221;</p>
<p>5. For second box, give a keyword that invokes the new search engine. I gave &#8220;encrypted.google.com&#8221;</p>
<p>6. For last box, give the url for the search engine. This should be</p>
<blockquote><p>https://encrypted.google.com/search?{google:RLZ}{google:acceptedSuggestion}{google:originalQueryForSuggestion}sourceid=chrome&amp;ie={inputEncoding}&amp;q=%s</p></blockquote>
<p>7. Press Enter and the engine will be added to the list. Then hover over the engine row and click on &#8220;Make as default&#8221;. And you are done.</p>
<p>Happy safe searching <img src='http://tech.shantanugoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2011/05/12/use-encrypted-google-search-as-default-in-chrome.html">Use Encrypted Google Search As Default in Chrome</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2011/05/12/use-encrypted-google-search-as-default-in-chrome.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>What does caret (^) in an apt-get command mean?</title>
		<link>http://tech.shantanugoel.com/2010/10/23/apt-get-caret.html</link>
		<comments>http://tech.shantanugoel.com/2010/10/23/apt-get-caret.html#comments</comments>
		<pubDate>Sat, 23 Oct 2010 18:03:06 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[apt-get caret]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[tasksel]]></category>
		<category><![CDATA[tasksel apt-get]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/?p=312</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>If you have come across a tutorial or just someone on a forum who tells you to install something in Debian/Ubuntu that involves using apt-get, it is ok for you but when they tell you that you need to use a caret symbol (^) at the end, that&#8217;s where you become curious. What is even <p>Continue reading <a href="http://tech.shantanugoel.com/2010/10/23/apt-get-caret.html">What does caret (^) in an apt-get command mean?</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>If you have come across a tutorial or just someone on a forum who tells you to install something in Debian/Ubuntu that involves using apt-get, it is ok for you but when they tell you that you need to use a caret symbol (^) at the end, that&#8217;s where you become curious. What is even more weird is that when you search for the name of the package that the given command seems to install cannot be found using apt-cache search. e.g. You will see this used most often when someone tells you how to install LAMP server setup (Linux-Apache-MySQL-PHP) by using the command &#8220;sudo apt-get install lamp-server^&#8221;. If you miss the caret at the end or try to search for lamp-server, it just doesn&#8217;t work.</p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<p>Well, the answer is that the caret symbol is a short form for performing a task that otherwise the program &#8220;tasksel&#8221; would have done with the given package name. tasksel is a program to ease the installation of commonly used things that go together for a particular use. e.g. In the above instance of LAMP, the four packages and their dependencies are always used together, so tasksel provides a sort of a meta-package or meta-task that can be run by the user with a single command and then tasksel will take it upon itself to install all of them and set them up correctly for your use. Now, apt-get provides a way to perform that same task by itself without you having to install tasksel first and all you have to do is to give that same package name to apt-get but just append a caret at the end to tell apt-get that it is a tasksel package/task identifier and not a regular package name in debian/ubuntu repositories.</p>
<p>Hope that clears things up <img src='http://tech.shantanugoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2010/10/23/apt-get-caret.html">What does caret (^) in an apt-get command mean?</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2010/10/23/apt-get-caret.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Setup Call Recording With Android App Tasker On Nexus One</title>
		<link>http://tech.shantanugoel.com/2010/09/24/setup-call-recording-android-app-tasker-nexus-one.html</link>
		<comments>http://tech.shantanugoel.com/2010/09/24/setup-call-recording-android-app-tasker-nexus-one.html#comments</comments>
		<pubDate>Fri, 24 Sep 2010 10:01:16 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[android apps]]></category>
		<category><![CDATA[android call recorder]]></category>
		<category><![CDATA[android tasker]]></category>
		<category><![CDATA[nexus one call recorder]]></category>
		<category><![CDATA[tasker]]></category>
		<category><![CDATA[tasker call recorder]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/2010/09/24/setup-call-recording-android-app-tasker-nexus-one.html</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>I wanted to record calls on my Android phone (Nexus one). The easy way would have been to download an app but I like tinkering. And given that I recently bought Tasker, android’s very own swiss knife, I thought I should give it a run. After just an hour I was able to create my <p>Continue reading <a href="http://tech.shantanugoel.com/2010/09/24/setup-call-recording-android-app-tasker-nexus-one.html">Setup Call Recording With Android App Tasker On Nexus One</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>I wanted to record calls on my Android phone (Nexus one). The easy way would have been to download an app but I like tinkering. And given that I recently bought <a rel="external nofollow" href="http://tasker.dinglisch.net/">Tasker</a>, android’s very own swiss knife, I thought I should give it a run. After just an hour I was able to create my very own call recorder (some time went into trial and error with things as this was my first major task with tasker and also some things didn’t work with nexus one, which I will note below). I’ll outline the process to set it up here in as much detail as possible and will also provide the profiles. Please note that I made this setup for nexus one but it should work on pretty much any android phone and, in fact, it might work even better on your phone by making a few tweaks that I will outline as Nexus one doesn’t allow jacking into the call streams directly but your phone might.</p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<p>So, let’s begin. My visioned scenario is like this:</p>
<p>1. When you start a call (incoming or outgoing), i.e., when both the parties have picked up the phone, a notification should appear in the status bar.</p>
<p>2. Clicking on this notification should start recording the call. It should also give way to another notification now.</p>
<p>3. This new notification should stop the call recording when clicked.</p>
<p>4. If you don’t stop the call recording, the recording should automatically stop when the call ends.</p>
<p>To achieve the steps mentioned above, you will have to create “4” profiles in tasker. The xml files for these profiles are provided in a zip at the end of this article that you can download and import into tasker directly. If you want to understand more about whats going on, here are the details of each profile so that you can understand and modify them according to your needs. These profiles are:</p>
<p><span id="more-303"></span></p>
<p><strong><span style="text-decoration: underline;">Profile 1. Call Started</span></strong></p>
<p>Tasker description:</p>
<p>Profile: Call started<br />
Event: Phone Offhook<br />
Enter: 11<br />
Execute, Abort New Task<br />
A0: Variable Clear [ Name:%RECORDING ]<br />
A1: Notify [ Title:Record Call Text: Icon: Number: Permanent: ]</p>
<p><strong>Notes:</strong> None</p>
<p><strong><span style="text-decoration: underline;">Profile 2. Record Call</span></strong></p>
<p>Tasker description:</p>
<p>Profile: Record call<br />
Event: Notification Click<br />
Enter: Record Call<br />
Execute, Abort New Task<br />
A0: Notify Cancel [ Title:Record Call Warn Not Exist: ]<br />
A1: Variable Set [ Name:%RECORDING To:1 Do Maths: Append: ]<br />
A2: In-Call Volume [ Level:5 Display: Sound: ]<br />
A3: Speakerphone [ Set:On ]<br />
A4: Flash [ Text:Started Recording Long: ]<br />
A5: Notify [ Title:Stop Record Call Text: Icon: Number: Permanent: ]<br />
A6: Record Audio [ File:shantz/call-%CNUM-%CDATE-%CTIME Source:Microphone MaxSize: ]</p>
<p><strong>Notes: </strong>Note the steps A2, A3 and A6. Basically Nexus one has a limitation that you cannot record directly from the call streams. So, I’m doing the recording from the microphone and this works best if the phone is in speakerphone mode. So, I’m turning up the call volume and setting speakerphone mode in A2 and A3 respectively. You can try tweaking these 2 steps (having different call volumes and not engaging speakerphone mode and you might have passable results without doing these as well). Also, try using “Call”, “Incoming Call”, “Outgoing Call” etc as sources in step A6 instead of microphone to check if your phone supports direct call stream recording. If it does, then you will have excellent recording quality and you can also remove steps A2 and A3.</p>
<p><strong><span style="text-decoration: underline;">Profile 3. Stop Record Call</span></strong></p>
<p>Tasker description:</p>
<p>Profile: Stop record call<br />
Event: Notification Click<br />
Enter: Stop Record Call<br />
Execute, Abort New Task<br />
A0: Record Audio Stop [ ]<br />
A1: Notify Cancel [ Title:Record Call Warn Not Exist: ]<br />
A2: Notify Cancel [ Title:Stop Record Call Warn Not Exist: ]<br />
A3: Flash [ Text:Stopped Recording Long: ]<br />
A4: Variable Clear [ Name:%RECORDING ]<br />
A5: Speakerphone [ Set:Off ]</p>
<p><strong>Notes: </strong>None</p>
<p><strong><span style="text-decoration: underline;">Profile 4. Call Complete</span></strong></p>
<p>Tasker description:</p>
<p>Profile: Call complete<br />
Event: Phone Idle<br />
Enter: Stop Record Call<br />
Execute, Abort New Task<br />
A0: Record Audio Stop [ ]<br />
A1: Notify Cancel [ Title:Record Call Warn Not Exist: ]<br />
A2: Notify Cancel [ Title:Stop Record Call Warn Not Exist: ]<br />
A3: Flash [ Text:Stopped Recording Long: ]<br />
A4: Variable Clear [ Name:%RECORDING ]<br />
A5: Speakerphone [ Set:Off ]</p>
<p><strong>Notes: </strong>None</p>
<p><strong><a title="Android Tasker Call Record Profiles" href="http://tech.shantanugoel.com/resources/downloads/android-tasker-call-record-profiles.zip">Download: Android Tasker Call Record Profiles</a></strong></p>
<p>And we are done, you can download the profile xml files in the zip file linked here.</p>
<p>Let me know if you need any clarifications on the above steps. I would also love to get your suggestions to make this better or if you have any of your own tasker tips and tricks. I’ll be posting more of my tasker adventures soon <img src='http://tech.shantanugoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2010/09/24/setup-call-recording-android-app-tasker-nexus-one.html">Setup Call Recording With Android App Tasker On Nexus One</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2010/09/24/setup-call-recording-android-app-tasker-nexus-one.html/feed</wfw:commentRss>
		<slash:comments>48</slash:comments>
		</item>
		<item>
		<title>Android Dev Tip: App Not Showing on X10 Mini Marketplace</title>
		<link>http://tech.shantanugoel.com/2010/08/08/android-dev-tip-app-not-showing-on-x10-mini-marketplace.html</link>
		<comments>http://tech.shantanugoel.com/2010/08/08/android-dev-tip-app-not-showing-on-x10-mini-marketplace.html#comments</comments>
		<pubDate>Sat, 07 Aug 2010 21:18:06 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[android apps]]></category>
		<category><![CDATA[android development]]></category>
		<category><![CDATA[Android Manifest]]></category>
		<category><![CDATA[Android Marketplace]]></category>
		<category><![CDATA[android programming]]></category>
		<category><![CDATA[android tips]]></category>
		<category><![CDATA[Wi-Fi Keep Alive]]></category>
		<category><![CDATA[Xperia X10 Mini]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/?p=295</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>Many Android Developers (and users) get confused that why a certain app isn&#8217;t showing up on the new Xperia X10 Mini (and few other) phones. This happens even if they support all android versions and have published their apps for all countries, so that shouldn&#8217;t be the issue. I came across this as well when <p>Continue reading <a href="http://tech.shantanugoel.com/2010/08/08/android-dev-tip-app-not-showing-on-x10-mini-marketplace.html">Android Dev Tip: App Not Showing on X10 Mini Marketplace</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>Many Android Developers (and users) get confused that why a certain app isn&#8217;t showing up on the new Xperia X10 Mini (and few other) phones. This happens even if they support all android versions and have published their apps for all countries, so that shouldn&#8217;t be the issue. I came across this as well when few people mentioned that they couldn&#8217;t find my app <a title="Android Wi-Fi Keep Alive" href="http://tech.shantanugoel.com/projects/android/wi-fi-keep-alive" target="_blank">Wi-Fi Keep Alive</a> in the X10 mini marketplace. On some digging into the android docs and the X10 mini specs, I found the issue.</p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<p>The problem is that the X10 mini has a very small screen with only a QVGA resolution. This screen size/resolution wasn&#8217;t supported by Android until recently and the Android system might not be able to scale resources and layouts designed for other screen sizes well enough to suit the X10 mini. Hence, the Android system designers have chosen that any app which does not declare explicit support for small screens (i.e., the app dev has tested his app on small screens and made any changes, if needed, and then declared that everything works fine in the Android Manifest) then it is considered not compatible by default and hence, the Android marketplace will filter your app out.</p>
<p>Now, this is a big loss. A lot of X10 minis were sold and there are lot of new low-tier and cheap Android smartphones coming out with this resolution, so it is a significant market share that you can&#8217;t afford to lose. The solution is simple. If the app does indeed work fine on small screens (or you have fixed it to work), then all you got to do is add the below mentioned line in your AndroidManifest.xml:</p>
<blockquote><p>&lt;supports-screens android:smallScreens=&#8221;true&#8221; /&gt;</p></blockquote>
<p>That&#8217;s it. Your app should now show up fine in all screen sizes markets. Note that for all other screen sizes and resolutions, Android considers the default support as true and your app will show in those markets even if you don&#8217;t make any explicit declarations for them. You can read more about this here: <a rel="external nofollow" href="http://developer.android.com/guide/practices/screens_support.html" target="_blank"title="Android Multiple Screen Support">Supporting Multiple Screens in Android</a></p>
<p><strong>Update: </strong><a rel="external nofollow" href="http://www.blundell-apps.com/" target="_blank">Blundell</a> pointed out in the comments that <a rel="external nofollow" href="http://developer.android.com/guide/practices/screens_support.html%23defaults" target="_blank">Android documentation</a> says</p>
<blockquote><p>If android:minSdkVersion or android:targetSdkVersion is &#8220;4&#8243; (Android 1.6) or higher, the default value for everything is true. If your application requires Android 1.6 features, but does not support these densities and/or screen sizes, you need to set the appropriate attributes to false.</p></blockquote>
<p>This should mean that small screens should be set as supported by default if you have your minSdk <strong>or</strong> targetSdk  set to anything above or equal to 4. However, in my case, my apps had minSdk as 3 but targetSdk as 7 or 8 but still they didn&#8217;t show up in X10 mini marketplace till I added the smallScreens support to true in my manifest file. If anyone has any ideas about as to why it was like this, please let me know.</p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2010/08/08/android-dev-tip-app-not-showing-on-x10-mini-marketplace.html">Android Dev Tip: App Not Showing on X10 Mini Marketplace</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2010/08/08/android-dev-tip-app-not-showing-on-x10-mini-marketplace.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>SSH Tunneling On Android</title>
		<link>http://tech.shantanugoel.com/2010/08/02/ssh-tunneling-android.html</link>
		<comments>http://tech.shantanugoel.com/2010/08/02/ssh-tunneling-android.html#comments</comments>
		<pubDate>Mon, 02 Aug 2010 10:53:36 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[android apps]]></category>
		<category><![CDATA[android connectbot]]></category>
		<category><![CDATA[android secure browsing]]></category>
		<category><![CDATA[android secure tunnel]]></category>
		<category><![CDATA[android ssh tunneling]]></category>
		<category><![CDATA[daap]]></category>
		<category><![CDATA[daap protocol]]></category>
		<category><![CDATA[itunes daap media server]]></category>
		<category><![CDATA[mt-daapd]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/?p=294</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>If you want to have a secure browsing environment or just want to access your home network securely without exposing extra services to the internet and without the mess that comes with setting up and maintaining a VPN server, ssh tunneling is your rescuer. In this post, I&#8217;ll tell you how to setup an ssh <p>Continue reading <a href="http://tech.shantanugoel.com/2010/08/02/ssh-tunneling-android.html">SSH Tunneling On Android</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>If you want to have a secure browsing environment or just want to access your home network securely without exposing extra services to the internet and without the mess that comes with setting up and maintaining a VPN server, ssh tunneling is your rescuer. In this post, I&#8217;ll tell you how to setup an ssh tunnel to your home network easily. Also look for some bonus tips at the end <img src='http://tech.shantanugoel.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<p>This article assumes that you have already installed and setup a ssh server (you can probably use openssh). Also, it assumes that the ssh server is accessible from the internet (i.e. you have appropriately forwarded the port on which ssh server is running). I&#8217;d also recommend that if you do not have a static IP for your home network, then sign up for a dynamic DNS service (I use dyndns.org) so that you can access your home network easily by using a domain name (e.g. myserver.dyndns.org) from outside.</p>
<p>Now, here is a step by step guide on what to do on your Android Phone (I&#8217;m doing this on a Nexus one but should be same for you as well):<span id="more-294"></span>1. Install an app called &#8220;connectbot&#8221; from the android marketplace. It is a FREE ssh client for android.</p>
<p>2. Open it and add the IP (or dynamic domain name as suggested above) and the port on which ssh server is running to the bottom and connect.<br />
<a href="http://tech.shantanugoel.com/uploads/ssh-tunnel-1.png"><img title="Android SSH Tunnel 1" src="http://tech.shantanugoel.com/uploads/ssh-tunnel-1-thumb.png" alt="Android SSH Tunnel 1" /></a></p>
<p>2. Once connected, press the menu button and select the icon which says &#8220;Port Forwards&#8221;<br />
<a href="http://tech.shantanugoel.com/uploads/ssh-tunnel-2.png"><img title="Android SSH Tunnel 2" src="http://tech.shantanugoel.com/uploads/ssh-tunnel-2-thumb.png" alt="Android SSH Tunnel 2" /></a></p>
<p>3. On this screen you can configure the ports to be used for tunneling. As you can see I already have my firefly server port configured for music streaming over itunes&#8217; DAAP protocol. Now, you can press &#8220;menu&#8221; button and click on &#8220;Add ports&#8221; and go to step 4.<br />
<a href="http://tech.shantanugoel.com/uploads/ssh-tunnel-3.png"><img title="Android SSH Tunnel 3" src="http://tech.shantanugoel.com/uploads/ssh-tunnel-3-thumb.png" alt="Android SSH Tunnel 3" /></a></p>
<p>4. You will see the dialog box as shown below. Here you can configure mainly two types of ports.<br />
<a href="http://tech.shantanugoel.com/uploads/ssh-tunnel-4.png"><img title="Android SSH Tunnel 4" src="http://tech.shantanugoel.com/uploads/ssh-tunnel-4-thumb.png" alt="Android SSH Tunnel 4" /></a></p>
<p>4a) First is for services that you want to access already running on your home network. e.g. in my case, I have a firefly media server (mt-daapd) running on a port &#8220;12345&#8243; and I want to access this just like I was on LAN over my home wi-fi. In such a case, select &#8220;type&#8221; as &#8220;Local&#8221;, source port as , say &#8220;56000&#8243; and destination as &#8220;ip:port&#8221; where ip is the your home local area IP of the machine on which the server is running (My server runs on router itself, which has IP 192.168.1.1) and the port is the actual port on which server is running (e.g. 12345 as we mentioned above). After doing this, just open the respective client app on your phone which wants to connect to this server and enter &#8220;127.0.0.1&#8243; as the ip and &#8220;56000&#8243; as the port to connect to and it will connect to server as if you were on your home network even over 3G or your office wi-fi.</p>
<p>4b) Secondly, you can use this tunnel to route all traffic to internet through home connection. For this, choose the type as &#8220;dynamic&#8221; and source port as, say, &#8221; 56001&#8243;. You don&#8217;t need to select a destination port here because any traffic that comes over this tunnel will be routed back to the internet using the destination ip and port as desired, e.g., specified in a browser&#8217;s address bar.</p>
<p><strong>Bonus: </strong>As I promised above, here is the bonus. For media streaming, you can use mt-daapd or firefly server on your home network, especially on a router like asus wl-500 or any other hackable router with custom firmware. For more info about how to set it up, you can check these posts:<a title="latest firefly server for router" href="http://tech.shantanugoel.com/2009/07/03/compiling-latest-firefly-mt-daapd-asus-wl-500w.html" target="_blank"> Latest Firefly server for your router</a> and <a title="Firefly sqlite error solution" href="http://tech.shantanugoel.com/2010/07/26/firefly-sqlite-error-unable-to-open-database-file-solution.html" target="_blank">firefly sqlite error solution</a>.  For android side things, install the &#8220;DAAP Client&#8221; app from the market place and click on &#8220;Add server&#8221; option and follow step 4a as mentioned above. And there it is, your own music streaming service anywhere in the world, over edge/3G or any other network <img src='http://tech.shantanugoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2010/08/02/ssh-tunneling-android.html">SSH Tunneling On Android</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2010/08/02/ssh-tunneling-android.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Firefly / sqlite error &#8220;unable to open database file&#8221; Solution</title>
		<link>http://tech.shantanugoel.com/2010/07/26/firefly-sqlite-error-unable-to-open-database-file-solution.html</link>
		<comments>http://tech.shantanugoel.com/2010/07/26/firefly-sqlite-error-unable-to-open-database-file-solution.html#comments</comments>
		<pubDate>Mon, 26 Jul 2010 18:11:40 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Asus]]></category>
		<category><![CDATA[Asus WL-500W]]></category>
		<category><![CDATA[daap]]></category>
		<category><![CDATA[daap protocol]]></category>
		<category><![CDATA[firefly]]></category>
		<category><![CDATA[itunes daap media server]]></category>
		<category><![CDATA[mt-daapd]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[sqlite error unable to open database file]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/?p=291</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>Recently I came across a weird error while trying to run firefly itunes server (mt-daapd) on my router (Asus wl-500w). It had something to do with sqlite and gave a vague message &#8220;Unable to open database file&#8221;. After going bonkers for a short time, I solved it and this is how.</p> <p>One of my hard <p>Continue reading <a href="http://tech.shantanugoel.com/2010/07/26/firefly-sqlite-error-unable-to-open-database-file-solution.html">Firefly / sqlite error &#8220;unable to open database file&#8221; Solution</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>Recently I came across a weird error while trying to run firefly itunes server (mt-daapd) on my router (Asus wl-500w). It had something to do with sqlite and gave a vague message &#8220;Unable to open database file&#8221;. After going bonkers for a short time, I solved it and this is how.</p>
<p>One of my hard disks crashed recently and unfortunately it was the one I had connected to my router to serve media to me all over the house (through PS3/laptop) or when I travel (through laptop/phone). I had all the data backed up but somehow didn&#8217;t preserve the firefly server. I rebuilt the server from source using my <a title="Compiling Latest Firefly mt-daapd for asus wl-500w" href="http://tech.shantanugoel.com/2009/07/03/compiling-latest-firefly-mt-daapd-asus-wl-500w.html" target="_blank">own guide</a> (Thank God I did it. I wouldn&#8217;t have been able to preserve my sanity finding all that out the hard way again.). But after doing all the installation and reconfiguration, it gave me a weird error &#8220;unable to open database file&#8221; every time and exited. I checked the permissions on the songs3.db file (in /opt/var/cache/mt-daapd for me) and made it writable by all but the issue persisted. I changed its ownership to the user under which firefly was running but the issue was still there. Finally I found that the server (or maybe its an sqlite thing) was trying to create a temp file in the cache directory for the transactions and since the user with which it was started, didn&#8217;t own the directory it wasn&#8217;t able to create the file in it.</p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<p>So, the fix: I did a &#8220;chown &lt;username&gt; /opt/var/cache/mt-daapd&#8221; on it and voila! the problem was fixed. I am a happy man now since I own a new android phone since last time and now able to stream all my music to my phone through itunes (daap protocol) server over an ssh tunnel <img src='http://tech.shantanugoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2010/07/26/firefly-sqlite-error-unable-to-open-database-file-solution.html">Firefly / sqlite error &#8220;unable to open database file&#8221; Solution</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2010/07/26/firefly-sqlite-error-unable-to-open-database-file-solution.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cannot Change Channel Problem With Asus WL-500W</title>
		<link>http://tech.shantanugoel.com/2010/07/13/cannot-change-channel-problem-with-asus-wl-500w.html</link>
		<comments>http://tech.shantanugoel.com/2010/07/13/cannot-change-channel-problem-with-asus-wl-500w.html#comments</comments>
		<pubDate>Tue, 13 Jul 2010 12:16:44 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Asus]]></category>
		<category><![CDATA[Asus WL-500g]]></category>
		<category><![CDATA[Asus WL-500W]]></category>
		<category><![CDATA[asus wl-500w channel]]></category>
		<category><![CDATA[Asus WL-500W firmware]]></category>
		<category><![CDATA[Asus WL-500W hacks]]></category>
		<category><![CDATA[lly]]></category>
		<category><![CDATA[oleg]]></category>
		<category><![CDATA[oleg custom firmware]]></category>
		<category><![CDATA[oleg firmware]]></category>
		<category><![CDATA[wi-fi channel]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/?p=286</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>Recently I found an issue with my asus wl-500w wi-fi router that I wasn&#8217;t able to change the channel on which it was transmitting. I moved to a new location which was totally jam-packed with other wi-fi networks using same channel as mine which was hampeing my connection. I tried for umpteen number of times. <p>Continue reading <a href="http://tech.shantanugoel.com/2010/07/13/cannot-change-channel-problem-with-asus-wl-500w.html">Cannot Change Channel Problem With Asus WL-500W</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>Recently I found an issue with my asus wl-500w wi-fi router that I wasn&#8217;t able to change the channel on which it was transmitting. I moved to a new location which was totally jam-packed with other wi-fi networks using same channel as mine which was hampeing my connection. I tried for umpteen number of times. Changing the channel through the web configuration did not give any error but I found that it was still transmitting at channel 1. I confirmed by checking on the &#8220;Status &amp; Log&#8221; page, checking the logs, and running &#8220;wl status&#8221; command through ssh and they all confirmed that it was transmitting at channel 1 only, no matter what I set it to in the configuration. I even opened an issue in the firmware project for the custom firmware (by oleg and lly) that I am using but they weren&#8217;t able to help me as the wi-fi drivers are binary only.</p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<p>But by sheer chance, I stumbled upon the solution finally by trial and error. The solution is that you should set the &#8220;Bandwidth&#8221; to 20 MHz in wi-fi configuration if you are using 802.11 G. If you set it to 40 MHz then it gets stuck somehow but as soon as I changed it to 20 MHz, I was able to see the channel change immediately after reboot. Here is the screenshot of the page where you can find this setting.</p>
<p><a href="http://tech.shantanugoel.com/uploads/asus-wl-500-w-change-channel.jpg"><img src="http://tech.shantanugoel.com/uploads/asus-wl-500-w-change-channel-thumb.jpg" alt="" /></a></p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2010/07/13/cannot-change-channel-problem-with-asus-wl-500w.html">Cannot Change Channel Problem With Asus WL-500W</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2010/07/13/cannot-change-channel-problem-with-asus-wl-500w.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Monitoring With Tail Fails</title>
		<link>http://tech.shantanugoel.com/2009/12/23/continuous-monitor-tail-fails.html</link>
		<comments>http://tech.shantanugoel.com/2009/12/23/continuous-monitor-tail-fails.html#comments</comments>
		<pubDate>Wed, 23 Dec 2009 18:10:44 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[continuous monitoring files]]></category>
		<category><![CDATA[monitor file]]></category>
		<category><![CDATA[tail]]></category>
		<category><![CDATA[tail -f]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/2009/12/23/continuous-monitor-tail-fails.html</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>If you can&#8217;t get tail command to continuously monitor a file, then read on. I was working on a script yesterday, a part of which depended on continuous monitoring of a text file. I had used our trusty old &#8220;tail&#8221; command for this but while testing by manually putting in some data into the file, <p>Continue reading <a href="http://tech.shantanugoel.com/2009/12/23/continuous-monitor-tail-fails.html">Continuous Monitoring With Tail Fails</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>If you can&#8217;t get tail command to continuously monitor a file, then read on. I was working on a script yesterday, a part of which depended on continuous monitoring of a text file. I had used our trusty old &#8220;tail&#8221; command for this but while testing by manually putting in some data into the file, it was failing but curiously it was working fine when used in actual scenario. Befuddled, I did a simple test. I created a simple text file &#8220;a.txt&#8221; with a few lines of data and then ran the following command. </p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<blockquote><p>tail -f a.txt</p>
</blockquote>
<p>It showed the last few lines of the file and kept waiting. So far so good. Then I opened the file in vim editor, wrote a few more lines, saved the file and then waited but nothing in the window that was running the tail command. Thinking that the data might be buffered and not flushed to the disc yet, I ran the sync command but still nothing. </p>
<p><span id="more-261"></span>
<p>Then I got a hint that when I used the &#8220;-F&#8221; or &#8220;&#8211;follow=name&#8221; option instead of &#8220;-f&#8221;, the tail command was able to detect the change just fine, the only problem being that in this mode, it prints the last few lines again, not just the newly added line. The main difference in these new options is that tail command tracks the file for changes by its name and not by the file descriptor, and then it dawned on me. The problem is not in the tail command but my testing method itself. When I save the file opened in vim, it creates a new file with a new inode while the one opened by tail is still the old one (which is now a temporary file which has actually been deleted). When I quit tail, then the kernel deletes the file automatically. This is also confirmed by running &#8220;lsof | grep a.txt&#8221; (lsof lists the open files and then we find the ones related to a.txt). The output shown is;</p>
<blockquote><p>tail      11966   shantanu    3r      REG                8,6        8     224954 /home/shantanu/dev/perl/plot/a.txt~ (deleted)</p>
</blockquote>
<blockquote><p>vim       12576   shantanu    9u      REG                8,6    12288     210918 /home/shantanu/dev/perl/plot/.a.txt.swp</p>
</blockquote>
<p>which shows what we had discussed above. This gets worked around when I use the -F option because then tail periodically reopens the file by name and reads it again, thus bypassing the above issue. Then I simply tried running tail again on the same file and doing something like &#8220;echo abc &gt;&gt; a.txt&#8221; and I could see the behaviour as expected with tail immediately detecting the change and displaying it in its window. Hope this helps if you have been pulling out your hair thinking you have gone crazy as your favourite little tool that you have been using for so many years has suddenly stopped working and no one else apart from you is even complaining <img src='http://tech.shantanugoel.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2009/12/23/continuous-monitor-tail-fails.html">Continuous Monitoring With Tail Fails</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2009/12/23/continuous-monitor-tail-fails.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>grub and knetworkmanager problems in Kubuntu Karmic</title>
		<link>http://tech.shantanugoel.com/2009/11/08/grub-knetworkmanager-kubuntu-karmic.html</link>
		<comments>http://tech.shantanugoel.com/2009/11/08/grub-knetworkmanager-kubuntu-karmic.html#comments</comments>
		<pubDate>Sun, 08 Nov 2009 12:08:00 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[grub2]]></category>
		<category><![CDATA[karmic koala]]></category>
		<category><![CDATA[knetworkmanager]]></category>
		<category><![CDATA[kubuntu karmic]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wicd]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/2009/11/08/grub-knetworkmanager-kubuntu-karmic.html</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>I generally move from LTS to LTS releases of Ubuntu but reluctantly had to update my system to Karmic when my old HDD gave in. I also thought of trying out Kubuntu (KDE based) this time as I had heard that its doing a lot of interesting things (Akonadi/Nepomuk etc) and that with 4.3.1 it <p>Continue reading <a href="http://tech.shantanugoel.com/2009/11/08/grub-knetworkmanager-kubuntu-karmic.html">grub and knetworkmanager problems in Kubuntu Karmic</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>I generally move from <a href="http://tech.shantanugoel.com/2008/05/21/ubuntu-what-exactly-does-lts-mean.html" title="What Does LTS Mean" target="_blank">LTS</a> to LTS releases of Ubuntu but reluctantly had to update my system to Karmic when my old HDD gave in. I also thought of trying out Kubuntu (KDE based) this time as I had heard that its doing a lot of interesting things (Akonadi/Nepomuk etc) and that with 4.3.1 it is stable as well. The installation went fine, all over within less than half an hour and then the problems started. Here are the 2 main issues that I faced along with their solutions, in the hope that if someone else runs into same issues does not have to waste time (and hair) on it <img src='http://tech.shantanugoel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<p><strong>1. Bootloader Issue:</strong> I dual boot my system along with Win XP (Needed for some office work) and generally install the bootloader onto a separate boot partition instead of overwriting the MBR. But this time when I did the same, I couldn&#8217;t boot (not even the grub menu). When I did this, the very helpful message that I got on restarting after installing kubuntu was “Error loading operating system”. I could still go back to my good windows install by setting the boot flag onto its partition. I mucked around with it a lot, trying to install grub2 again and found that actually it fails when I try to do the above (install on a partition). I also tried copying the boot sector from my /boot partition to C: and use ntldr to boot into linux but that also didn’t work. This lead me to believe that the same thing happened during my main installation and the installer failed to tell me anything about it. I tried then to install it on MBR but that also mucked up things and I couldn’t even get the error message, a cursor just kept blinking. Finally, the solution. I had to install kubuntu again and this time selected to overwrite MBR (this is default, BTW). </p>
<p><strong>2. Wi-Fi Connection Issue:</strong> Second immediate issue was with knetworkmanager. It failed to start my wi-fi module (even after installing restricted drivers). I disabled and enabled wi-fi, so that brought some life to it (wi-fi led started glowing) but it still couldn’t scan for any access points. I could do the scan through command line and see my AP but my AP is WPA2 secured and I didn’t want to mess around with wpa-supplicant stuff. Solution: Installed Wicd. And it worked automagically.</p>
<p>Hope this helps someone else who faces the same issue. Looks like my idea of moving to kubuntu wasn’t a good one (especially because I had 2 lockups during the 1 hour I used it for in the wee hours of this morning). I’ll probably give it another week or so before taking the decision whether to move back to ubuntu or not. </p>
<p>One good thing to take away from this though: For the first time I could really appreciate the live CD installer that these linux distros give. As I could search about the various issues I had without having a second computer. But then again, it’s not that good as well because it means that so far I never had any installation issues at all…</p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2009/11/08/grub-knetworkmanager-kubuntu-karmic.html">grub and knetworkmanager problems in Kubuntu Karmic</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2009/11/08/grub-knetworkmanager-kubuntu-karmic.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Making Frets On Fire Work With Pulse Aludio &#8211; pasuspender</title>
		<link>http://tech.shantanugoel.com/2009/08/23/make-frets-on-fire-work-pulse-audio-pasuspender.html</link>
		<comments>http://tech.shantanugoel.com/2009/08/23/make-frets-on-fire-work-pulse-audio-pasuspender.html#comments</comments>
		<pubDate>Sun, 23 Aug 2009 18:18:45 +0000</pubDate>
		<dc:creator>Shantanu Goel</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[FoFix]]></category>
		<category><![CDATA[FretsOnFire]]></category>
		<category><![CDATA[pasuspender]]></category>
		<category><![CDATA[PS3]]></category>
		<category><![CDATA[Pulse Audio]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://tech.shantanugoel.com/2009/08/23/make-frets-on-fire-work-pulse-audio-pasuspender.html</guid>
		<description><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>I recently got hold of a Guitar Hero controller for my PS3 but the game still had some time to come so I tried it out on my laptop with Frets on Fire (rather FoFix). But when I started it, it was crashing with some weird error about not being able to open mixer devices. <p>Continue reading <a href="http://tech.shantanugoel.com/2009/08/23/make-frets-on-fire-work-pulse-audio-pasuspender.html">Making Frets On Fire Work With Pulse Aludio &#8211; pasuspender</a></p>]]></description>
			<content:encoded><![CDATA[<!-- Powered by Shantz WP Prefix Suffix. Tech Blog: http://tech.shantanugoel.com/ Secure Programming Blog: http://www.safercode.com/blog/ Blog: http://blog.shantanugoel.com/ --><p>I recently got hold of a Guitar Hero controller for my PS3 but the game still had some time to come so I tried it out on my laptop with Frets on Fire (rather FoFix). But when I started it, it was crashing with some weird error about not being able to open mixer devices. Searching on the google, I came to know this is happening because of Pulse Audio as this application needs direct access to the sound devices and finally I came upon <b>pasuspender. </b>This little tool allows you to do that with ease. Just run it in the following way:<br />
<blockquote>pasuspender &#8212; ./FretsOnFire</p><!--test --><script type="text/javascript"><!--
google_ad_client = "ca-pub-7364296987674978";
/* 468x60, created 10/6/08 */
google_ad_slot = "0345781418";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br /></blockquote>
<p>And it will start working just fine. You can use the same trick for any other application that needs direct access to the sound devices. What pasuspender does is that it will suspend pulse audio and allow the application to access them directly and when the application is terminated, normal functioning will resume.</p>
<p style='border:thin dotted black; padding:3mm;'><a href="http://tech.shantanugoel.com/terms-of-use">©</a> <a href="http://tech.shantanugoel.com/">Shantanu Goel</a> | This article, titled <strong><a href="http://tech.shantanugoel.com/2009/08/23/make-frets-on-fire-work-pulse-audio-pasuspender.html">Making Frets On Fire Work With Pulse Aludio &#8211; pasuspender</a></strong>, was originally published on <a href="http://tech.shantanugoel.com/">Shantanu's Technophilic Musings</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.shantanugoel.com/2009/08/23/make-frets-on-fire-work-pulse-audio-pasuspender.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

