<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">

  <channel>
    <title>vsbabu.org : programming</title>
    <link>http://vsbabu.org/mt/archives/categories/programming/</link>
    <description>Gluing passing thoughts to foregone conclusions</description>
    <dc:language>en-us</dc:language>
    <dc:creator>vsbabu@gmail.com</dc:creator>
    <dc:rights>Copyright 2011</dc:rights>
    <dc:date>2011-08-02T23:50:49+05:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=2.661" />
    <admin:errorReportsTo rdf:resource="mailto:vsbabu@gmail.com"/>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>

    <item>
      <title>Quick Start: Git for personal use</title>
      <link>http://vsbabu.org/mt/archives/2011/08/02/quick_start_git_for_personal_use.html</link>
      <description>Manual is too damn long for Git. If you&apos;ve this problem, here is a quick recipe.</description>
      <guid isPermaLink="false">1074@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
Problem: Needed to find a way to keep my config and research files under version control which I can get to
various machines I work with and update from anywhere.
</p>

<ul>
<li>I have an OpenBSD server account (no root though)</li>
<li>I don't want to run any additional daemon process or expose it via http</li>
<li>I can download and compile source if it can be installed as a non root account</li>
<li>Transport must be via SSH</li>
<li>I don't need GUI tools, speed should be reasonable</li>
</ul>

<p>
Tried <a href="http://mercurial.selenic.com/">Mercurial</a>, <a href="http://darcs.net/">Darcs</a>, <a href="http://bazaar.canonical.com/">Bazaar</a> and <a href="http://git-scm.com/">Git</a>. <a href="http://fossil-scm.org/">Fossil</a> is also a great tool that provides wiki, version control and ticket management. Darcs is the easiest, but for some reason, extremely slow. Finally chose Git.  
Download and compile was easy. Read top 3 lines in the <tt>INSTALL</tt> file in source distribution for steps.
Rest of the steps explain how I set it up. Note that this may not be the best possible Git workflow. Merely that it works for me. Note that I've installed git in <tt>~/software/git</tt>.
</p>
]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2011-08-02T23:50:49+05:00</dc:date>
    </item>
    <item>
      <title>SVN client over SSH to remote Unix server from Windows</title>
      <link>http://vsbabu.org/mt/archives/2009/11/05/svn_client_over_ssh_to_remote_unix_server_from_windows.html</link>
      <description>Quick notes on SVN client over SSH</description>
      <guid isPermaLink="false">1064@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
I needed to get a quick way to work with a personal version control system accessible from multiple computers running Linux or Windows. Ideally, I'd have liked to use <a href="http://mercurial.selenic.com/">Mercurial</a> (light, easy, no great GUI available) or <a href="http://bazaar-vcs.org/">Bazaar</a> (thicker, slower, good renaming capabilities, just about the best GUI available) or <a href="http://git-scm.com/">Git </a>(fast, not a bad GUI, portable MSYS port is pretty good). However, my hosting provider provides
only CVS or Subversion and I didn't want to install any of the above ones from source under my account. Nor do I want to run any server for this. Things should work with plain SSH. Initial approach was to
create an SVN repository on the server and then access this from my computers using SSH. I tried getting <tt>svn+ssh</tt> pull for all of these above and couldn't get to work quickly enough on my Windows XP box. Had to then settle for an SVN client. Turns out that it is little tricky. Given below are the quick steps I followed to get this working.
</p>

<p>
Just a personal preference - I don't prefer using any of the <em>Tortoise*</em>GUIs. GUI as such is fairly nice, but I don't generally like installing shell extensions on Windows. Ideal solution for me would've been the ability for any of these to init a repository on a remote filesystem by SSH - couldn't find it out though.
</p>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2009-11-05T19:20:41+05:00</dc:date>
    </item>
    <item>
      <title>Quick Start Grinder - Part V</title>
      <link>http://vsbabu.org/mt/archives/2009/09/10/quick_start_grinder_part_v.html</link>
      <description>Sample analysis of run data</description>
      <guid isPermaLink="false">1058@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
