<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Decorating my space on web - Development</title>
  <id>tag:www.chetanmittal.com,2008:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.7.3">Mephisto Noh-Varr</generator>
  <link href="http://www.chetanmittal.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://www.chetanmittal.com/" rel="alternate" type="text/html"/>
  <updated>2008-07-10T14:51:23Z</updated>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2008-07-10:39</id>
    <published>2008-07-10T14:26:00Z</published>
    <updated>2008-07-10T14:51:23Z</updated>
    <category term="Agile"/>
    <link href="http://www.chetanmittal.com/2008/7/10/finally-decided-to-use-acunote-for-agile-product-management" rel="alternate" type="text/html"/>
    <title>Finally decided to use Acunote for agile product management</title>
<content type="html">
            &lt;p&gt;In my last post I mentioned Mingle eats too much RAM thus slowing down the server. Another thing I would like to mention is that it has big learning curve; I better learn FLEX than learning MQL.&lt;/p&gt;

&lt;p&gt;Acunote on other hand is simple (no story cards) solution to manage agile products. No learning curve and one gets started in less than a minute. Add stories (backlog), create sprint, create sprintlog and that's it. &lt;br /&gt;It has a very good feature of tagging which can be used to tag stories to differentiate them as bugs, defects, tests, tasks, features, change requests, must haves, should haves etc.&lt;/p&gt;

&lt;p&gt;On scale of 10 I would give&lt;br /&gt;&lt;br /&gt;

Acunote - 7 &lt;br /&gt;(no project velocity, no users other than current 5 can create defects)&lt;br /&gt;&lt;br /&gt;
Assembla - 5 &lt;br /&gt;(No relationship between Task-Defects, is on the lines of oDesk not agile)&lt;br /&gt;&lt;br /&gt;
Mingle - 6 &lt;br /&gt;(learning curve, complex)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2008-06-15:18</id>
    <published>2008-06-15T17:23:00Z</published>
    <updated>2008-06-15T17:26:17Z</updated>
    <category term="Mingle"/>
    <category term="ubuntu"/>
    <category term="Ubuntu"/>
    <link href="http://www.chetanmittal.com/2008/6/15/mingle-eats-too-much-ram" rel="alternate" type="text/html"/>
    <title>Mingle eats too much RAM</title>
<content type="html">
            &lt;p&gt;
Before I started MingleServer
&lt;/p&gt;
&lt;img src=&quot;http://www.chetanmittal.com/assets/2008/6/15/BeforeMingleServerStart.png&quot; /&gt;
&lt;p&gt;
&lt;br /&gt;
After I started MingleServer
&lt;/p&gt;
&lt;img src=&quot;http://www.chetanmittal.com/assets/2008/6/15/AfterMingleServerStart.png&quot; /&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2008-06-15:17</id>
    <published>2008-06-15T15:34:00Z</published>
    <updated>2008-07-23T15:47:11Z</updated>
    <category term="couchdb"/>
    <category term="ubuntu"/>
    <category term="Ubuntu"/>
    <link href="http://www.chetanmittal.com/2008/6/15/install-couchdb-on-ubuntu-hardy-heron-8-04" rel="alternate" type="text/html"/>
    <title>Install couchdb on ubuntu hardy heron 8.04</title>
<content type="html">
            Follow instructions below :-
&lt;br /&gt;&lt;br /&gt;

Get couchdb
&lt;pre&gt;&lt;code&gt;
wget http://couchdb.googlecode.com/files/couchdb-0.7.2.tar.gz
tar -xzvf couchdb-0.7.2.tar.gz
cd couchdb-0.7.2/
&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;
sudo apt-get install automake autoconf libtool subversion-tools help2man build-essential erlang libicu38 libicu-dev libreadline5-dev checkinstall libmozjs-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;
./configure
&lt;/code&gt;&lt;/pre&gt;

If everything goes fine

&lt;pre&gt;&lt;code&gt;
make &amp;&amp; sudo make install 
&lt;/code&gt;&lt;/pre&gt;

Create user couchdb
&lt;pre&gt;&lt;code&gt;
sudo adduser couchdb
sudo mkdir -p /usr/local/var/lib/couchdb
sudo chown -R couchdb /usr/local/var/lib/couchdb
sudo mkdir -p /usr/local/var/log/couchdb
sudo chown -R couchdb /usr/local/var/log/couchdb
sudo mkdir -p /usr/local/var/run
sudo chown -R couchdb /usr/local/var/run
&lt;/code&gt;&lt;/pre&gt;

Copy couchdb init script to global so that it gets started on server startup
&lt;pre&gt;&lt;code&gt;
sudo cp /usr/local/etc/init.d/couchdb /etc/init.d/

