<?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>Code-itch &#187; Python</title>
	<atom:link href="http://www.code-itch.com/blog/category/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.code-itch.com/blog</link>
	<description>A non-coders attempts at writing useful code</description>
	<lastBuildDate>Sun, 19 Dec 2010 11:47:39 +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>Boto : Super easy Python library to interact with amazon web services</title>
		<link>http://www.code-itch.com/blog/2010/11/boto-super-easy-python-library-to-interact-with-amazon-web-services/</link>
		<comments>http://www.code-itch.com/blog/2010/11/boto-super-easy-python-library-to-interact-with-amazon-web-services/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 12:54:48 +0000</pubDate>
		<dc:creator>harijay</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.code-itch.com/blog/?p=286</guid>
		<description><![CDATA[I had first heard of Mitch Granaats boto thanks to &#8220;Monster Muck Mashup&#8221; where he used boto to build a video transcoding service using amazons compute and storage cloud EC2 and S3. Being a relative python newbie then, I remember reading the code examples and not understanding what they were doing entirely. After a long [...]]]></description>
			<content:encoded><![CDATA[<p>I had first heard of <a href="http://www.elastician.com/">Mitch Granaats</a> boto thanks to <a href="http://aws.amazon.com/articles/691?_encoding=UTF8&amp;jiveRedirect=1">&#8220;Monster Muck Mashup&#8221; </a>where he used boto to build a video transcoding service using amazons compute and storage cloud EC2 and S3. Being a relative python newbie then, I remember reading the code examples and not understanding what they were doing entirely.</p>
<p>After a long period of dormancy I decided to resurrect and cleanup my S3 buckets.  Stupid me! , I had turned on logging for the code-itch bucket ever so long ago. Result!,tens of thousands of log entries. Every S3 browser I tried, struggled to display and scroll the massive number of files. I needed a script and quick.</p>
<p>Initially I considered jets3t a java based super-library for all things AWS. But after <a href="http://stackoverflow.com/questions/3140779/how-to-delete-files-from-amazon-s3-bucket">reading an answer to this question on stackoverflow</a> I decided to try boto again.  This time around , I found the syntax very easy to comprehend. Within minutes I had a script that worked. The script read like pseudocode. I will reproduce it here.</p>
<p>I will definitely be delving more into boto to explore amazons many offerings.</p>
<p><a href="http://www.elastician.com">Mitch Granaat also writes an excellent blog on all things aws and boto at elastician</a></p>
<p><a href="http://code.google.com/p/boto/">Boto library home on googlecode</a></p>
<div class="codecolorer-container python vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">#!/usr/bin/python</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> boto<br />
<span style="color: #ff7700;font-weight:bold;">from</span> boto <span style="color: #ff7700;font-weight:bold;">import</span> *<br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">re</span><br />
<span style="color: #808080; font-style: italic;"># Regexp to match the log file names</span><br />
log_key <span style="color: #66cc66;">=</span> <span style="color: #dc143c;">re</span>.<span style="color: #008000;">compile</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;code-itch<span style="color: #000099; font-weight: bold;">\.</span>[<span style="color: #000099; font-weight: bold;">\d</span>]{4}<span style="color: #000099; font-weight: bold;">\-</span>[<span style="color: #000099; font-weight: bold;">\d</span>]{1,2}<span style="color: #000099; font-weight: bold;">\-</span>[<span style="color: #000099; font-weight: bold;">\d</span>]{1,2}<span style="color: #000099; font-weight: bold;">\-</span>[<span style="color: #000099; font-weight: bold;">\d</span>]{1,2}<span style="color: #000099; font-weight: bold;">\-</span>[<span style="color: #000099; font-weight: bold;">\d</span>]{1,2}<span style="color: #000099; font-weight: bold;">\-</span>[<span style="color: #000099; font-weight: bold;">\d</span>]{1,2}<span style="color: #000099; font-weight: bold;">\-</span>[a-fA-F<span style="color: #000099; font-weight: bold;">\d</span>]{16}&quot;</span><span style="color: black;">&#41;</span><br />
f <span style="color: #66cc66;">=</span> <span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;listbuckets_code-itch_deleted.txt&quot;</span> <span style="color: #66cc66;">,</span> <span style="color: #483d8b;">&quot;w&quot;</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ <span style="color: #66cc66;">==</span> <span style="color: #483d8b;">'__main__'</span>:<br />
&nbsp; &nbsp; s3 <span style="color: #66cc66;">=</span> boto.<span style="color: black;">connect_s3</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; mybucket <span style="color: #66cc66;">=</span> s3.<span style="color: black;">get_bucket</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;code-itch&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> key <span style="color: #ff7700;font-weight:bold;">in</span> mybucket:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> log_key.<span style="color: black;">match</span><span style="color: black;">&#40;</span>key.<span style="color: black;">name</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f.<span style="color: black;">write</span><span style="color: black;">&#40;</span>key.<span style="color: black;">name</span> + <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mybucket.<span style="color: black;">delete_key</span><span style="color: black;">&#40;</span>key.<span style="color: black;">name</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Deleted&quot;</span><span style="color: #66cc66;">,</span>key.<span style="color: black;">name</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; f.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.code-itch.com/blog/2010/11/boto-super-easy-python-library-to-interact-with-amazon-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python scripting from within Pymol</title>
		<link>http://www.code-itch.com/blog/2010/11/python-scripting-from-within-pymol/</link>
		<comments>http://www.code-itch.com/blog/2010/11/python-scripting-from-within-pymol/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 00:52:41 +0000</pubDate>
		<dc:creator>harijay</dc:creator>
				<category><![CDATA[pymol]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.code-itch.com/blog/?p=237</guid>
		<description><![CDATA[I have been using pymol for a while , but only recently did I start using python scripts to automate my tasks within pymol. The extreme power of pymols API allows you to call python scripts from within a Pymol session as I have done in the screencast. This text will be replaced Additional Links [...]]]></description>
			<content:encoded><![CDATA[<div id="mypostsent1">I have been using pymol for a while , but only recently did I start using python scripts to automate my tasks within pymol.</p>
</div>
<div id="mypostalsosent2">The extreme power of pymols API allows you to call python scripts from within a Pymol session as I have done in the screencast.</div>
<div id="mediaspacepymolpost">This text will be replaced</div>
<p><script src="http://dm6905kj7qmzs.cloudfront.net/mediaplayer-5.3-viral/swfobject.js" type="text/javascript"></script> <script type="text/javascript">// <![CDATA[
     var so = new SWFObject('http://dm6905kj7qmzs.cloudfront.net/mediaplayer-5.3-viral/player.swf','mpl','616','407','9');        so.addParam('allowfullscreen','true'); so.addParam('allowscriptaccess','always'); so.addVariable('image','http://dm6905kj7qmzs.cloudfront.net/python_scripting_within_pymol.png');so.addParam('wmode','opaque');so.addVariable('viral.onpause','false'); so.addVariable('file','python_scripting_within_pymol.mov'); so.addVariable('streamer','rtmp://screencast.code-itch.com/cfx/st'); so.write('mediaspacepymolpost');
// ]]&gt;</script></p>
<div id="additional_informationpymolpost">Additional Links and information:<a href="http://www.pymolwiki.org/index.php/Practical_Pymol_for_Beginners#Introduction_and_Very_Simple_Scripting">Scripting in Pymol</a></div>
<div>The code segment I read into the pymol session is given here:</div>
<div class="codecolorer-container python blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;"># My list of objects in pymol session</span><br />
objs <span style="color: #66cc66;">=</span> <span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;3org&quot;</span><span style="color: #66cc66;">,</span><span style="color: #483d8b;">&quot;1ots&quot;</span><span style="color: #66cc66;">,</span><span style="color: #483d8b;">&quot;mypdb&quot;</span><span style="color: black;">&#93;</span><br />
<span style="color: #808080; font-style: italic;"># List to keep track of pairs that have been rendered</span><br />
images_done <span style="color: #66cc66;">=</span> <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span><br />
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> objs:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> j <span style="color: #ff7700;font-weight:bold;">in</span> objs:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> i <span style="color: #66cc66;">==</span> j :<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">continue</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">else</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: black;">&#40;</span>j<span style="color: #66cc66;">,</span>i<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">in</span> images_done <span style="color: #ff7700;font-weight:bold;">or</span> <span style="color: black;">&#40;</span>i<span style="color: #66cc66;">,</span>j<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">in</span> images_done:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">continue</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">else</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">cmd</span>.<span style="color: black;">disable</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;all&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">cmd</span>.<span style="color: black;">enable</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">cmd</span>.<span style="color: black;">enable</span><span style="color: black;">&#40;</span>j<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">cmd</span>.<span style="color: black;">png</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%s_%s_superpose3.png&quot;</span> % <span style="color: black;">&#40;</span>i<span style="color: #66cc66;">,</span>j<span style="color: black;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff4500;">640</span><span style="color: #66cc66;">,</span><span style="color: #ff4500;">480</span><span style="color: #66cc66;">,</span><span style="color: #ff4500;">72</span><span style="color: #66cc66;">,</span><span style="color: #ff4500;">1</span><span style="color: #66cc66;">,</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">cmd</span>.<span style="color: black;">disable</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;all&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; images_done.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>i<span style="color: #66cc66;">,</span>j<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;all images rendered&quot;</span></div></td></tr></tbody></table></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.code-itch.com/blog/2010/11/python-scripting-from-within-pymol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ahh ! for argparse</title>
		<link>http://www.code-itch.com/blog/2009/07/ahh-for-argparse/</link>
		<comments>http://www.code-itch.com/blog/2009/07/ahh-for-argparse/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 15:17:29 +0000</pubDate>
		<dc:creator>harijay</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[argparse python]]></category>

		<guid isPermaLink="false">http://www.code-itch.com/blog/?p=123</guid>
		<description><![CDATA[Its been a while since I blogged . Just a lot happening on the crystallography side of things to allow me the time to blog. I have also been coding a lot lately and have gotten started with some GUI writing in wxpython. This post is about trying to get back into the groove by [...]]]></description>
			<content:encoded><![CDATA[<p>Its been a while since I blogged . Just a lot happening on the crystallography side of things to allow me the time to blog.</p>
<p>I have also been coding a lot lately and have gotten started with some GUI writing in wxpython.</p>
<p>This post is about trying to get back into the groove by telling you about argparse .<a href="http://www.code-itch.com/blog/2009/04/command-line-handling-in-python-with-optparse/"> Having talked about optparse</a> and command line parsing , I heard about argparse thanks to a talk that I caught  by clicking a link on  the<a href="http://us.pycon.org/2009/conference/schedule/"> Pycon2009 master schedule</a> .  This link has all the Pycon 2009 slides and video links in one place &#8211; a great resource.</p>
<p>For those interested in <a href="http://code.google.com/p/argparse/">argparse</a> check out the &#8220;Plenary Evening session &#8221; on Sunday Mar 29th 1.20 pm at PyCon2009 where<a href="http://us.pycon.org/2009/conference/schedule/event/97/"> Steven Bethard talks about argparse.</a><br />
<object width="720" height="510" data="http://blip.tv/play/AfiLMZWmLQ" type="application/x-shockwave-flash"><param name="src" value="http://blip.tv/play/AfiLMZWmLQ" /><param name="allowfullscreen" value="true" /></object></p>
<p>The most important difference between <a href="http://code.google.com/p/argparse/">argparse </a>and optparse is that argparse provides better handling for positional <a href="http://argparse.googlecode.com/svn/trunk/doc/argparse-vs-optparse.html">arguments in addition to optional arguments</a> . Argparse also provides automatically generated useage information and   takes care of handling cases like when the user forgets to provide any arguments and prints the help information by default.</p>
<p>The key differences are summarized in the <a href="http://argparse.googlecode.com/svn/trunk/doc/argparse-vs-optparse.html">excellent documentation at this URL</a> , so I will not rehash it . But I have happily switched over to argparse from optparse and hope argparse becomes part of the python standard libraries soon.</p>
<p>For <a href="http://github.com/harijay/xtaltools/tree/master">some code examples check out my github repository</a> especially the script <a href="http://github.com/harijay/xtaltools/blob/e683fcef6a5ad7394b87382e58d4dce32a85585b/maskconvert.py">maskconvert.py</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-itch.com/blog/2009/07/ahh-for-argparse/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>XML parsing &#8211; python</title>
		<link>http://www.code-itch.com/blog/2007/04/xml-parsing-python/</link>
		<comments>http://www.code-itch.com/blog/2007/04/xml-parsing-python/#comments</comments>
		<pubDate>Thu, 12 Apr 2007 17:17:29 +0000</pubDate>
		<dc:creator>harijay</dc:creator>
				<category><![CDATA[diveintopython]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[TinySeqXML]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[UnicodeEncodeError]]></category>

		<guid isPermaLink="false">http://codeitch.wordpress.com/2007/04/12/xml-parsing-python/</guid>
		<description><![CDATA[[youtube=http://www.youtube.com/watch?v=L-_6tiTR8v0] XML is a great way to organize information. I first learnt of the power of XML to systematize information when I used it to output a whole bunch of search results from NCBI in the Tinyseq XML format. Once I had this XML document , I could read it into Excel and then very [...]]]></description>
			<content:encoded><![CDATA[<p>[youtube=http://www.youtube.com/watch?v=L-_6tiTR8v0]</p>
<p>XML is a great way to organize information. I first learnt of the power of XML to systematize information when I used it to output a whole bunch of search results from NCBI in the<a href="http://xml.coverpages.org/NCBI-XML-Toolbox.txt"> Tinyseq XML format</a>. Once I had this XML document , I could read it into Excel and then very easily analyze the information since it was nicely laid out as an Excel sheet.</p>
<p><a href="http://harijay.wordpress.com/2006/09/28/moving-elns-offsite/">Backpackit a service I use to take notes detailing my experimental research  results</a><br />
outputs all of the account data in XML format. Before I can move this data elsewhere , it helps for me to understand the data structure. So the first task I  set out to do was to parse the XML output.</p>
<p>I decided to use Python for this , because I felt using Java here would be like using an elephant to crush a fly ( or whatever the expression is ). Also a lot of the data is text , and I always used perl previously to handle text.  So a general basis for my codeitch will be What I did in Perl before I wold like to do in Python now. Java will be used once for more heavyweight tasks.</p>
<p>What I needed my program to do was :</p>
<ol>
<li> Read the XML output</li>
<li>Create objects for each element or node in the output</li>
</ol>
<p>I can then imagine that once I have these objects I can ask questions like how many objects have embedded images , how many objects have outgoing links etc etc..</p>
<p>The <a href="http://www.diveintopython.org/">&#8220;Dive into python &#8220;</a> book gave me a quick introduction into the <a href="http://www.diveintopython.org/xml_processing/parsing_xml.html">xml.dom package</a>. I then ran into some encoding or codec issues and learnt all about <a href="http://www.reportlab.com/i18n/python_unicode_tutorial.html">&#8220;utf8&#8243; and &#8220;iso8859&#8243; character encoding</a>. Once I learnt <a href="http://wiki.wxpython.org/index.cgi/UnicodeEncodeError">how to handle the UnicodeEncodeError</a> , I had a full fledged three line program that parsed my input file , created the document object and as proof of successful parsing and printed my XML file back out.</p>
<p>The screencast above documents my travails.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-itch.com/blog/2007/04/xml-parsing-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Codeitch- or the desire to codeify and systematize everything I do</title>
		<link>http://www.code-itch.com/blog/2007/04/codeitch-or-the-desire-to-codeify-and-systematize-everything-i-do/</link>
		<comments>http://www.code-itch.com/blog/2007/04/codeitch-or-the-desire-to-codeify-and-systematize-everything-i-do/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 08:52:18 +0000</pubDate>
		<dc:creator>harijay</dc:creator>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Matlab]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://codeitch.wordpress.com/2007/04/11/codeitch-or-the-desire-to-codeify-and-systematize-everything-i-do/</guid>
		<description><![CDATA[This blog is roughly about my attempts to codify , algorithmize and systematize everything I do. In it I will hopefully detail my march to coding and getting proficient in a bunch of computer languages. After a long process of looking around , I have narrowed my focus to the following 3 languages in no [...]]]></description>
			<content:encoded><![CDATA[<p>This blog is roughly about my attempts to codify , algorithmize and systematize everything I do. In it I will hopefully detail my march to coding and getting proficient in a bunch of computer languages. After a long process of looking around , I have narrowed my focus to the following 3 languages in no particular order.<br />
Java , Python and Javascript.</p>
<p>The reasons for these will hopefully emerge as I begin posting. But I will try and spell them out here</p>
<p>Java :I like java for two reasons , its one of the most widely used languages in the enterprise space and the second and very important reason are the Java IDEs. Both java IDEs I use namely Eclipse and Netbeans are Free and amazingly featured. Code prompting available in both IDEs make mastering an API a lot easier than learning the same functionality using other languages or platforms. Also, I love Javadoc !. It really makes picking up new APIs a little easier</p>
<p>Python : My first crack at automating anything came with Perl scripting. I will not lie if I say that If I have to do anything today I will first use Perl. But after several year of Perl use I found I was re-using very little code. I have to get more object oriented in the way I code, and since I never quite got a hang of Perl objects , and its namespace conventions!. Python which is at its heart a purely object oriented scripting language with libraries that easily rival Java was a natural scripting alternative.Learning Python I hope will teach me how to script smart objects that will beg to be reused.</p>
<p>Javascript : This is a surprising bedfellow to my codeitch. I want to learn javascript simply because it is becoming very fashionable. Google Maps and gmail have AJAX at their core and Javascript is the J in AJAX. Plus I have always fancied having a web frontend to everything I do and I am sure Javascript will beg to be used when that happens.</p>
<p>The above are the three languages I want to master.</p>
<p>Apart from these there are two platforms that I want to get comfortable with and they are</p>
<p>Excel : Everyone in the business world uses Excel. Spreadsheets were the PCs killer App and Excel is in my mind microsofts great product. I have seen the amazing things ou can do in Excel without writing a single line of code, and I want to learn to use its power.</p>
<p>Matlab: This platform from Mathworks is the bread and butter of engineering computation. I am anything but an engineer but have seen matlabs power when it comes to simulations. A lot of the very academic questions that I have in my research can really benefit from learning the Matlab platform and no I am not fully convinced on why exactly I need to use Matlab, maybe I will find a more concrete reason.</p>
<p>refs: <a href="http://harijay.tumblr.com/post/773433" title="Tumblr post summary for codeitch">My tumblr feed</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.code-itch.com/blog/2007/04/codeitch-or-the-desire-to-codeify-and-systematize-everything-i-do/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

