<?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>Too many projects, too little time &#187; Technology</title>
	<atom:link href="http://joydutta.com/blog/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://joydutta.com/blog</link>
	<description>Joy Dutta on technology, photography, motorcycling, aviation and other things</description>
	<lastBuildDate>Tue, 24 Jan 2012 17:57:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>The Android experience</title>
		<link>http://joydutta.com/blog/2011/02/14/the-android-experience/</link>
		<comments>http://joydutta.com/blog/2011/02/14/the-android-experience/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 23:34:57 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[htc]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=1293</guid>
		<description><![CDATA[We finally went for the droid. Both our 2g and 3g iPhones became unusably slow over the years of iOS updates, so I figured we could try something different from the app-happy world. Heard that Sprint still has decent customer service. They basically ride over Verizon&#8217;s airwaves where their own coverage is spotty. Sounded like [...]]]></description>
			<content:encoded><![CDATA[<p>We finally went for the droid. Both our 2g and 3g iPhones became unusably slow over the years of iOS updates, so I figured we could try something different from the app-happy world. Heard that Sprint still has decent customer service. They basically ride over Verizon&#8217;s airwaves where their own coverage is spotty. Sounded like a win-win, given the deals they had. So last week I made the jump for a pair of HTC EVO 4G awesomeness. </p>
<p>Over a week of HTC ownership, I learnt to appreciate a few fine features that trump the iPhone by a fair margin.</p>
<p>1. When you zoom in a long article page to make the font bigger, the paragraphs get automatically adjusted so that you are looking at larger text yet don&#8217;t have to horizontally scroll back and forth. An enormous thumbs up.</p>
<p>2. The phone is basically a handy usb storage device. Expandable, too. Can you believe how much pain it is to delete a bunch of photos from the iPhone, say a few hundred of them ? If you can&#8217;t go to a mounted directory and run a rm command, just fuggetaboutit.</p>
<p>3. Swype: Blazing fast data input, not even a comparison with iPhone.</p>
<p>4. Built-in camera clicks-on-focus when you touch and hold a part of the screen to bring the subject at the location in focus. On the iPhone you have to touch to autofocus and then click the shutter icon.</p>
<p>5. Widgets, apart from usual apps just make sense for some applications. The unobtrusive notification mechanism is just cool.</p>
<p>6. And oh yeah, no $99 membership to just put my own app on the phone.</p>
<p>I don&#8217;t think I can ever go back.</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2011/02/14/the-android-experience/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Epson 7600 maintenance req 40</title>
		<link>http://joydutta.com/blog/2010/10/31/epson-7600-maintenance-req-40/</link>
		<comments>http://joydutta.com/blog/2010/10/31/epson-7600-maintenance-req-40/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 18:09:51 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[7600]]></category>
		<category><![CDATA[epson]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=1204</guid>
		<description><![CDATA[This morning I had the weirdest telepathic experience. While starting up my 7600 for a print I was thinking about the possible things to do when the cleaning unit hits the service limit counter (it was close to end of life), and just then I saw the dreaded &#8220;Maintenance Req 40&#8243; status on the LCD. [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I had the weirdest telepathic experience. While starting up my 7600 for a print I was thinking about the possible things to do when the cleaning unit hits the service limit counter (it was close to end of life), and just then I saw the dreaded &#8220;Maintenance Req 40&#8243; status on the LCD.</p>
<p>No panic. The print came out fine. I did a little bit of search to find out an useful information. Someone in the same boat posted his experience in a forum. When he called Epson they asked for the total prints so far. His number was about 1200. The technician told him to not bother and just reset the cleaner counter. The unit needs replacement only when page count hits near 5000. I just checked mine, it has printed 990 pages so far. So I did the following steps to reset the counter:</p>
<p>1. Power off printer<br />
2. press PAPER SOURCE + PAPER FEED + CUT/EJECT buttons at the same time and keep them pressed<br />
3. turn on the printer<br />
4. Release the buttons<br />
5. A hidden menu appears<br />
6. press DOWN, “CLEAR COUNTERS” option should appear<br />
7. press RIGHT<br />
8. press DOWN, till “CLEANER” should appear<br />
9. press RIGHT<br />
10. press ENTER (CUT/EJECT button)<br />
11. Power off printer.</p>
<p>The printer status still shows 990 pages so I just have to watch it hit 5000 before I bother about the cleaner again.</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2010/10/31/epson-7600-maintenance-req-40/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tetra Society of North America</title>
		<link>http://joydutta.com/blog/2010/07/29/tetra-society-of-north-america/</link>
		<comments>http://joydutta.com/blog/2010/07/29/tetra-society-of-north-america/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 22:47:30 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Hobbies]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[devices]]></category>
		<category><![CDATA[disability]]></category>
		<category><![CDATA[gadgets]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=1075</guid>
		<description><![CDATA[As if it was destined to happen, a coworker today showed me the website of Tetra Society of North America. It is a nonprofit organization that recruits skilled volunteers to create customized assistive devices for the physically disabled. Why did it get me so excited ? Not only do I understand the plight of the [...]]]></description>
			<content:encoded><![CDATA[<p>As if it was destined to happen, a coworker today showed me the website of <a href="http://www.tetrasociety.org/index.php">Tetra Society of North America</a>. It is a nonprofit  organization that recruits skilled volunteers to create customized assistive devices for the physically disabled.</p>
<p>Why did it get me so excited ? Not only do I understand the plight of the disabled, I am currently running out of ideas of what to build next in my home workshop. If I get to make some kind of assistive device, whether out of wood or metal, it will not only make practical use of whatever skills I have, it will also justify owning whatever tools I desire.</p>
<p>Thank you so much, Ted. I just applied for a technical volunteer position and will look forward to making some contributions in near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2010/07/29/tetra-society-of-north-america/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MAMP 403 issue and fix</title>
		<link>http://joydutta.com/blog/2010/02/20/mamp-403-issue-and-fix/</link>
		<comments>http://joydutta.com/blog/2010/02/20/mamp-403-issue-and-fix/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 04:35:51 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[mamp]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=807</guid>
		<description><![CDATA[I have been using MAMP for a while. For no apparent reason today, I got a 403 message for the start page (http://localhost:8888/MAMP/): Forbidden You don&#8217;t have permission to access /MAMP/ on this server. Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2 Server at localhost Port 8888 Figured out the solution by a little search but it is useful [...]]]></description>
			<content:encoded><![CDATA[<p>I have been using MAMP for a while. For no apparent reason today, I got a 403 message for the start page (http://localhost:8888/MAMP/):</p>
<p><strong>Forbidden</strong></p>
<p>You don&#8217;t have permission to access /MAMP/ on this server.<br />
<em>Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2 Server at localhost Port 8888</em></p>
<p>Figured out the solution by a little search but it is useful enough to share.</p>
<p>1. Quit MAMP or stop servers.<br />
2. Open /Applications/MAMP/conf/apache/httpd.conf file in vim or any text editor.<br />
3. Find this section of code:</p>
<div class="codesnip-container" >
<pre>
&lt;Directory />
Options Indexes FollowSymLinks
AllowOverride All
&lt;/Directory>
</pre>
</div>
<p>4. Change &#8220;AllowOverride All&#8221; to &#8220;AllowOverride None&#8221;.<br />
5. Save the httpd.conf file.<br />
6. Launch MAMP or start servers, then open up the start page.</p>
<p>It works !</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2010/02/20/mamp-403-issue-and-fix/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress blog development tip</title>
		<link>http://joydutta.com/blog/2010/02/16/wordpress-blog-development-tip/</link>
		<comments>http://joydutta.com/blog/2010/02/16/wordpress-blog-development-tip/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 11:17:55 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=784</guid>
		<description><![CDATA[When I started this personal blog, it was a matter of a few clicks in a tool called fantastico and everything was up and running. Whatever development and style modifications I have done over the time were directly on the server. As a matter of fact, I still do. Clearly, it is not the best [...]]]></description>
			<content:encoded><![CDATA[<p>When I started this personal blog, it was a matter of a few clicks in a tool called fantastico and everything was up and running. Whatever development and style modifications I have done over the time were directly on the server. As a matter of fact, I still do.</p>
<p>Clearly, it is not the best idea for incremental development, not without inevitable &#8220;production downtime&#8221;. Working in a big internet company at least taught me this truth among other things. So, when I started my photoblog using pixelpost, I set everything up in my local MAMP stack and pushed the data to server one time.</p>
<div class="codesnip-container" >
<pre>
joy@localhost ~ $ mysqldump -u user -ppass db > db.sql
joy@localhost ~ $ scp -C db.sql joy@server:
joy@server ~ $ mysql -u user -ppass db < db.sql
</pre>
</div>
<p>Afterwards all code pushes happen by rsync.</p>
<div class="codesnip-container" ></pre>
<pre>
joy@localhost photoblog $ rsync -avz . joy@server:public_html/photoblog
</pre>
</div>
<p>This way, even though locally I have a small set of data, I can change code and test all features before doing a production push. Works very well for me. Also I check in my code in a local git repository. Double win.</p>
<p>I am in the middle of setting up another wordpress blog right now, and forgetting a small detail cost me a bunch of time. After getting the blog running locally, I took a mysql dump and synced it with the db in the server. It just won&#8217;t load. I mucked around here and there and figured that the blog url is set as &#8220;http://localhost:8888/newblog&#8221; in the local db. I modified the .sql file and re-synced to production and voila, it worked.</p>
<p>I suspect that I might need to do the db sync a few more times before I have enough volume of data to keep it growing in the server. I will probably set up a sed script to do the search-and-replace in command line.</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2010/02/16/wordpress-blog-development-tip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speech to Text: the toughest challenge for mankind</title>
		<link>http://joydutta.com/blog/2009/10/16/speech-to-text-the-toughest-challenge-for-mankind/</link>
		<comments>http://joydutta.com/blog/2009/10/16/speech-to-text-the-toughest-challenge-for-mankind/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 01:00:07 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=608</guid>
		<description><![CDATA[The biggest frustration of being partly hearing impaired is the continuous tension in a conversation scenario. It is a daily struggle with failed efforts to reconstruct words and sentences out of fragments of sound. A fraction of the affected people can do lip-reading well (useless in a telephone conversation) and the ones with severe deafness [...]]]></description>
			<content:encoded><![CDATA[<p>The biggest frustration of being partly hearing impaired is the continuous tension in a conversation scenario. It is a daily struggle with failed efforts to reconstruct words and sentences out of fragments of sound. A fraction of the affected people can do lip-reading well (useless in a telephone conversation) and the ones with severe deafness has to resort to sign language which very few hearing people know (or could be bothered to learn).</p>
<p>We are in the age of warp-speed technology right now and this article is an attempt to figure out how today&#8217;s technology can be leveraged to provide the single most useful communication tool between the hearing world and the impaired, irrespective of medium or gadgets: The subtitles (closed captions or CC).</p>
<p>Imagine a handheld device with a display screen which can translate any speech to text. Any speaker, any kind of accent. But as fast as a complete sentence is spoken. This gadget alone can change the whole world. It can even be only 80% accurate and the human brain can still decipher the missing parts in a real-time conversation.</p>
<p>Technology in advanced countries like in the US has subtitles in TV programs which is a god-sent for the hearing impaired. For the 25 years I lived in my country, I never understood a movie or a TV show. On the first day in the US when I turned on the TV at a friend&#8217;s place, I felt like I was reborn. Movies on TV became an instant addiction for the next few years.</p>
<p>Closed captioning has enormously helped the hearing impaired people, but it still does nothing for the daily struggle. A major part of that is undoubtedly the use of telephone. The existing TTY technology is old, and not scalable. A recent innovation in this arena is brought by <a href="http://www.captel.com/">CapTel</a> which still needs a dedicated device and plan. They even launched a web based service Web CapTel in Australia which a blogger <a href="http://katelocke.wordpress.com/2009/10/14/using-the-telephone-with-a-cochlear-implant/">found really great.</a> This is a service powered by human translators, so still does not solve the fundamental problem of machines converting speech to text.</p>
<p>In this age of smartphones, it will be really really awesome to have a smart speech-to-text app in an handheld phone like the iPhone. Imagine being able to talk either face-to-face or on the phone while reading real-time subtitles. It would be the best app and invention for the mankind, I am petty damn sure.</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2009/10/16/speech-to-text-the-toughest-challenge-for-mankind/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress upgrade</title>
		<link>http://joydutta.com/blog/2009/09/17/wordpress-upgrade/</link>
		<comments>http://joydutta.com/blog/2009/09/17/wordpress-upgrade/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 07:52:11 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=560</guid>
		<description><![CDATA[A necessary upgrade of my wordpress blog was long due. And so was the default theme that looked so 2004. While the previous upgrades till 2.7 was smooth, this one (version 2.8) needed a bit of manual effort. After backing up the database and code I followed the instructions as given here: http://codex.wordpress.org/Upgrading_WordPress_Extended The primary [...]]]></description>
			<content:encoded><![CDATA[<p>A necessary upgrade of my wordpress blog was long due. And so was the default theme that looked so 2004. While the previous upgrades till 2.7 was smooth, this one (version 2.8) needed a bit of manual effort. After backing up the database and code I followed the instructions as given here: <a href="http://codex.wordpress.org/Upgrading_WordPress_Extended">http://codex.wordpress.org/Upgrading_WordPress_Extended<br />
</a><br />
The primary trick was to keep
<div class="codesnip-container" >wp-config.php</div>
<p> from the previous installation. The new codebase came with a
<div class="codesnip-container" >wp-config-sample.php</div>
<p> so there was no overwriting. After that I hunted for a cool theme and could not be happier with &#8220;Fusion&#8221;.</p>
<p>WordPress rocks.</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2009/09/17/wordpress-upgrade/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>git rocks !</title>
		<link>http://joydutta.com/blog/2009/04/03/git-rocks/</link>
		<comments>http://joydutta.com/blog/2009/04/03/git-rocks/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 09:10:30 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=437</guid>
		<description><![CDATA[I just set up my brand new git repository at github: http://github.com/jdutta. Don&#8217;t know what took me so long to embrace git but I am glad to be ready to move out of my CVS based workflow for personal projects. A quick look at the tutorial was all I needed to convince myself towards this [...]]]></description>
			<content:encoded><![CDATA[<p>I just set up my brand new git repository at github: <a href="http://github.com/jdutta">http://github.com/jdutta</a>. Don&#8217;t know what took me so long to embrace git but I am glad to be ready to move out of my CVS based workflow for personal projects.</p>
<p>A quick look at the tutorial was all I needed to convince myself towards this change. Now I can work on my personal projects from anywhere without worrying about merge issues later on. I just published my favorite config files under repository <a href="http://github.com/jdutta/dotfiles/tree/master">dotfiles</a>. Could not be an easier backup/version-control mechanism.</p>
<p>Some good resources to learn git:<br />
1. <a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/book.pdf">http://www-cs-students.stanford.edu/~blynn/gitmagic/book.pdf</a><br />
2. <a href="http://git-scm.com/documentation">http://git-scm.com/documentation</a><br />
3. <a href="http://www.eecs.harvard.edu/~cduan/technical/git/">http://www.eecs.harvard.edu/~cduan/technical/git/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2009/04/03/git-rocks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Goldwing trunk lockout solution</title>
		<link>http://joydutta.com/blog/2009/03/28/goldwing-trunk-lockout-solution/</link>
		<comments>http://joydutta.com/blog/2009/03/28/goldwing-trunk-lockout-solution/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 06:05:49 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Motorcycling]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=431</guid>
		<description><![CDATA[Today I managed to lock myself out of my 2005 GL1800. I was in a hurry at Palo Alto airport before a flying trip to Napa valley with Vaibhav and Pooja, so I did something I never would normally do &#8211; putting my jacket in the trunk. Now I typically just pop the trunk using [...]]]></description>
			<content:encoded><![CDATA[<p>Today I managed to lock myself out of my 2005 GL1800. I was in a hurry at Palo Alto airport before a flying trip to Napa valley with Vaibhav and Pooja, so I did something I never would normally do &#8211; putting my jacket in the trunk. Now I typically just pop the trunk using the key fob while the whole lock system remains locked. The moment I shut the trunk lid I realized what just happened. To add insult to injury, I also recalled that the spare key was in an inside pocket of the jacket. Darn !</p>
<p>My fellow CA2Q chapter winger Susie gave some suggestions but that was for a GL1500. I wished she could come for a rescue but she was at Mesquite NV on a rally. It almost looked like I had to tow the bike when as a last resort I did a google search from 3500 feet in the air. I landed on Steve Saunders goldwing forum where a neat electrical solution is outlined: <a href="http://www.goldwingfacts.com/forums/forum9/4865.html">GL1800 trunk lockout fix</a></p>
<p>What a relief after an awesome flight. My roomie Piyush brought a bicycle allen key set which had the 6mm hex key I needed, plus some picture hanging wire. I had to borrow an adjustable spanner from the airport fueling guy and the seat came off without much fuss. Initially I thought the red wire in the 14-pin grey connector block is the target but it didn&#8217;t work. I read through the page and found that for a 07 model the blue wire was to be connected to battery +ve to unlock the trunk. It worked !!! Very valuable lesson learnt before my long trip. I am going to keep a 6mm allen, an 11mm crescent spanner and a wire in one of the unlocked compartments.</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2009/03/28/goldwing-trunk-lockout-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Efficient Software Development &#8211; Part 1</title>
		<link>http://joydutta.com/blog/2009/03/26/efficient-software-development-part-1/</link>
		<comments>http://joydutta.com/blog/2009/03/26/efficient-software-development-part-1/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 19:39:51 +0000</pubDate>
		<dc:creator>therider</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://joydutta.com/blog/?p=411</guid>
		<description><![CDATA[I have been meaning to write something on this topic for a while. The motivation largely comes from the experience of working in a large company and getting work done amidst a mindless number of context switches. It kind of reminds me of the term &#8220;thrashing&#8221; where the CPU spends most of the time switching [...]]]></description>
			<content:encoded><![CDATA[<p>I have been meaning to write something on this topic for a while. The motivation largely comes from the experience of working in a large company and getting work done amidst a mindless number of context switches. It kind of reminds me of the term &#8220;thrashing&#8221; where the CPU spends most of the time switching between tasks than doing the tasks themselves.</p>
<p>Slow development is a major pain point of every developer I would imagine. To reduce stress I have setup my own environment to minimize the time it takes to reload the brain with the context of the task at hand.</p>
<p>At work I primarily have to develop stuff that can used/tested/mucked-with in a browser so I primarily just need a shell and browser. My work laptop is a macbookpro so I am all set with Terminal, Firefox, Safari and Thunderbird. And Adium, ofcourse.</p>
<p><strong>1. Screen</strong><br />
Regardless of whether the terminal supports tabs or not, screen is a must-have tool to group several shell sessions together. With a nifty .screenrc and a few memorized shortcuts, it is probably better than sliced bread. Whenever I start a new project, screen -S projectname will start a screen and it will exist till the end of the project. Using different tabs on the terminal it is cool to switch between different screen sessions. Here is my .screenrc:</p>
<div class="codesnip-container" ># .screenrc</p>
<p>startup_message off<br />
escape &#8220;</p>
<p>hardstatus alwayslastline<br />
hardstatus string &#8216;%{= kG}%-Lw%{= kW}%50> %n%f* %t%{= kG}%+Lw%< %{= kG}%-=%c:%s%{-}'</p>
<p>screen 1<br />
screen 2<br />
screen 3<br />
screen 4</p></div>
<p><strong>2. Vim</strong><br />
I am a vim guy and I understand there is an equally strong crowd of emacs folks. I have been using vim since 1998 and every time I see someone straining with a text editor and mounted remote drive I feel really sorry about the pain. I am not going to list all the cool features of vim, but the most used setup is in my .vimrc as below. A big monitor can make using split screens a dream, even on a remote server and using vim in text mode (non gui).<br />
</code>
<div class="codesnip-container" ># .vimrc</p>
<p>syntax on<br />
set ai nu showmatch<br />
set incsearch hlsearch ignorecase<br />
set shiftwidth=2</p>
<p>"formatoptions extra to make big comment lines easier<br />
set fo+=ro</p>
<p>"show the command as it is typed<br />
set showcmd</p>
<p>"customized key mapping - v to comment, z to uncomment<br />
:map v I// ^[<br />
map z I&lt;Del>&lt;Del>&lt;Del>^[&lt;Right></p></div>
<p><strong>3. Aliases</strong><br />
I lost track of wasted time typing "tail -f /foo/blah/blah/yapache/error" in a remote box, so I made a list of aliases that I will actually remember to use. Before using a remote box, copy the .bashrc one time and be done with it. Some of mine:</p>
<div class="codesnip-container" ># .bashrc</p>
<p>PS1="\u@\h \w \$ "</p>
<p>alias a='alias'<br />
alias ls='ls -pF'<br />
alias l='ls'<br />
alias ll='ls -ltr'<br />
alias rm='rm -i'<br />
alias c='clear'<br />
alias src='source ~/.bashrc'<br />
alias xvi='gvim -rv'<br />
alias f='find . -name'<br />
alias cnu='cvs -n up 2>/dev/null'<br />
alias cdi='cvs di 2>/dev/null'<br />
alias pd='pushd'<br />
alias ppd='popd'<br />
alias ..='cd ..'<br />
alias ...='cd ../..'<br />
alias sls='screen -ls'</p>
<p>alias ht='cd /foo/blah/share/htdocs'<br />
alias ta='tail -f /foo/blah/logs/yapache/access'<br />
alias te='tail -f /foo/blah/logs/yapache/error'</p></div>
<p><strong>4. ssh-agent</strong><br />
If you often ssh to remote boxes, then setup ssh-agent. Typing password multiple times in one terminal session is totally dumb.</p>
<p>First generate the public-private key pair using ssh-keygen.<br />
Concat the public keys to ~/.ssh/authorized_keys and copy it to the remote box. Now do this:</p>
<div class="codesnip-container" >$ eval `ssh-agent`<br />
$ ssh-add</div>
<p>To be continued and/or edited...</p>
]]></content:encoded>
			<wfw:commentRss>http://joydutta.com/blog/2009/03/26/efficient-software-development-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