sudo update-rc.d couchdb defaults

sudo /etc/init.d/couchdb start
&lt;/code&gt;&lt;/pre&gt;

Start browser and hit at http://localhost:5984/_utils/index.html
&lt;br /&gt;&lt;br /&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2008-06-15:16</id>
    <published>2008-06-15T15:18:00Z</published>
    <updated>2008-06-15T15:19:12Z</updated>
    <category term="Agile"/>
    <link href="http://www.chetanmittal.com/2008/6/15/newage-agile-product-managers-what-the" rel="alternate" type="text/html"/>
    <title>Newage Agile Product Managers &#8211; what the **** !!!</title>
<content type="html">
            These are those product managers who came along wailing waterfall model and now struggle to learn and follow agile model but get everything wrong
&lt;br /&gt;&lt;br /&gt;
One of them I experienced lately did everything is not agile but loved when called agile. This is how he managed an agile project
&lt;br /&gt;&lt;br /&gt;
1.	Fuck with requirements document; let’s have all the user stories spanned across various emails&lt;br /&gt;
2.	I am too lazy to update wiki either&lt;br /&gt;
3.	Fuck sprints and bloody iterations; develop and deploy daily&lt;br /&gt;
4.	ARRRRGG!! Why developers prepare a timeline?&lt;br /&gt;
5.	I am too lazy to manage QA; developer can you do it!!? &lt;br /&gt;
6.	Let’s not differentiate tasks, tickets, change requests&lt;br /&gt;
&lt;br /&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2008-05-26:15</id>
    <published>2008-05-26T15:47:00Z</published>
    <updated>2008-05-26T15:48:56Z</updated>
    <category term="ubuntu"/>
    <link href="http://www.chetanmittal.com/2008/5/26/ubuntu-auto-recommends-how-to-install-svn" rel="alternate" type="text/html"/>
    <title>ubuntu - auto recommends - how to install svn</title>
<content type="html">
            This is what I get when I try to use svn when subversion is not installed on my horny ubuntu :)

&lt;pre&gt;&lt;/code&gt;
chetan@devtaa-desktop:~$ svn co http://code.djangoproject.com/svn/django/trunk/ django_src
The program 'svn' is currently not installed.  You can install it by typing:
sudo apt-get install subversion
bash: svn: command not found
&lt;/code&gt;&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2008-04-05:14</id>
    <published>2008-04-05T18:05:00Z</published>
    <updated>2008-04-05T18:11:44Z</updated>
    <link href="http://www.chetanmittal.com/2008/4/5/shotgun-rubinius-gem-env" rel="alternate" type="text/html"/>
    <title>shotgun/rubinius gem env</title>
<content type="html">
            &lt;pre&gt;