After a run, you will need to analyze your data. Grinder console gives real 
time graphs, but I find getting the results into an Excel/OpenOffice spreadsheet
and then going over it much easier. After your runs, look into the log directory
for files named <em>out*.log</em>. These are CSV files that can be imported
into any spreadsheet program easily. I've attached a template below into which you can paste the raw data and see the results. Note that I consider only 100 rows - very unrealistic since you will have thousands of records! I did this so that the file size is small. You can change the formulas where it says row 100 to row whatever you want. Also note that some formulas are array formulas - they are surrounded by curly braces - you need to press CTRL-SHIFT-ENTER after updating such formulae.
</p>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2009-09-10T06:15:33+05:00</dc:date>
    </item>
    <item>
      <title>Quick Start Grinder - Part IV</title>
      <link>http://vsbabu.org/mt/archives/2009/09/09/quick_start_grinder_part_iv.html</link>
      <description>Record, extract, reuse</description>
      <guid isPermaLink="false">1057@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[    <p>We will use the recorder that came with Grinder to record a test script.</p>

<p style="font-style:italic;"> Parts
<a href="http://vsbabu.org/mt/archives/2009/09/01/quick_start_grinder_part_i.html">I</a>, <a href="http://vsbabu.org/mt/archives/2009/09/02/quick_start_grinder_part_ii.html">II</a> and <a href="http://vsbabu.org/mt/archives/2009/09/08/quick_start_grinder_part_iii.html">III</a> of the series.</p>
    
    <h4>Step 1: Start and configure the recorder</h4>
    <p>Start it by running <tt>bin\startProxy.cmd</tt>. Change your browser setting to route the data
    through this proxy. Note that if your setup is behind another proxy, you need to pass 
    <em><a href="http://grinder.sourceforge.net/g3/tcpproxy.html#chained-proxies">-httpproxy</a></em>
    command line option to the proxy.</p>
    
    <h4>Step 2: Start Recording</h4>
    <p>When you started proxy, a small Java dialog box would've come up. It takes some time to come up and
    quite possibly is behind your other windows. In that, you can add comments on what you are about to do.
    These comments are then preserved in the generated code.</p>
    
    <p>
    So, let us add a comment <em>@@@Getting google search page</em>. Now, go to Google using your browser.
    After the page loads up completely, add a comment <em>@@@Search for GRINDER</em>. Now, type GRINDER in
    the search field and hit submit. Wait till the results come back. After the results are loaded, press
    <em>Stop</em> on the console to exit the recorder. 
    </p>
    
    <p>
    Look at the batch file to see where exactly are you keeping the generated file. Open it up in an editor.
    Few things you can notice are below.
    </p>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2009-09-09T06:15:00+05:00</dc:date>
    </item>
    <item>
      <title>Quick Start Grinder - Part III</title>
      <link>http://vsbabu.org/mt/archives/2009/09/08/quick_start_grinder_part_iii.html</link>
      <description>Grind on in parallel threads!</description>
      <guid isPermaLink="false">1056@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
It is pretty easy to make our Google search multi-threaded. We will enhance the example a little bit
to search Google in 3 threads; each searching for different words.
</p>

<p style="font-style:italic;"> Parts
<a href="http://vsbabu.org/mt/archives/2009/09/01/quick_start_grinder_part_i.html">I</a> and <a href="http://vsbabu.org/mt/archives/2009/09/02/quick_start_grinder_part_ii.html">II</a> of the series.</p>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2009-09-08T12:36:19+05:00</dc:date>
    </item>
    <item>
      <title>Quick Start Grinder - Part II</title>
      <link>http://vsbabu.org/mt/archives/2009/09/02/quick_start_grinder_part_ii.html</link>
      <description>Sample project</description>
      <guid isPermaLink="false">1053@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
We will do a simple project of doing a Google search for <em>Grinder</em>. You need to have some fundamental knowledge about HTTP requests, GET, POST, headers etc.
</p>
<p  style="font-style:italic;"> Parts
<a href="http://vsbabu.org/mt/archives/2009/09/01/quick_start_grinder_part_i.html">I</a> and <a href="http://vsbabu.org/mt/archives/2009/09/08/quick_start_grinder_part_iii.html">III</a> of the series.</p>
<!--@+others-->
<!--@+node:svattekkat.20090901145006.1280:Project Directory-->

<h4>Project Structure</h4>

<p>
Choose a directory to setup your sources. Let us say it is <tt>c:\projects\grindersample</tt>. Now, create the following directories inside that.
</p>

<ul>
<li><strong>bin</strong> -  copy the four batch files mentioned earlier; adjust the paths in <tt>setGrinderEnv.cmd</tt>.</li>
<li><strong>log</strong> - we will keep the logs here.</li>
<li><strong>tmp</strong> - this is for whatever temp stuff we may need.</li>
</ul>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2009-09-02T06:00:00+05:00</dc:date>
    </item>
    <item>
      <title>Quick Start Grinder - Part I</title>
      <link>http://vsbabu.org/mt/archives/2009/09/01/quick_start_grinder_part_i.html</link>
      <description>A series of small notes to help you get started with Grinder 3</description>
      <guid isPermaLink="false">1052@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
<img alt="grinder-logo.png" src="http://vsbabu.org/mt/archives/images/grinder-logo.png" width="174" height="198" border="0" align="left" style="margin:2px 5px 5px 5px;"/>
As I explained before, I started liking <a href="http://vsbabu.org/mt/archives/2009/08/24/load_testing_with_grinder.html">Grinder as a great solution for load testing
</a>. In a series of small posts, I will explain how to go about load testing a web page. I am no expert with Grinder, but I find myself explaining how I do this - Grinder experts, please suggest enhancements where I am not doing it the right way. We will assume Microsoft Windows<sup>TM</sup> as the development environment. The topics I want to cover are below.
</p>

<ol>
<li><a href="http://vsbabu.org/mt/archives/2009/09/01/quick_start_grinder_part_i.html">Setting it all up</a></li>
<li><a href="http://vsbabu.org/mt/archives/2009/09/02/quick_start_grinder_part_ii.html">Example project - search Google</a></li>
<li><a href="http://vsbabu.org/mt/archives/2009/09/08/quick_start_grinder_part_iii.html">Extend the example to run in parallel threads</a></li>
<li>Use recorder to generate scripts and then add to your code</li>
<li>Tentative : analysis of the data file</li>
</ol>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2009-09-01T17:00:00+05:00</dc:date>
    </item>
    <item>
      <title>Scripting Outlook Journal</title>
      <link>http://vsbabu.org/mt/archives/2007/06/26/scripting_outlook_journal.html</link>
      <description>Simple sample JScript code to give you an idea about this</description>
      <guid isPermaLink="false">1027@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
I maintain information about my tasks, meetings etc. in Outlook Journal. Here's a simple JScript script that exports this information into a delimited format. Yes, Outlook itself can export data like this, but if you want to automate stuff and get it to the next level, this script might help you.
</p>

<p>
If you save this as <code>sample.js</code>, you can run it like <code>cscript /nologo sample.js</code>
</p>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2007-06-26T22:39:39+05:00</dc:date>
    </item>
    <item>
      <title>Which is the best DN site?</title>
      <link>http://vsbabu.org/mt/archives/2005/09/10/which_is_the_best_dn_site.html</link>
      <description>Developer Network sites are used a lot by programmers. Here is what I found most usable.</description>
      <guid isPermaLink="false">1015@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
There are several sites I frequent (at varying frequency) these days. Most of them have similar functionality. They give you access to articles, discussions, downloads, search, polls etc. Since technology information explodes very quickly, information architecture of these sites better be well thought out so that programmers' brains are not taxed any more than required!
</p>

<p>
Here's my rating on various sites' home pages.
</p>]]></content:encoded>
      <dc:subject>www</dc:subject>
      <dc:date>2005-09-10T19:01:19+05:00</dc:date>
    </item>
    <item>
      <title>Tunnel visions</title>
      <link>http://vsbabu.org/mt/archives/2005/08/28/tunnel_visions.html</link>
      <description>Nice explanation on why we need to look beyond straining our hands to type less-than and greater-than all over the code.
