<?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>Tatva-Artha</title>
	<atom:link href="http://www.tatvartha.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tatvartha.com</link>
	<description>meaning of &#34;it&#34;</description>
	<lastBuildDate>Sat, 05 May 2012 20:36:36 +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>Group Chat Services: Campfire, HipChat, FlowDock, Grove.io</title>
		<link>http://www.tatvartha.com/2012/05/group-chat-services-campfire-hipchat-flowdock-grove-io/</link>
		<comments>http://www.tatvartha.com/2012/05/group-chat-services-campfire-hipchat-flowdock-grove-io/#comments</comments>
		<pubDate>Sat, 05 May 2012 20:32:40 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[campfire]]></category>
		<category><![CDATA[group chat]]></category>
		<category><![CDATA[software tool]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=516</guid>
		<description><![CDATA[If your software development team is still using email or mailing list as primary tool for chat purposes, you are doing it wrong. Having used one in last few years, I can say that group chat services like Campfire, Grove.io, HipChat and FlowDock are as indispensible as your IDE or choice of OS. I evaluated [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>If your software development team is still using email or mailing list as primary tool for chat purposes, you are doing it wrong. Having used one in last few years, I can say that group chat services like <a href="http://campfirenow.com/">Campfire</a>, <a href="https://grove.io/">Grove.io</a>, <a href="https://www.hipchat.com/">HipChat</a> and <a href="https://www.flowdock.com/tour">FlowDock</a> are as indispensible as your IDE or choice of OS.</p>
<p>I evaluated these few services recently and here&#8217;s how I see them stack up:</p>
<p><!-- more --></p>
<p><strong>TXT chat</strong></p>
<p>All have it. I don&#8217;t count ability to choose fonts etc. as a big deal as long as the default fonts are good not annoying. All of these services do a decent job at that. One thing I do look for is minimalistic interface. I like interface where most of the space is used for chat text and listing users and no other fancy logo etc. Again, most of them do a good job. Having used campfire in the past, I like HipChat screen slightly better. Personally, I don&#8217;t like how Campfire quotes multiline text differently from single line text. HipChat does this better. Undoubtedly, this is a minore point.</p>
<p><strong>File/Image upload</strong></p>
<p>Grove.io is the only one that doesn&#8217;t support this, I am guessing, because it&#8217;s implementation is IRC protocol based. The benefit for IRC based protocol is that you can use your existing IM clients (Adium, Colloquy etc.) instead of having another app running on your machine. To me, that is a minor advantage versus having ability to attach files/images while I am chatting. As trivial as this sounds, this is the most used feature after txt messages when you are upgrading from age-old IRC based chats. And it is plenti-useful in your day today operations. Ability to drag-drop files/images is the biggest efficiency gain with group chats. And this point alone made Grove.io a no-go for me.</p>
<p><strong>IM integration or stand-alone application</strong></p>
<p>While I enjoyed campfire for unobtrusive chat and file/image sharing, I didn&#8217;t like web based interface. Web-app wrappers like <a href="http://fluidapp.com/">Fluid</a> app mitigate it to a certain extent, but still it doesn&#8217;t enable full desktop integration like growl notification. Grove.io beats other at this game since it allows your traditional IRC based client to be used. HipChat has a standalone app, which is awesome.</p>
<p><strong>Third party application integration</strong></p>
<p>While these group chat service are useful to any business domain, I am primarily looking at software development shops. And as software developers you need ability to integrate your apps/tools. Any service that doesn&#8217;t have such integration is a fail. All 4 services I evaluated offer different level of integration. Some are basic in that they enable any kind of HTTP post and integration has to be built (Grove.io). While others like FlowDoc have already written whole host of plugins to use. Campfire has a few as well. Integration with github could be useful for my purposes. Which one wins for you depends on your specific needs here.</p>
<p><strong>Pricing</strong></p>
<p>For a medium size team of 15-25 people, most of these service cost round $25-$40/month. I didn&#8217;t care which one is absolutely the cheapest since they are all within a ball-park and what tools/integrations they offer is more important than saving a few extra bucks. I do like <a href="https://www.hipchat.com/sign_up?src=pricing">HipChat&#8217;s pricing model</a> of $2/user/month which is linearly applicable as opposed to different buckets of pricing that <a href="http://campfirenow.com/signup">Campfire</a> and <a href="https://www.flowdock.com/plans">FlowDoc</a> offers.</p>
<p>If you are using no such tools, check these out. They are a must for a software development team!</p>
<p>(Thanks <a href="http://twitter.com/#!/automach">@automach</a> and <a href="http://twitter.com/#!/raykrueger">@raykrueger</a> for services suggestions.)</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2012/05/group-chat-services-campfire-hipchat-flowdock-grove-io/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to ask for professional reference</title>
		<link>http://www.tatvartha.com/2012/04/how-to-ask-for-professional-reference/</link>
		<comments>http://www.tatvartha.com/2012/04/how-to-ask-for-professional-reference/#comments</comments>
		<pubDate>Tue, 01 May 2012 01:24:37 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=511</guid>
		<description><![CDATA[It used to be that giving professional reference to your potential employer was just about sharing a few names along with their phone numbers. Not anymore. Winning the technical interview is just half the battle, and especially at senior level positions, the response from your professional reference(s) matter more than ever. Preparing and grooming your [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>It used to be that giving professional reference to your potential employer was just about sharing a few names along with their phone numbers. Not anymore. Winning the technical interview is just half the battle, and especially at senior level positions, the response from your professional reference(s) matter more than ever. Preparing and grooming your references before you actually need them and maintaining elevated communication with each referee can pay huge dividends.</p>
<p>Most potential employers require around 3 professional references. When you start your job search, you are better served getting initial permission from folks that you think could be your professional reference. This is a good time to inform them about why you are looking for new opportunity. Also, confirm phone number, email where they can be reached for reference. You should have about 5 people at various levels (boss, direct report, colleague) available before you actually need them.</p>
<p>While most of us do this right, we forget a few things.<br />
<!-- more --></p>
<p>It makes a huge difference if you could share important information about the job with your referee and the person checking reference just before the call happens. Here are some of things you should do before <span style='text-decoration:underline;'>each</span> of your potential employer decides to check on your reference.</p>
<p><strong>Give following information to your referee (person giving professional reference):</strong></p>
<ul>
<li>Company detail: Share name of company, website and a brief description of what they do. This saves your referee time to research the company and prepare their answers. It also conveys that you value their time and remain ready to make it as easy as possible.
</li>
<li> Position being interviewed for: Share the title of the position (Sr. Business Analyst, Architect) and job description. This helps them understand the nature of your work in that position so they can highlight the alignment with the job in an enhanced manner.
</li>
<li> Name, phone number, email of person calling. This is important since most people don&#8217;t pickup phone if they don&#8217;t recognize the number. Also, sharing approximate time of expected call helps a great deal in making sure that they connect the first time!
</li>
</ul>
<p>The same goes for the other side of the equation:</p>
<p><strong>Give the person performing reference check following information:</strong></p>
<ul>
<li>Referee&#8217;s contact information: Name, phone number, email, preferred time to contact. This is obvious. During initial cultivation of reference, check and confirm which phone, weekday/time works best for them.
</li>
<li>
Brief description of nature of professional relationship (boss, direct report, colleague): Thinks like &#8220;I worked closely on X project with Y colleague&#8221; or &#8220;He/she was the lead and I reported to him in Sr. developer capacity&#8221;.
</li>
<li>
What are some of the things that the person can provide information on: Things like &#8220;he can talk about my people skills more than my development ability&#8221; or &#8220;He can vouch about my progress since our time at X company&#8221;. No, this is not cheesy at all. It helps your potential employer understand what are some of the highlights of each reference. Sure, they will not follow the script exactly as you laid out but it will be pretty close.
</li>
</ul>
<p>All in all, your goal with reference should be to get truthful and <span style='text-decoration:underline;'>consistent</span> story (about you) to come out. Preparing your references takes a little effort/time but it is well worth the effort.</p>
<p>Finally, don&#8217;t forget to send thank you email to all referee that you&#8217;ve used in your search and inform them about your decision to choose a particular company.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2012/04/how-to-ask-for-professional-reference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing gsl gem on mac osx</title>
		<link>http://www.tatvartha.com/2012/04/installing-gsl-gem-on-mac-osx/</link>
		<comments>http://www.tatvartha.com/2012/04/installing-gsl-gem-on-mac-osx/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 19:32:26 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[GNU Scientific Library]]></category>
		<category><![CDATA[gsl]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=508</guid>
		<description><![CDATA[At Local Offer Network, we use GNU scientific library to categorize all the offers that we aggregate using scientific methods. We leverage a rubygem called gsl for this heavily. Since this is a native gem installing it is a little tricky atleast on mac OSX. In order to install, we have to install an older [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://www.localoffernetwork.com/">Local Offer Network</a>, we use <a href="http://rubygems.org/gems/gsl">GNU scientific library</a> to categorize all the offers that we aggregate using scientific methods. We leverage a rubygem called gsl for this heavily. Since this is a native gem installing it is a little tricky atleast on mac OSX.</p>
<p>In order to install, we have to install an older version of gsl library using homebrew first.</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ brew install gsl114</pre></div></div>

<p>This installs the gsl version v1.14. Please note that latest version of gsl library (brew install gsl) will not work for the gsl gem. If you have already installed latest gsl, remote it (brew remove gsl) and start over.</p>
<p>Once this is installed successfully, the gsl gem should install fine.</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ gem install gsl</pre></div></div>



<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2012/04/installing-gsl-gem-on-mac-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Feature: PocketQuote, to help with comparision shopping</title>
		<link>http://www.tatvartha.com/2011/10/new-feature-pocketquote-to-help-with-comparision-shopping/</link>
		<comments>http://www.tatvartha.com/2011/10/new-feature-pocketquote-to-help-with-comparision-shopping/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 21:55:17 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[Real Estate]]></category>
		<category><![CDATA[brokerage]]></category>
		<category><![CDATA[flat fee mortgage]]></category>
		<category><![CDATA[mortgage]]></category>
		<category><![CDATA[mortgage comparision]]></category>
		<category><![CDATA[mortgage shopping]]></category>
		<category><![CDATA[nail your mortgage]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=499</guid>
		<description><![CDATA[At Nail Your Mortgage (NYM), we don&#8217;t just believe in &#8220;Truth in Lending&#8221;, we help our customers uncover the truth on a daily basis. We also realize that pricing of mortgages is very opaque and shopping for mortgages is a daunting task. In our quest to simplify mortgage shopping, we have added a new tool [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img src="https://www.nailyourmortgage.com/images/logos/pocket_quote_logo_mini.png" style="float: right; height; 100px; width: 200px; border: 0px;"/></p>
<p>At Nail Your Mortgage (NYM), we don&#8217;t just believe in &#8220;Truth in Lending&#8221;, we help our customers uncover the truth on a daily basis.</p>
<p>We also realize that pricing of mortgages is very opaque and shopping for mortgages is a daunting task. In our quest to simplify mortgage shopping, we have added a new tool that, we believe, will greatly simplify comparison of mortgages. This new tool is called <a href="https://www.nailyourmortgage.com/pocket_quotes">PocketQuote</a>. Here is some fact about this tool.</p>
<p><!-- more --></p>
<p><strong>What is a <img src="https://www.nailyourmortgage.com/images/logos/pocket_quote_logo_mini.png" style="margin: 0 0 -4px 0; border: 0px"/>?</strong></p>
<ul>
<li>A PocketQuote is a guaranteed mortgage quote that you can generate anonymously, for free.</li>
<li>A PocketQuote lists <strong>all criteria</strong> based on which pricing is determined. This is important since most brokers will advertise their best rates, which may or may not apply to your specific situation.</li>
<li>A lowest rate guarantee from Nail Your Mortgage to stand by flat fee ($750 in IL).</li>
<li>Best of all, it is anonymous. You are not required to register or share your email/name to get this guarantee from us. Nail Your Mortgage is confident that a fair comparison will reveal that NYM costs are the lowest under any circumstances.</li>
</ul>
<p>We are so confident in our lowest price guarantee that we encourage borrowers to shop around. PocketQuote is an example of that. We highly recommend our clients to print a PDF quote and send it to other brokers to match beat our rate. Client and their brokers can visit our website anytime to get the latest rate.</p>
<p>Nail Your Mortgage is one of the only handful of mortgage brokers (probably the only) that doesn&#8217;t add any markup to the wholesale rate that we get from Lender. Our PocketQuote Guarantee ensures that our fees to consumer ($750 in IL) will never change, irrespective of the amount of loan you buy.</p>
<p>If you are in the market for refinance or purchasing a new home, you ought to check <a href="https://www.nailyourmortgage.com/pocket_quotes">PocketQuote</a> out.</p>
<p><img src="https://www.nailyourmortgage.com/images/logos/nym_logo.png" style="border: 0px"/></p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2011/10/new-feature-pocketquote-to-help-with-comparision-shopping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to ruby 1.9: rbx-require-relative requires Ruby version ~&gt; 1.8.7</title>
		<link>http://www.tatvartha.com/2011/08/upgrading-to-ruby-1-9-rbx-require-relative-requires-ruby-version-1-8-7/</link>
		<comments>http://www.tatvartha.com/2011/08/upgrading-to-ruby-1-9-rbx-require-relative-requires-ruby-version-1-8-7/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 18:55:49 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[gemfile]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=493</guid>
		<description><![CDATA[If you are upgrading from ruby 1.8 or Ruby Enterprise 1.8.7 to ruby 1.9.2, you may encounter this error. Installing rbx-require-relative (0.0.5) Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/ bundler/issues so that we can fix it. Thanks!/Users/sjain/.rvm/rubies/ruby-1.9.2-p290/ lib/ruby/site_ruby/1.9.1/rubygems/ installer.rb:364:in `ensure_required_ruby_version_met': rbx-require-relative requires Ruby version ~> [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>If you are upgrading from ruby 1.8 or Ruby Enterprise 1.8.7 to ruby 1.9.2, you may encounter this error.</p>
<pre land="bash">
Installing rbx-require-relative (0.0.5) Unfortunately, a fatal error has occurred.
Please report this error to the Bundler issue tracker at https://github.com/carlhuda/
bundler/issues so that we can fix it. Thanks!/Users/sjain/.rvm/rubies/ruby-1.9.2-p290/
lib/ruby/site_ruby/1.9.1/rubygems/ installer.rb:364:in `ensure_required_ruby_version_met':
rbx-require-relative requires Ruby version ~> 1.8.7. (Gem::InstallError)
</pre>
<p>This most likely happens because you are declaring a dependency on ruby-debug gem in your Gemfile.</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">group <span style="color:#ff3333; font-weight:bold;">:development</span> <span style="color:#9966CC; font-weight:bold;">do</span>
  gem <span style="color:#996600;">'ruby-debug'</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>With ruby 1.9, you need to update this with new gem name ruby-debug19.</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">group <span style="color:#ff3333; font-weight:bold;">:development</span> <span style="color:#9966CC; font-weight:bold;">do</span>
  gem <span style="color:#996600;">'ruby-debug19'</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>This will eliminate the dependency on rbx-require-relative and fix the issue.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2011/08/upgrading-to-ruby-1-9-rbx-require-relative-requires-ruby-version-1-8-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing webapp that require you to expose your local machine on web</title>
		<link>http://www.tatvartha.com/2011/06/developing-webapp-that-require-you-to-expose-your-local-machine-on-web/</link>
		<comments>http://www.tatvartha.com/2011/06/developing-webapp-that-require-you-to-expose-your-local-machine-on-web/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 01:54:35 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[paypal]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=489</guid>
		<description><![CDATA[If you&#8217;ve ever developed facebook applications or have needed to integrate with paypal payment service, you know that those services require a reverse connection from their servers to your webapp to complete full circle. The process of making your webapp, running on your machine during development, to outside world was painful at best. Not anymore. [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever developed facebook applications or have needed to integrate with paypal payment service, you know that those services require a reverse connection from their servers to your webapp to complete full circle. The process of making your webapp, running on your machine during development, to outside world was painful at best.</p>
<p>Not anymore. With this service called &#8220;localtunnel&#8221;, it is a piece of cake.</p>
<p><a href="http://progrium.com/localtunnel/">http://progrium.com/localtunnel/</a></p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2011/06/developing-webapp-that-require-you-to-expose-your-local-machine-on-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setting environment variables in Max OSX</title>
		<link>http://www.tatvartha.com/2011/05/setting-environment-variables-in-max-osx/</link>
		<comments>http://www.tatvartha.com/2011/05/setting-environment-variables-in-max-osx/#comments</comments>
		<pubDate>Mon, 16 May 2011 15:12:25 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[environment variable]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=481</guid>
		<description><![CDATA[Any a developer switching from linux to mac, the way to set environment variables is similar yet different enough that is annoying at times. I have so far failed to find a good documentation on where and how to set those in mac osx. Today I found one here. My takeaway: Mac OS X applies [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Any a developer switching from linux to mac, the way to set environment variables is similar yet different enough that is annoying at times. I have so far failed to find a good documentation on where and how to set those in mac osx. Today I found one <a href="http://devnet.jetbrains.net/docs/DOC-1160">here</a>.</p>
<p><strong>My takeaway:</strong></p>
<p>Mac OS X applies .bash_profile and .profile only for Terminal.app environment and  Apple&#8217;s technical documentation suggests using ~/.MacOSX/environment.plist for other applications. So, by default  PATH value will differ for RubyMine and the console.</p>
<p>For managing the global environments, it also recommends a <a href="http://www.apple.com/downloads/macosx/system_disk_utilities/environmentvariablepreferencepane.html">system preference pane app</a>. This worked for me.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2011/05/setting-environment-variables-in-max-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging Passenger Memory Issues</title>
		<link>http://www.tatvartha.com/2011/05/debugging-passenger-memory-issues/</link>
		<comments>http://www.tatvartha.com/2011/05/debugging-passenger-memory-issues/#comments</comments>
		<pubDate>Sun, 01 May 2011 18:05:09 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=479</guid>
		<description><![CDATA[There was an interesting thread on ruby-passenger application server newsgroup recently: http://groups.google.com/group/phusion-passenger/browse_thread/thread/f48ad0eb018a2482 Here is my take away: # returns [class, count] tuples for all active records in the heap def ar_space GC.start h = Hash.new&#40;0&#41; ObjectSpace.each_object do &#124;o&#124; next if o.__id__ == self.__id__ next unless ActiveRecord::Base === o h&#91;o.class.to_s&#93; += 1 end return h.sort&#123;&#124;a,b&#124; -&#40;a&#91;1&#93;&#60;=&#62;b&#91;1&#93;&#41;&#125; [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>There was an interesting thread on ruby-passenger application server newsgroup recently: <a href="http://groups.google.com/group/phusion-passenger/browse_thread/thread/f48ad0eb018a2482">http://groups.google.com/group/phusion-passenger/browse_thread/thread/f48ad0eb018a2482</a></p>
<p>Here is my take away:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">  <span style="color:#008000; font-style:italic;"># returns [class, count] tuples for all active records in the heap </span>
  <span style="color:#9966CC; font-weight:bold;">def</span> ar_space 
    <span style="color:#CC00FF; font-weight:bold;">GC</span>.<span style="color:#9900CC;">start</span> 
    h = <span style="color:#CC00FF; font-weight:bold;">Hash</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span> 
    <span style="color:#CC00FF; font-weight:bold;">ObjectSpace</span>.<span style="color:#9900CC;">each_object</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>o<span style="color:#006600; font-weight:bold;">|</span> 
      <span style="color:#9966CC; font-weight:bold;">next</span> <span style="color:#9966CC; font-weight:bold;">if</span> o.__id__ == <span style="color:#0000FF; font-weight:bold;">self</span>.__id__ 
      <span style="color:#9966CC; font-weight:bold;">next</span> <span style="color:#9966CC; font-weight:bold;">unless</span> <span style="color:#6666ff; font-weight:bold;">ActiveRecord::Base</span> === o 
      h<span style="color:#006600; font-weight:bold;">&#91;</span>o.<span style="color:#9966CC; font-weight:bold;">class</span>.<span style="color:#9900CC;">to_s</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">+</span>= <span style="color:#006666;">1</span> 
    <span style="color:#9966CC; font-weight:bold;">end</span> 
    <span style="color:#0000FF; font-weight:bold;">return</span> h.<span style="color:#9900CC;">sort</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">|</span>a,b<span style="color:#006600; font-weight:bold;">|</span> <span style="color:#006600; font-weight:bold;">-</span><span style="color:#006600; font-weight:bold;">&#40;</span>a<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&lt;=&gt;</span>b<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#125;</span> 
  <span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>Nifty little snippet to fetch number of active record objects on heap. I am guessing, incorporating this as Controller after_filter can help with cost of each request..</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2011/05/debugging-passenger-memory-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deploy at will!</title>
		<link>http://www.tatvartha.com/2011/04/deploy-at-will/</link>
		<comments>http://www.tatvartha.com/2011/04/deploy-at-will/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 02:03:08 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=474</guid>
		<description><![CDATA[Shamelessly copying one point from a github blog. It is that good. Deploy at Will! At the first RailsConf I had the pleasure of hearing Martin Fowler deliver an amazing keynote. He made some apt metaphors regarding agile development that I will now paraphrase and mangle. Imagine you’re tasked with building a computer controlled gun [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Shamelessly copying one point from a <a href="http://tom.preston-werner.com/2011/03/29/ten-lessons-from-githubs-first-year.html">github blog</a>. It is that good.</p>
<h3>Deploy at Will!</h3>
<p>At the first RailsConf I had the pleasure of hearing Martin Fowler deliver an amazing keynote. He made some apt metaphors regarding agile development that I will now paraphrase and mangle.</p>
<p>Imagine you’re tasked with building a computer controlled gun that can accurately hit a target about 50 meters distant. That is the only requirement. One way to do this is to build a complex machine that measures every possible variable (wind, elevation, temperature, etc.) before the shot and then takes aim and shoots. Another approach is to build a simple machine that fires rapidly and can detect where each shot hits. It then uses this information to adjust the aim of the next shot, quickly homing in on the target a little at a time.</p>
<p>The difference between these two approaches is to realize that bullets are cheap. By the time the former group has perfected their wind detection instrument, you’ll have finished your simple weapon and already hit the target.</p>
<p>In the world of web development, the target is your ideal offering, the bullets are your site deploys, and your customers provide the feedback mechanism. The first year of a web offering is a magical one. Your customers are most likely early adopters and love to see new features roll out every few weeks. If this results in a little bit of downtime, they’ll easily forgive you, as long as those features are sweet. In the early days of GitHub, we’d deploy up to ten times in one afternoon, always inching closer to that target.</p>
<p>Make good use of that first year, because once the big important customers start rolling in, you have to be a lot more careful about hitting one of them with a stray bullet. Later in the game, downtime and botched deploys are money lost and you have to rely more on building instruments to predict where you should aim.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2011/04/deploy-at-will/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript Garden</title>
		<link>http://www.tatvartha.com/2011/03/javascript-garden/</link>
		<comments>http://www.tatvartha.com/2011/03/javascript-garden/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 05:12:30 +0000</pubDate>
		<dc:creator>Sharad</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.tatvartha.com/?p=472</guid>
		<description><![CDATA[If you consider yourself a beginner or intermediate Javascript developer and feel the need to advance, here&#8217;s something that may be right up you ally: Javascript Garden. No related posts. Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>If you consider yourself a beginner or intermediate Javascript developer and feel the need to advance, here&#8217;s something that may be right up you ally: <a href="http://bonsaiden.github.com/JavaScript-Garden/">Javascript Garden</a>.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tatvartha.com/2011/03/javascript-garden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