&lt;code&gt;
devtaa:rubinius chetanm$ shotgun/rubinius gem env home
/Users/chetanm/Downloads/rubinius/lib/rbx/gems/1.8.6
devtaa:rubinius chetanm$ shotgun/rubinius gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.1.0 (1.1.0)
  - RUBY VERSION: 1.8.6 (04/04/2008 patchlevel 111) [i686-apple-darwin9.2.2]
  - INSTALLATION DIRECTORY: /Users/chetanm/Downloads/rubinius/lib/rbx/gems/1.8.6
  - RUBYGEMS PREFIX: /Users/chetanm/Downloads/rubinius
  - RUBY EXECUTABLE: /Users/chetanm/Downloads/rubinius/bin/rbx
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-unknown
  - GEM PATHS:
     - /Users/chetanm/Downloads/rubinius/lib/rbx/gems/1.8.6
  - GEM CONFIGURATION:
     - :update_sources =&gt; true
     - :verbose =&gt; true
     - :benchmark =&gt; false
     - :backtrace =&gt; false
     - :bulk_threshold =&gt; 1000
     - :sources =&gt; [&quot;http://gems.rubyforge.org&quot;, &quot;http://gems.rubyonrails.org&quot;]
  - REMOTE SOURCES:
     - http://gems.rubyforge.org
     - http://gems.rubyonrails.org
&lt;/code&gt;
&lt;/pre&gt;

&lt;p&gt;
Also it works with rbx .. check this out
&lt;pre&gt;&lt;code&gt;
devtaa:rubinius chetanm$ rbx gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.1.0 (1.1.0)
  - RUBY VERSION: 1.8.6 (04/04/2008 patchlevel 111) [i686-apple-darwin9.2.2]
  - INSTALLATION DIRECTORY: /usr/local/lib/rubinius/lib/rbx/gems/1.8.6
  - RUBY EXECUTABLE: /usr/local/lib/rubinius/bin/rbx
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-unknown
  - GEM PATHS:
     - /usr/local/lib/rubinius/lib/rbx/gems/1.8.6
  - GEM CONFIGURATION:
     - :update_sources =&gt; true
     - :verbose =&gt; true
     - :benchmark =&gt; false
     - :backtrace =&gt; false
     - :bulk_threshold =&gt; 1000
     - :sources =&gt; [&quot;http://gems.rubyforge.org&quot;, &quot;http://gems.rubyonrails.org&quot;]
  - REMOTE SOURCES:
     - http://gems.rubyforge.org
     - http://gems.rubyonrails.org
&lt;/code&gt;&lt;/pre&gt;
&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2008-03-19:13</id>
    <published>2008-03-19T10:36:00Z</published>
    <updated>2008-03-19T16:17:28Z</updated>
    <link href="http://www.chetanmittal.com/2008/3/19/entrepreneurship-fall-again-again-and-rise" rel="alternate" type="text/html"/>
    <title>entrepreneurship - fail again, again, and rise</title>
<content type="html">
            &lt;img src=&quot;http://www.chetanmittal.com/assets/2008/3/19/failagaincrane.jpg&quot;&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2007-12-03:12</id>
    <published>2007-12-03T05:31:00Z</published>
    <updated>2007-12-03T11:24:09Z</updated>
    <category term="ebs @ synerzip"/>
    <link href="http://www.chetanmittal.com/2007/12/3/tool-to-derive-near-to-real-project-estimate" rel="alternate" type="text/html"/>
    <title>Tool to derive near-to-real project estimate</title>
<content type="html">
            We have been really keen to implement EBS, in its full scope, at Synerzip couple of months ago and started developing an internal application (ofcourse in Rubyonrails) where &lt;br /&gt;&lt;br /&gt;
a. Each and every employee views his/her pending tasks&lt;br /&gt;
b. Adds daily time booking against these tasks. Each task is divided into different categories such as testing, documentation etc&lt;br /&gt;&lt;br /&gt;
This gives team/project lead an idea on who worked on what for how long; on daily basis.&lt;br /&gt;&lt;br /&gt;

&lt;img src=&quot;http://www.chetanmittal.com/assets/2007/12/3/actuals_vs_estimated_1.JPG&quot; /&gt;
&lt;br /&gt;&lt;br /&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2007-11-30:11</id>
    <published>2007-11-30T05:44:00Z</published>
    <updated>2007-12-03T11:51:23Z</updated>
    <category term="ebs @ synerzip"/>
    <link href="http://www.chetanmittal.com/2007/11/30/estimates-based-system-at-synerzip" rel="alternate" type="text/html"/>
    <title>Estimates Based System at Synerzip</title>
<content type="html">
            At Synerzip we have been using EBS to calculate near-to-real estimates for newer projects. How we do it is -&lt;br /&gt;&lt;br /&gt;

1) each and every task (small to big, direct to indirect) on a project is given a rough time estimate. If this project resembles to any previous project we have done before and shares 60-70% of tasks then we use near-to-real estimates (for tasks) derived from previous project.&lt;br /&gt;
2) Suppose, we want to derive near-to-real estimates for a new project which doesn't resemble to any older one.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;a) ask developer to give each task, he/she is working on, a rough estimate&lt;br /&gt;
&amp;nbsp;&amp;nbsp;b) make developer re-enter the actual time on the task he/she has worked for&lt;br /&gt;
&amp;nbsp;&amp;nbsp;c) make developer to add reasons of the actual vs estimated varies @ 20%&lt;br /&gt;&lt;br /&gt;

This process gives us a) near-to-real estimates so that we can quote real delivery dates b) gives us productivity stats for developers c) etc&lt;br /&gt;&lt;br /&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2007-11-23:9</id>
    <published>2007-11-23T03:16:00Z</published>
    <updated>2007-11-23T03:20:56Z</updated>
    <category term="erlang"/>
    <link href="http://www.chetanmittal.com/2007/11/23/erlang-s-classic-video" rel="alternate" type="text/html"/>
    <title>Erlang's classic video</title>
<content type="html">
            Declarative real time programming in erlang&lt;br /&gt;&lt;br /&gt;

&amp;lt;object height=&quot;355&quot; width=&quot;425&quot;&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;embed src=&quot;http://www.youtube.com/v/uKfKtXYLG78&amp;amp;rel=1&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&amp;lt;/embed&gt;&amp;lt;/object&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2007-11-09:8</id>
    <published>2007-11-09T09:34:00Z</published>
    <updated>2007-11-09T09:36:15Z</updated>
    <category term="erlang"/>
    <category term="ruby"/>
    <link href="http://www.chetanmittal.com/2007/11/9/in-love-with-erlang" rel="alternate" type="text/html"/>
    <title>in love with erlang</title>