</description>
      <guid isPermaLink="false">1014@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<ol>
<li><a href="http://www.sateh.com/blog/2005/08/ror_tunnel_vision.php">Ruby-on-rails tunnel vision</a></li>
<li><a href="http://lesscode.org/2005/08/28/java-tunnel-vision/">
Java tunnel vision</a></li>
</ol>

<p>
Now see <a href="http://jroller.com/page/fmcamargo?entry=why_i_enjoy_rails">Why I enjoy rails?</a>
</p>

<p>
Exactly -- I can't agree on #2 more. Java/J2EE, Eclipse/RCP and Oracle earns my daily bread.  Of these, I still like Oracle database technology quite a lot. Eclipse/RCP is new and nice so far. About Java/J2EE, read #2 above.
</p>
  ]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2005-08-28T20:41:36+05:00</dc:date>
    </item>
    <item>
      <title>Programming Links</title>
      <link>http://vsbabu.org/mt/archives/2005/07/14/programming_links.html</link>
      <description>Bookmarks I don&apos;t want to miss later.</description>
      <guid isPermaLink="false">1010@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<ul>
<li><a href="http://www.apachenews.org/archives/000460.html">Community Design On The Apache Software Foundation</a></li>
<li><a href="http://jroller.com/page/happyboyjmw/20050622#how_to_install_docbook">How to install docbook</a></li>
<li><a href="http://www.jrandolph.com/blog/?p=7">Rails vs. Plone</a> -- good starting point about Active Record and
    Data Mapper design patterns.</li>