<content type="html">
            &lt;img src=&quot;http://www.chetanmittal.com/assets/2007/11/9/erlangnruby.jpg&quot; height=&quot;400&quot; width=&quot;300&quot; /&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2007-11-09:7</id>
    <published>2007-11-09T08:03:00Z</published>
    <updated>2007-11-09T09:34:13Z</updated>
    <category term="erlang"/>
    <category term="ruby"/>
    <link href="http://www.chetanmittal.com/2007/11/9/erlang-structs-ruby-structs" rel="alternate" type="text/html"/>
    <title>Erlang structs, Ruby structs</title>
<content type="html">
            &lt;p&gt;
&lt;h3&gt;Tuple is Hash&lt;/h3&gt;
What hash is to ruby, tuple is to erlang&lt;br /&gt;
&lt;pre&gt;
rcolors = {{:color=&gt;&quot;white&quot;, :hexcode=&gt;&quot;ffffff&quot;}, 
           {:color=&gt;&quot;black&quot;, :hexcode=&gt;&quot;000000&quot;}}
&lt;/pre&gt;
&lt;pre&gt;
ecolors = {colors,
                  {white, ffffff},
                  {black, 000000}}.
&lt;/pre&gt;

&lt;h3&gt;List is Array&lt;/h3&gt;
What array is to ruby, list is to erlang&lt;br /&gt;
&lt;pre&gt;
rmix = %w(apple orange banana)
&lt;/pre&gt;
&lt;pre&gt;
emix = [1+7,hello,2-2,{cost, apple, 30-20},3].
&lt;/pre&gt;
&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2007-11-08:6</id>
    <published>2007-11-08T12:24:00Z</published>
    <updated>2007-11-08T12:26:53Z</updated>
    <category term="comic"/>
    <category term="ruby"/>
    <link href="http://www.chetanmittal.com/2007/11/8/what-about-writing-a-comic-on-ruby" rel="alternate" type="text/html"/>
    <title>what about writing a comic on ruby</title>
<content type="html">
            &lt;img src=&quot;http://www.chetanmittal.com/assets/2007/11/8/Page_1.jpg&quot; height=&quot;500&quot; width=&quot;400&quot; /&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2007-10-27:4</id>
    <published>2007-10-27T06:54:00Z</published>
    <updated>2007-10-27T07:02:53Z</updated>
    <category term="DRY"/>
    <category term="rails"/>
    <category term="Rails"/>
    <link href="http://www.chetanmittal.com/2007/10/27/render-layout-inside-other-layout-dry-rails" rel="alternate" type="text/html"/>
    <title>render layout inside other layout - DRY, Rails</title>
<content type="html">
            put this code block inside your application_helper.rb&lt;br /&gt;&lt;br /&gt;

&lt;pre&gt;
  def inside_layout(layout, &amp;block)    
     layout = layout.include?('/') ? layout : &quot;layouts/#{layout}&quot;    
     @template.instance_variable_set(&quot;@content_for_layout&quot;, capture(&amp;block))    
     concat(@template.render(:file =&gt; layout, :user_full_path =&gt; true), block.binding)    
   end
&lt;/pre&gt;

Now, use this method in layout, which you want to render in suppose 'application' layout &lt;br /&gt;&lt;br /&gt;
&lt;pre&gt;
  &amp;lt;% inside_layout 'application' do %&gt;
    your code
  &amp;lt;% end %&gt;
&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://www.chetanmittal.com/">
    <author>
      <name>chetan</name>
    </author>
    <id>tag:www.chetanmittal.com,2007-10-22:3</id>
    <published>2007-10-22T14:13:00Z</published>
    <updated>2007-10-22T14:32:10Z</updated>
    <category term="activerecord"/>
    <category term="legacy_db"/>
    <category term="mysql"/>
    <category term="rails"/>
    <link href="http://www.chetanmittal.com/2007/10/22/how-to-add-primary_key-mysql-rails-on-table-which-already-has-content" rel="alternate" type="text/html"/>
    <title>How to add primary_key (mysql+rails) on table which already has content</title>
<content type="html">
            You have a legacy database in which one table doesn't have primary_key defined. Now, activerecord needs a primary_key to run queries on this table. What do we do?&lt;br /&gt;&lt;br /&gt;

Create a migration and execute following SQL query&lt;br /&gt;&lt;br /&gt;

&lt;pre&gt;
   execute &quot;ALTER TABLE table_name 
            DROP COLUMN to_be_primary_key, 
            ADD COLUMN to_be_primary_key BIGINT(20) AUTO_INCREMENT NOT NULL FIRST,
            ADD PRIMARY KEY(to_be_primary_key);&quot;
&lt;/pre&gt;
          </content>  </entry>
</feed>