<li><a href="http://www.alphaworks.ibm.com/tech/webdev?open&S_TACT=105AGX59&S_CMP=GR&ca=dgr-jw01awwebdev">Eclipse Web
    Data Access Developer</a> - IBM claims you can make quick UIs to databases without coding. More interesting to me
    is that it can generate <a href="http://java.sun.com/j2ee/javaserverfaces/index.jsp" title="Java Server Faces">JSF</a>
    and <a href="http://db.apache.org/torque/">Apache Torque</a>. I need to try this out.</li>
<li><a href="http://dheffelfinger.blogspot.com/2005/06/eclipse-31-ant-build-file-importexport.html">Eclipse 3.1 ANT Build 
    File Import/Export</a>. Oracle jDeveloper could generate ANT files from a project, and this is one feature
    I used to miss in Eclipse so far.</li>
<li><a href="http://www.oracle.com/technology/pub/articles/matjaz_bpel1.html">Introduction to BPEL</a>. By the way, last
year, I saw a demo of <a href="http://www.niyamas.com/elixa.html">Niyamas Elixa BPEL Engine</a> and was extremely
impressed. Very nice suite using standard J2EE technologies, with easy integration with other applications using web
services (BPEL4WS) and a BPEL Workflow Designer that can rival Visio, implemented in cross-browser DHTML and Javascript --
it has to be seen to be believed. Unfortunately, they don't have a screenshot on their site.</li>
</ul>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2005-07-14T07:25:35+05:00</dc:date>
    </item>
    <item>
      <title>Code obfuscator!</title>
      <link>http://vsbabu.org/mt/archives/2005/04/13/code_obfuscator.html</link>
      <description>Now, I thought this feature was built into the language :-)</description>
      <guid isPermaLink="false">1000@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
Here's a <a href="http://www.stunnix.com/prod/po/overview.shtml">code obfuscator product</a> I thought won't be required.
</p>

<p>
For the past one year, the language in question earns me about 50% of my daily bread, so I should hide my misgivings about this one. Still, after using Python for 3 years, this product is <em>interesting</em>. I guess it will be useful if you want to sell your CGI applications.
</p>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2005-04-13T13:12:50+05:00</dc:date>
    </item>
    <item>
      <title>Fake J2EE is not that bad!</title>
      <link>http://vsbabu.org/mt/archives/2003/11/02/fake_j2ee_is_not_that_bad.html</link>
      <description>Thoughts on weighing complexity and programming kewlness against what the user really needs?</description>
      <guid isPermaLink="false">932@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<h4>A <em>J2EE</em> Application</h4>
<p>
Recently, I was (un)fortunate enough to witness a web
application that was already deployed and in use for
over an year. At the time of installation, the main
marketing points appeared to be:
</p>

<ol>
<li>To modify the layout and design, programming knowledge is not necessary. The vendor had developed a proven templating scheme that plays well with existing HTML editors.</li>
<li>It doesn't lock you to a particular operating system since it is written in Java.</li>
<li>Since it employs J2EE, it scales, rocks and keep your job safe <em>(I sensed the last one, but it was not explicitly spelled out.)</em></li>
<li>It runs on any servlet container.</li>
</ol>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2003-11-02T19:35:27+05:00</dc:date>
    </item>
    <item>
      <title>Code aware IDEs have their uses!</title>
      <link>http://vsbabu.org/mt/archives/2003/10/23/code_aware_ides_have_their_uses.html</link>
      <description>Still, it may not be as good as MS Word at times :-)</description>
      <guid isPermaLink="false">927@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
Code is fine. There is nothing sinister or even remotely complex about
it. But it simply wouldn't run. .NET CLR screams  it can't find the definition of a constant - a system constant! What does it mean, it can't find it? It is right there in front of me.
</p>

<p>
Ah! This has to be Microsoft's way of punishing me. Rub eyes again.
Double-check Makefile is fine and it is indeed compiling the
source I work on. Check the tests are indeed running on the file I modified. Check all dependencies are there.
</p>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2003-10-23T18:26:35+05:00</dc:date>
    </item>
    <item>
      <title>XP and SQL</title>
      <link>http://vsbabu.org/mt/archives/2003/10/20/xp_and_sql.html</link>
      <description>Does eXtreme Programming and OOP make SQL unfavourable?</description>
      <guid isPermaLink="false">923@http://vsbabu.org/mt/</guid>
      <content:encoded><![CDATA[<p>
The previous reference to <a href="http://vsbabu.org/mt/archives/2003/10/13/respecting_sql.html">respecting
SQL</a> got me thinking a little more, specifically about why SQL is
unfashionable among programmers now. Comparing to Java and eXtreme Programming as the fashionable tools, the main reasons cited where:
</p>]]></content:encoded>
      <dc:subject>programming</dc:subject>
      <dc:date>2003-10-20T07:05:17+05:00</dc:date>
    </item>


  </channel>
</rss>


