<?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>finally{} &#187; Programming</title>
	<atom:link href="http://www.jjude.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jjude.com</link>
	<description>all will be well finally</description>
	<lastBuildDate>Wed, 28 Dec 2011 18:00:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Here is a blog engine for Google AppEngine (and just about everywhere else)</title>
		<link>http://www.jjude.com/2011/12/here-is-a-blog-engine-for-google-appengine-and-just-about-everywhere-else/</link>
		<comments>http://www.jjude.com/2011/12/here-is-a-blog-engine-for-google-appengine-and-just-about-everywhere-else/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 17:50:53 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.jjude.com/2011/12/here-is-a-blog-engine-for-google-appengine-and-just-about-everywhere-else/</guid>
		<description><![CDATA[<p>How about finishing the year with an achievement? Wouldn&#8217;t that be a great feel-good motivator for the new year? Well it is. As part of learning web2py, Python and Google AppEngine, I have been creating few applications. Earlier I created a checklist application, which I&#8217;m happy about. Since beginning of December, I worked on a [...]</p><p><a href="http://www.jjude.com/2011/12/here-is-a-blog-engine-for-google-appengine-and-just-about-everywhere-else/">Here is a blog engine for Google AppEngine (and just about everywhere else)</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>How about finishing the year with an achievement?</p>
<p>Wouldn&#8217;t that be a great feel-good motivator for the new year? Well it is.</p>
<p>As part of learning <a href="http://www.web2py.com">web2py</a>, <a href="http://www.python.org">Python</a> and <a href="http://code.google.com/appengine/">Google AppEngine</a>, I have been creating few applications. Earlier I created a <a href="http://123-check.appspot.com/">checklist</a> application, which I&#8217;m happy about. Since beginning of December, I worked on a simple blog engine. Requirements were based on my itch and they are : <br />
1. Should support writing in <a href="http://daringfireball.net/projects/markdown/">Markdown</a>. I have been using <a href="http://daringfireball.net/projects/markdown/">Markdown</a> for all my writing. An additional   benefit of writing in a pure text format is that you got a local copy of all your writings. <br />
2. Just a single author system. <br />
3. Commenting is non- essential. Ratio of quality comment that adds to the discussion to time spent on spam is low. I don&#8217;t mind taking the discussion to <a href="http://www.twitter.com/jjude">Twitter</a> or <a href="http://gplus.to/jjude">G+</a>, if required. <br />
4. Have a minimal design. Yes, I want to learn CSS but I also like to limit the learning to few topics at one moment so that I can learn them well. Also I have found that minimalistic blogs are pleasant to the eyes <img src='http://www.jjude.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   </p>
<p>Having laid out these simple requirements, I went about developing it. Due to workload and family commitments, I could spend only an hour or two at max a day, some days even that was not possible. But the desire to create something of my own kept my enthusiasm high. The intuitiveness of web2py design should be commended since I didn&#8217;t spend any time in picking up from where I left. There was no time lost.   </p>
<p>I set myself a deadline &#8211; I should complete the blog engine before Christmas and should migrate my other <a href="http://www.jjude.biz">biz blog</a> before New Year.</p>
<p>When I started, I wasn&#8217;t sure I will be able to complete. But am happy that I was able to meet the deadlines I set to myself. In fact, I did better. My <a href="http://www.jjude.biz">biz blog</a> was running on <a href="http://www.wordpress.org">wordpress</a> and I was even able to import <a href="http://www.wordpress.org">wordpress</a> entries (though I would consider it was only about 90% success).</p>
<p>On 24th, I had the running code and launched the application on <a href="http://code.google.com/appengine/">Google AppEngine</a>. I called it <a href="http://minnaedu.appspot.com">Minnaedu</a> &#8211; a <a href="http://en.wikipedia.org/wiki/Tamil_language">Tamil</a> word for online journal. I played with it few more times before announcing it in <a href="http://groups.google.com/d/topic/web2py/TJ2Ww8Fk2EE/discussion">web2py forum</a> on Dec 25th.</p>
<p>Soon after I worked on making it work outside of <a href="http://code.google.com/appengine/">Google AppEngine</a>. I was hosting my <a href="http://www.jjude.biz">biz blog</a> on <a href="http://www.webfaction.com/?affiliate=id804097">webfaction</a> servers. Though <a href="http://www.webfaction.com/?affiliate=id804097">webfaction</a> doesn&#8217;t provide quick-install method for <a href="http://www.web2py.com">web2py</a> as they provide for <a href="https://www.djangoproject.com/">django</a>, they do provide a <a href="http://community.webfaction.com/questions/4025/is-there-going-to-be-a-one-click-installer-for-web2py-anytime-soon">script</a>. Few clicks here and there and voila, I got my <a href="http://www.jjude.biz">biz blog</a> in my own blog engine. </p>
<p>That is when I understood the power of <a href="http://www.web2py.com">web2py</a> &#8211; I could run the same codebase on <a href="http://code.google.com/appengine/">Google AppEngine</a> and <a href="http://www.webfaction.com/?affiliate=id804097">webfaction</a> (only change was database connection string).</p>
<p>This blog is still running on <a href="http://www.wordpress.org">wordpress</a>. Migrating this to <a href="http://minnaedu.appspot.com">minnaedu</a> is less priority than getting <a href="http://minnaedu.appspot.com">minnaedu</a> well tested and having the deployment taken care by <a href="http://docs.fabfile.org/en/1.3.3/index.html">fabric</a>.</p>
<p>Overall it is a great way to finish the year.</p>
<p>Wishing you create something useful for all &#8211; you and the tribe you chose to be with.</p>
<p><strong>Happy New Year</strong></p>
<h4  class="related_post_title">Most Commented Posts</h4><ul class="related_post"><li><a href="http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/" title="Is Slug A Necessary Feature Anymore?">Is Slug A Necessary Feature Anymore?</a></li><li><a href="http://www.jjude.com/2008/03/a-distant-dream-comes-true-with-django/" title="A distant dream comes true with Django">A distant dream comes true with Django</a></li><li><a href="http://www.jjude.com/2008/04/a-simple-twitter-clone-in-django/" title="A simple ‘Twitter’ clone in Django">A simple ‘Twitter’ clone in Django</a></li></ul><p><a href="http://www.jjude.com/2011/12/here-is-a-blog-engine-for-google-appengine-and-just-about-everywhere-else/">Here is a blog engine for Google AppEngine (and just about everywhere else)</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2011/12/here-is-a-blog-engine-for-google-appengine-and-just-about-everywhere-else/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Solo Developers Aren&#8217;t Just Programmers</title>
		<link>http://www.jjude.com/2011/11/solo-developers-arent-just-programmers/</link>
		<comments>http://www.jjude.com/2011/11/solo-developers-arent-just-programmers/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 00:20:43 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[making money]]></category>
		<category><![CDATA[solo-developers]]></category>

		<guid isPermaLink="false">http://www.jjude.com/2011/11/solo-developers-arent-just-programmers/</guid>
		<description><![CDATA[<p>Back When I started in software field, in early 90&#8217;s as an employee, it was enough to master a programming language &#8211; in my case it was C and Visual Basic. You needed to know these languages really well and I did. In fact, I would program for others, for free, just to learn various [...]</p><p><a href="http://www.jjude.com/2011/11/solo-developers-arent-just-programmers/">Solo Developers Aren&#8217;t Just Programmers</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>Back When I started in software field, in early 90&#8217;s as an employee, it was enough to master a programming language &#8211; in my case it was C and Visual Basic. You needed to know these languages really well and I did. In fact, I would program for others, for free, just to learn various aspects of the language. Once I wrote a program to control arms &amp; legs of a robot, just to learn serial programming in C; another time I created dlls in VisualBasic that could be used in PowerBuilder to send emails.</p>
<p>But then I became solo and quickly I realised that solo developers don&#8217;t enjoy the luxury of that silo-expertise.</p>
<p>As a solo developer, you are required to master a whole <a href="http://www.jjude.com/2011/10/tools-of-software-craft/">gamut of software tools</a>. Its difficult but not impossible. Mostly we know the challenge and &#8216;know&#8217; we can handle it. After all, all of these are still software.</p>
<p>What came as a surprise to me and am sure to others in this flock is that suddenly you need to master so many other non-software skills.</p>
<p>You are expected to have good, if not excellent, communication skills &#8211; and many fellow programmers will admit it&#8217;s a nightmare; and you need a knack to close a sale, which includes among many others strong negotiation skill.</p>
<p>Being in India, I am aware that some, if not most, of these tasks can be outsourced. But even that requires these non-software skills like contract negotiation and cash-flow management!</p>
<p>So what I&#8217;m saying is, when you transition from an employee-programmer to a solo developer, you are no more a programmer. You are a businessman. Earlier, you realize it, it is better.</p>
<h4  class="related_post_title">Most Commented Posts</h4><ul class="related_post"><li><a href="http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/" title="Is Slug A Necessary Feature Anymore?">Is Slug A Necessary Feature Anymore?</a></li><li><a href="http://www.jjude.com/2008/03/a-distant-dream-comes-true-with-django/" title="A distant dream comes true with Django">A distant dream comes true with Django</a></li><li><a href="http://www.jjude.com/2008/04/a-simple-twitter-clone-in-django/" title="A simple ‘Twitter’ clone in Django">A simple ‘Twitter’ clone in Django</a></li></ul><p><a href="http://www.jjude.com/2011/11/solo-developers-arent-just-programmers/">Solo Developers Aren&#8217;t Just Programmers</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2011/11/solo-developers-arent-just-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Slug A Necessary Feature Anymore?</title>
		<link>http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/</link>
		<comments>http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 09:26:49 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[slug]]></category>
		<category><![CDATA[traffic]]></category>

		<guid isPermaLink="false">http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/</guid>
		<description><![CDATA[<p>No doubt slug had its usage in driving SEO traffic. But in the Internet world dominated by Twitters &#38; Facebooks, is slug still a necessary feature? I&#8217;m pondering this question as I develop 123-check, which, I hope, will have all the checklists at one place. Let me tell you why I think slug is not [...]</p><p><a href="http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/">Is Slug A Necessary Feature Anymore?</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>No doubt <a href="http://en.wikipedia.org/wiki/Slug_(web_publishing)">slug</a> had its usage in driving SEO traffic. But in the Internet world dominated by Twitters &amp; Facebooks, is <a href="http://en.wikipedia.org/wiki/Slug_(web_publishing)">slug</a> still a necessary feature?</p>
<p>I&#8217;m pondering this question as I develop <a href="http://123-check.appspot.com">123-check</a>, which, I hope, will have all the checklists at one place.</p>
<p>Let me tell you why I think slug is not necessary. </p>
<p>To start with, implementing a slug has an overhead.  </p>
<p>First the overhead of programming it. In a framework like <a href="https://www.djangoproject.com/">Django</a> or <a href="http://wordpress.org/">WordPress</a> (yes, <a href="http://wordpress.org/">WordPress</a> is no more just a blog engine), enabling this feature may be just a matter of few lines of code or few clicks to install a plug-in. But if you program in <a href="http://web2py.com/">web2py</a>, it is not an out-of-the-box option. You need to spend time developing it.</p>
<p>Secondly, there is an ongoing overhead of translating the title (or whatever else you convert) to a slug  and then later, searching through a db with a slug (a text field search, so it&#8217;s slower than an id match). This wouldn&#8217;t matter much in most environments but in <a href="http://appengine.google.com">Google AppEngine</a> (where I host <a href="http://123-check.appspot.com">123-check</a>), it matters.</p>
<p>I would pick up the overhead if it helps. But I am more than convinced that there is no reason to implement it any more.</p>
<p>Let&#8217;s look at how you land at a web page. For convenience let&#8217;s limit to content pages (which is what <a href="http://123-check.appspot.com">123-check</a> is) and leave out corporate informational pages.</p>
<p>The fastest way to reach a web page is via bookmarking. May be you bookmark <a href="http://123-check.appspot.com">123-check</a> because you know, you can find all the checklists in a single portal (and if you have not bookmarked it, go ahead and do it now. I will wait).</p>
<p>But there are times you search. I have not used Bing much, but Google sorts by +s &amp; general popularity. Recently it also shows if someone from your circle shared or +ed a result. So you go ahead &amp; click a result thrown to you by Google.</p>
<p>Wait, did you look at the URL of the web page? I bet you didn&#8217;t. Most of us don&#8217;t.</p>
<p>There is still another way you land on a web page, which is through activity stream of <a href="http://twitter.com">Twitter</a>,  <a href="http://facebook.com">Facebook</a>. Ironically, you don&#8217;t even know the domain of the link you click because mostly its <a href="http://bit.ly">bit.ly</a> or something similar.</p>
<p>Ok so the slug is not used by humans. May be its for machines! But let&#8217;s look at some of the players in the &#8216;content&#8217; field.</p>
<p><a href="http://twitter.com/jjude">Twitter</a> gives a pretty URL to my profile page. So do <a href="http://in.linkedin.com/in/jjude">LinkedIn</a> &amp; <a href="http://www.facebook.com/joseph.jude">Facebook</a>. But on <a href="https://plus.google.com/105440944797450602039/">GPlus</a>, I&#8217;m just a number. Now that might surprise a lot of people.</p>
<p>What? The grand-daddy of SEO doesn&#8217;t have a pretty url in its social media site?</p>
<p>So if Google doesn&#8217;t go with Slug why should you?</p>
<h4  class="related_post_title">Most Commented Posts</h4><ul class="related_post"><li><a href="http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/" title="Is Slug A Necessary Feature Anymore?">Is Slug A Necessary Feature Anymore?</a></li><li><a href="http://www.jjude.com/2008/03/a-distant-dream-comes-true-with-django/" title="A distant dream comes true with Django">A distant dream comes true with Django</a></li><li><a href="http://www.jjude.com/2008/04/a-simple-twitter-clone-in-django/" title="A simple ‘Twitter’ clone in Django">A simple ‘Twitter’ clone in Django</a></li></ul><p><a href="http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/">Is Slug A Necessary Feature Anymore?</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2011/11/is-slug-a-necessary-feature-anymore/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Tools of Software Craft</title>
		<link>http://www.jjude.com/2011/10/tools-of-software-craft/</link>
		<comments>http://www.jjude.com/2011/10/tools-of-software-craft/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 17:05:30 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web2py]]></category>

		<guid isPermaLink="false">http://www.jjude.com/2011/10/tools-of-software-craft/</guid>
		<description><![CDATA[<p>Any craftsman is as good only as the tools at his disposal and the craft of software development is no different. To produce his best efforts, he should have the best tools that he can afford. Fortunately, in software industry, some of these best tools are free. If you are on the search for a [...]</p><p><a href="http://www.jjude.com/2011/10/tools-of-software-craft/">Tools of Software Craft</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>Any craftsman is as good only  as the tools at his disposal and the craft of software development is no different. To produce his best efforts, he should have the best tools that he can afford. Fortunately, in software industry,  some of these best tools are free.</p>
<p>If you are on the search for a tool, know that no tool or framework is so comprehensive to cover an exhaustive use-cases. So whatever choices you make, it is likely that you will encounter someone from the anti-camp. Hear their arguments, just be sure of your requirements. Otherwise you will waste your time in search of the best tool!</p>
<p>While we are at it, here is a related point: since no tool can meet all your requirements, you may have to learn another tool.</p>
<p>With that said, here is a list of the tools I&#8217;ve acquired and use:</p>
<p><strong>Computer Environment</strong>: You might buy the best tools but if you have to run them on a lousy computer, your productivity is still hampered. I have been using a <a href="http://en.wikipedia.org/wiki/MacBook">MacBook</a> for the past three years and I don&#8217;t regret the investment. Why? Because it just works. Do yourself a favor and get the best computer you can buy.</p>
<p><strong>Programming Language</strong>: Another important choice for software developers is the programming language, since you have to literally live with it. Of all the languages I have used, I prefer <a href="http://www.python.org/">Python</a>. It is simple, hence easy to learn; it has got great community around; got many frameworks for both desktop and web development; and an added advantage of a simple programming language is that when you return after a break, you can quickly pick-up and move fast.</p>
<p><strong>Virtual Environment</strong>: Without an virtual environment, changes you make impact the main installation, sometimes disturbing the system behavior. Virtual environments give you the flexibility of experimentation &amp; isolating your experimental changes.</p>
<p>I use both <a href="https://www.virtualbox.org/">virtualbox</a>, which is a full fledged virtual emulator and <a href="http://pypi.python.org/pypi/virtualenv">virtualenv</a> which is a python virtual environment.</p>
<p><strong>Wireframe Sketchers</strong>: It is better to visualize the design before writing a single line of code. That will limit the cost of changes later. I play around with many desktop-based &amp; web-based tools for wireframe but I keep returning to pencil (the real paper &amp; pencil and the simple <a href="http://pencil.evolus.vn/en-US/Home.aspx">Pencil</a> extension for <a href="http://www.mozilla.org/en-US/firefox/new/">Firefox</a>)</p>
<p><strong>IDE/Text Editor</strong>: Integrated Development Environments are packaged with tons of tools to assist software development. But, I find them bloated for a Python based web development. A text editor meets almost all requirements of python based web development.</p>
<p>Recently, I switched to <a href="http://macromates.com/">TextMate</a> and I am happy with it. It comes with lots of <a href="http://svn.textmate.org/trunk/Bundles/">bundles</a> that ease your way of working.</p>
<p><strong>Frameworks</strong>: Frameworks provide a means for all the common activities of software development like UI design, events controllers, DB access and session management (in case of web apps). That said, frameworks can also be restrictive, so ensure the frameworks support the use-cases you have in mind.</p>
<p>I regularly use <a href="http://www.wxwidgets.org/">wxWidgets</a> for desktop programming &amp; <a href="http://web2py.com">web2py</a> for web development. They are not perfect and there is always a better framework; but they fit my needs.</p>
<p><strong>Source Control</strong>: It is suicidal to start software development without a source control tool, even for a solo-developer development (like me). There is an associated benefit of using a source control system: using commit comments, you can keep track of your progress in implementing features &amp; fixing bugs. </p>
<p><a href="http://mercurial.selenic.com/">Mercurial</a> is my choice for source control. On mac, I use <a href="https://bitbucket.org/snej/murky/wiki/Home">Murky</a> as the mercurial client.</p>
<p><strong>Bug / Issue / Features Database</strong>: Bugs &amp; features should be collected in a single bucket rather than being littered in papers or in text files. Most of the version control systems provide a bug tracking system too.</p>
<p>I use the bug / issue database that comes along with <a href="https://bitbucket.org/">Bitbucket</a>. </p>
<p><strong>(Automated) Testing Tools</strong>: after a certain threshold, it is impossible test all features manually. you should automate as much as possible and resort to manual testing only for those aspects that need to be tested manually like look &amp; feel of the application. There is a whole lot of testing tools available depending on the aspects of testing, for example functionality testing and load testing.</p>
<p>I don&#8217;t have a choice or a preference when it comes to automated testing tools. I&#8217;ve used Python unit-testing, <a href="http://seleniumhq.org/">Selenium</a> and now learning <a href="http://code.google.com/p/robotframework/">Robot Framework</a>. But I&#8217;m still on the look out for a better (read one that makes functional &amp; load testing easier) testing tool.</p>
<p><strong>Hosting</strong>: Web applications need a hosting environment. For my simple need <a href="http://appengine.google.com">Google AppEngine</a> and <a href="http://www.webfaction.com/">WebFaction</a> are sufficient enough.</p>
<p>I&#8217;m eager to know what are the tools you use? Leave them in <a href="#comments">comments</a>. </p>
<h4  class="related_post_title">Related Posts:</h4><ul class="related_post"><li><a href="http://www.jjude.com/2011/10/simplify-your-life-with-a-simple-application/" title="Simplify Your Life With A Simple Application">Simplify Your Life With A Simple Application</a></li><li><a href="http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/" title="Now you can create cases via Twitter">Now you can create cases via Twitter</a></li><li><a href="http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/" title="Why I chose web2py for developing YATSY?">Why I chose web2py for developing YATSY?</a></li></ul><p><a href="http://www.jjude.com/2011/10/tools-of-software-craft/">Tools of Software Craft</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2011/10/tools-of-software-craft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simplify Your Life With A Simple Application</title>
		<link>http://www.jjude.com/2011/10/simplify-your-life-with-a-simple-application/</link>
		<comments>http://www.jjude.com/2011/10/simplify-your-life-with-a-simple-application/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 00:25:45 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[123-check]]></category>
		<category><![CDATA[checklists]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[web2py]]></category>

		<guid isPermaLink="false">http://www.jjude.com/2011/10/simplify-your-life-with-a-simple-application/</guid>
		<description><![CDATA[<p>All of us want to excel in the domains that we practice &#8211; be it photography, web development or teaching. But sometimes it hits you that these fields have become too large for us to handle. It is not just that the domains have become too large. Now, we are expected to posses skills in [...]</p><p><a href="http://www.jjude.com/2011/10/simplify-your-life-with-a-simple-application/">Simplify Your Life With A Simple Application</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>All of us want to excel in the domains that we practice &#8211; be it photography, web development or teaching. But sometimes it hits you that these fields have become too large for us to handle.</p>
<p>It is not just that the domains have become too large. Now, we are expected to posses skills in many of the associated fields to be successful. It is not enough that you can focus and capture amazing pictures, but you need to be able to persuade clients to engage you for assignments, negotiate  fees and also effectively manage time.</p>
<p>When all of these crowd your mind, you tend to forget things &#8211; some times even the crucial things. That leads to disasters which can&#8217;t be forgiven, because you knew you had to do it, you knew how to do it, yet forgot to do it.  </p>
<p>That is how proposals are emailed to wrong clients and product upgrades are done without shuting down email servers!</p>
<p>But is there a remedy? Can this be solved?</p>
<p>&#8220;Yes,&#8221; says Atul Gawande in his book, <a href="http://gawande.com/the-checklist-manifesto">The Checklist Manifesto</a>. If not obvious from the book title, he recommends us to use checklists.</p>
<p>I stand by checklists, because I use them and I have found their effectiveness.</p>
<p>Because I&#8217;m convinced of the effectiveness of checklists, I have created a <a href="http://123-check.appspot.com/">web-application</a> to be a repository of checklists.</p>
<p>It is only the first version. But you can already create checklists and tag them. I have list of additional features to implement (like delete, modify checklists, share in social media etc.), Still you can mail me your suggestions.</p>
<p>Now its your time to go and create checklists, because you don&#8217;t want to make stupid mistakes.</p>
<h4  class="related_post_title">Related Posts:</h4><ul class="related_post"><li><a href="http://www.jjude.com/2011/10/tools-of-software-craft/" title="Tools of Software Craft">Tools of Software Craft</a></li><li><a href="http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/" title="Now you can create cases via Twitter">Now you can create cases via Twitter</a></li><li><a href="http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/" title="Why I chose web2py for developing YATSY?">Why I chose web2py for developing YATSY?</a></li></ul><p><a href="http://www.jjude.com/2011/10/simplify-your-life-with-a-simple-application/">Simplify Your Life With A Simple Application</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2011/10/simplify-your-life-with-a-simple-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Now you can create cases via Twitter</title>
		<link>http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/</link>
		<comments>http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/#comments</comments>
		<pubDate>Sat, 02 May 2009 14:27:45 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[web2py]]></category>
		<category><![CDATA[yatsy]]></category>

		<guid isPermaLink="false">http://www.jjude.com/2009/05/02/now-you-can-create-cases-via-twitter/</guid>
		<description><![CDATA[<p>With increasing popularity of social media, integrating Case Management Systems with social  media is inevitable</p><p><a href="http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/">Now you can create cases via Twitter</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>Traditionally, customer service was provided via phone, email or web. In the age of Twitters and Facebooks, those options seems so old age practice. Since youngsters spend so much time on the ubiquitous Twitter, they would eventually bring customer service to Twitter and other social media.</p>
<p>Here is how <a href="http://y-a-t-s-y.appspot.com/" target="_blank">YATSY</a> (a simple case management system for Google App Engine) is integrated with Twitter.</p>
<p><img title="twitter" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="137" alt="twitter" src="http://www.jjude.com/wp-content/uploads/twitter.jpg" width="481" border="0" /></p>
<p>Isn’t that simple? Follow @<a href="http://twitter.com/yatsy" target="_blank">yatsy</a>; once yatsy follows back, send a direct message to yatsy to create a case. YATSY system will read this DM and create a case &amp; will respond back.</p>
<p>Having Twitter Integration is a double edge sword. If you provide a fantastic customer service it will be known in the social media. On the other hand, if you do a lousy job, it will spread like a wild fire. Yet, if you monitor Twitter Streams, you’ll be able to improve your products and customer service too.</p>
<p>Now for the techies. How did I implement Twitter Integration? YATSY itself is written using web2py, a web-framework in Python. Twitter streams are parsed using <a href="http://code.google.com/p/python-twitter/" target="_blank">python-twitter</a>, a simple &amp; efficient Python wrapper for Twitter API.</p>
<p><strong><u>Steps Forward</u></strong></p>
<ul>
<li>Use Google App Engine Cron to initiate twitter parsing &amp; case creation (now one need to explicitly execute the function) </li>
<li>Using the same Cron facility for auto-follow </li>
<li>Use a message queue for IN/OUT messages (if you know a good message queue implementation in Python, please leave a comment) </li>
<li>Integrate (case) notes with Twitter </li>
</ul>
<p>If your hands are itching to test this, go ahead and follow <a href="http://twitter.com/yatsy" target="_blank">yatsy</a> &amp; once yatsy follow you back, DM your case text.</p>
<p>If you are interested in checking out the code or want to do a code review, head to <a href="http://code.google.com/p/y-a-t-s-y" target="_blank">Google Code</a> page</p>
<h4  class="related_post_title">Related Posts:</h4><ul class="related_post"><li><a href="http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/" title="Why I chose web2py for developing YATSY?">Why I chose web2py for developing YATSY?</a></li><li><a href="http://www.jjude.com/2009/03/a-first-shot-at-web2py/" title="A First shot at web2py">A First shot at web2py</a></li><li><a href="http://www.jjude.com/2011/10/tools-of-software-craft/" title="Tools of Software Craft">Tools of Software Craft</a></li></ul><p><a href="http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/">Now you can create cases via Twitter</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Why I chose web2py for developing YATSY?</title>
		<link>http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/</link>
		<comments>http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 02:23:47 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[web2py]]></category>
		<category><![CDATA[yatsy]]></category>

		<guid isPermaLink="false">http://www.jjude.com/2009/04/07/why-i-chose-web2py-for-developing-yatsy/</guid>
		<description><![CDATA[<p>Here I discuss the reasons that I went with web2py for developing YATSY - an open source helpdesk application for google appengine.</p><p><a href="http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/">Why I chose web2py for developing YATSY?</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>Non-functional features are as important as functional features in determining the success of an open-source application. Users should be able to download and try most of the functionality, without complicated installation steps. Equally important is the ease with which it can be deployed. </p>
<p>While striving to keep these boundary conditions for end-users, developers prefer a language (and framework) that enable them to transform their brilliant ideas into working code quickly. </p>
<p>With such a thought process, I searched for a framework to develop YATSY &#8211; an open source helpdesk application for small businesses. As the title says, I settled on web2py because of the following reasons: </p>
<p><strong>It is on Python:</strong> If you didn&#8217;t know, Python can be learnt intuitively. In the recent years lots of Python-based frameworks have evolved improving developer&#8217;s productivity drastically. Python places minimal constraints on the developer; hence development is generally quick. </p>
<p><strong>It adapts to Schema Changes:</strong> Schema changes are an inherent part of development; especially if you follow the open-source mantra of &#8216;release early; release often&#8217;. Web2py automatically changes db schema if it detects a change in the underlying model. You don&#8217;t need to drop and recreate schema or issue alter table commands. One less head-ache for developers. </p>
<p><strong>Its a self-contained Framework:</strong> web2py is based on MVC pattern and it comes bundled with most of the components needed for web-development &#8211; authentication, authorization, form generation &amp; validation,&#160; internationalization, admin interface, ajax (jQuery) and so on. </p>
<p><strong>Its well documented:</strong> Yes it is a pity that the official manual has to be bought but Massimo, the lead developer, seems to have a <a href="http://groups.google.com/group/web2py/browse_thread/thread/5b62e3e58fee5421" target="_blank">justification</a> for it. I went ahead and bought the manual and I should it is fantastic &#8211; he explains each component of the stack pretty well. </p>
<p><strong>It can be installed easily:</strong> It is based on Python,&#160; but it is not a pre-requisite to run web2py. Download, Unzip, Execute are all that is needed to get started with web2py development &#8211; on any OS. </p>
<p><strong>It can be hosted on AppEngine:</strong> This is a big plus for me. Google AppEngine is the only cloud hosting that I am aware of that provides a free hosting for Python based applications. So potential users of YATSY can try free GAE hosting before moving to paid hosting. Deploying web2py application to AppEngine is a one-click affair. </p>
<p><strong>It can be hosted elsewhere too:</strong> Web2py provides the flexibility to host the developed application anywhere Python can be installed. This means that users are not tied to GAE. If they want to install in their own servers, it is no problem. </p>
<p>With web2py providing the basic blocks for non-functional requirements, I find it easy to develop YATSY. You can check out the code at <a href="http://code.google.com/p/y-a-t-s-y/" target="_blank">Google code</a> and try it at <a href="http://y-a-t-s-y.appspot.com/" target="_blank">Google AppEngine</a>.</p>
<h4  class="related_post_title">Related Posts:</h4><ul class="related_post"><li><a href="http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/" title="Now you can create cases via Twitter">Now you can create cases via Twitter</a></li><li><a href="http://www.jjude.com/2009/03/a-first-shot-at-web2py/" title="A First shot at web2py">A First shot at web2py</a></li><li><a href="http://www.jjude.com/2011/10/tools-of-software-craft/" title="Tools of Software Craft">Tools of Software Craft</a></li></ul><p><a href="http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/">Why I chose web2py for developing YATSY?</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>A First shot at web2py</title>
		<link>http://www.jjude.com/2009/03/a-first-shot-at-web2py/</link>
		<comments>http://www.jjude.com/2009/03/a-first-shot-at-web2py/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 04:54:25 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[web2py]]></category>
		<category><![CDATA[yatsy]]></category>

		<guid isPermaLink="false">http://www.jjude.com/2009/03/08/a-first-shot-at-web2py/</guid>
		<description><![CDATA[<p>Is web2py the answer for an easy-to-user, feature-rich web framework?</p><p><a href="http://www.jjude.com/2009/03/a-first-shot-at-web2py/">A First shot at web2py</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>An irony of being in software industry is that as I gain more experience, I go farther away from constructing software. I keep learning lots of abstract concepts, but don’t get to test them. Not to be out-dated, I write pieces of software myself to test these concepts and theories. Its like being in college continuously!</p>
<p>Of late, I’ve been reading a lot about <a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_blank">cloud computing</a>, <a href="http://en.wikipedia.org/wiki/Software_as_a_service" target="_blank">SAAS</a>, REST and <a href="http://en.wikipedia.org/wiki/Web_2.0" target="_blank">web2.0</a>. But I couldn’t find a way to test them. So I decided to develop an application, which I named YATSY – Yet Another Ticketing System – utilizing years of experience in customizing other helpdesk, support desk and service desk systems. </p>
<p>Only Google offered a free hosting (limited free hosting; with an option to upgrade) on the cloud. With its current offering <a href="http://code.google.com/appengine/" target="_blank">Google AppEngine</a> (GAE) supports only Python. And <a href="http://web2py.com/" target="_blank">web2py</a>, a python web-framework, makes it extremely easy to develop for GAE. Not only that – web2py claims to make it easy to build stand-alone applications for all the three platforms: Mac, Linux &amp; Windows. Though web2py doesn’t have many contributed 3rd party plug-ins, I went ahead with web2py because of the above feature set.</p>
<p>One more negative about web2py is that it lacks a fine documentation. So it is little difficult for beginners. Yet discussions on their <a href="http://groups.google.com/group/web2py/topics" target="_blank">google group</a> compensates for this lack.</p>
<p>With that said, web2py does make web-programming easy and hosting on GAE is even easier. <a href="http://y-a-t-s-y.appspot.com/" target="_blank">Here</a> is what I’ve been able to achieve.<a href="http://www.jjude.com/wp-content/uploads/image23.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; float: none; margin: 10px; border-left: 0px; border-bottom: 0px" height="395" alt="image" src="http://www.jjude.com/wp-content/uploads/image-thumb21.png" width="660" border="0" /></a></p>
<p> You can see it hosted in <a href="http://y-a-t-s-y.appspot.com/" target="_blank">Google AppEngine</a>. The code is checked in <a href="http://code.google.com/p/y-a-t-s-y/source/browse/trunk" target="_blank">Google Code</a>.</p>
<p>Your comments are welcome.</p>
<h4  class="related_post_title">Related Posts:</h4><ul class="related_post"><li><a href="http://www.jjude.com/2009/05/now-you-can-create-cases-via-twitter/" title="Now you can create cases via Twitter">Now you can create cases via Twitter</a></li><li><a href="http://www.jjude.com/2009/04/why-i-chose-web2py-for-developing-yatsy/" title="Why I chose web2py for developing YATSY?">Why I chose web2py for developing YATSY?</a></li><li><a href="http://www.jjude.com/2011/10/tools-of-software-craft/" title="Tools of Software Craft">Tools of Software Craft</a></li></ul><p><a href="http://www.jjude.com/2009/03/a-first-shot-at-web2py/">A First shot at web2py</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2009/03/a-first-shot-at-web2py/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How relavant is ‘The Mythical Man-Month’?</title>
		<link>http://www.jjude.com/2008/10/how-relavant-is-the-mythical-man-month/</link>
		<comments>http://www.jjude.com/2008/10/how-relavant-is-the-mythical-man-month/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 15:58:26 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[personal MBA]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[consulting]]></category>

		<guid isPermaLink="false">http://www.jjude.com/index.php/archives/2008/10/19/how-relavant-is-the-mythical-man-month/</guid>
		<description><![CDATA[<p>Can a book written 20 years ago about a software building experience 30 years ago still be relavant, much less be useful?</p><p><a href="http://www.jjude.com/2008/10/how-relavant-is-the-mythical-man-month/">How relavant is ‘The Mythical Man-Month’?</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>Few books grab your attention on the first page and keep it that way until the last. It is surprising that a technical book written by a technical person would be such a one. As I read every page of <a href="http://en.wikipedia.org/wiki/The_Mythical_Man-Month" target="_blank">&#8216;The mythical Man-Month</a>&#8216; (MMM), I was thinking to myself, &#8220;Damn, I should&#8217;ve read this book in college; or at least when I started with my career&#8221;. The author, Frederick Brooks, is dealing about those invaluable lessons that I learnt hard way over these many years in this field.</p>
<p>Every problem that the author talks about is so relevant today. Fundamental to the book is the &#8216;fallacious and dangerous myth about <strong>interchangeability of men and months</strong>&#8216;. Even today when I present effort estimates to stakeholders, the immediate question is, &#8220;So if we double the team size, we should half the time to build this application?&#8221;. Brooks derives his response from a restaurant menu in New Orleans &#8211; &#8216;Good cooking takes time!&#8217;. Some tasks can&#8217;t be hurried without spoiling the result.</p>
<p>Or take the problem of <strong>communication</strong>. Though every one talks the same business language (English), their interpretations vary. Often one hears, &#8220;Oh! you meant that? I thought it was something else!&#8221;. Despite plenty of modeling techniques, understanding between parties involved remains a paramount problem in running a software project. (This is compounded in offshore projects).</p>
<p>Those of us who have handled large systems with different functional owners for different modules would have dealt with the issue of &#8216;<strong>conceptual integrity</strong>&#8216;. I have managed such projects and it is not only difficult to integrate these modules; such systems throw enormous amount of confusion to the end users.</p>
<p>Building <strong>prototypes</strong> and releasing alpha &amp; beta software are a common practices today. Open Source Software Practice advocates &#8216;release often; release early&#8217;. Yet, I&#8217;ve witnessed large projects with multi man-year effort and high complexity being developed in isolation after gather user requirements. When the project is released after years of development, the &#8216;actual need and the user&#8217;s perception of that need&#8217; changed; and the project is a colossal failure bringing frustration and humiliation to the technical team.</p>
<p>These are just few of the problems and solutions discussed by Brooks. As I said in the beginning of the article, all the issues discussed Brooks are surprisingly relevant today. If you are in software stream &#8211; as a developer or as a functional analyst or as a manager &#8211; you should read this book. It will avoid you going though the path of agony.</p>
<h4  class="related_post_title">Related Posts:</h4><ul class="related_post"><li><a href="http://www.jjude.com/2009/01/what-do-customers-want/" title="What do customers want?">What do customers want?</a></li><li><a href="http://www.jjude.com/2009/03/what-is-your-learning-model/" title="What is your learning model?">What is your learning model?</a></li><li><a href="http://www.jjude.com/2009/02/simply-better-consultants/" title="Simply Better Consultants">Simply Better Consultants</a></li></ul><p><a href="http://www.jjude.com/2008/10/how-relavant-is-the-mythical-man-month/">How relavant is ‘The Mythical Man-Month’?</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2008/10/how-relavant-is-the-mythical-man-month/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IronPython talks to Google AppEngine</title>
		<link>http://www.jjude.com/2008/09/ironpython-talks-to-google-appengine/</link>
		<comments>http://www.jjude.com/2008/09/ironpython-talks-to-google-appengine/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 17:10:10 +0000</pubDate>
		<dc:creator>Joseph Jude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ironpython]]></category>

		<guid isPermaLink="false">http://www.jjude.com/index.php/archives/2008/09/29/ironpython-talks-to-google-appengine/</guid>
		<description><![CDATA[<p>Integrating IronPython application with that of Google App Engine - a desktop &#038; web integration with authentication</p><p><a href="http://www.jjude.com/2008/09/ironpython-talks-to-google-appengine/">IronPython talks to Google AppEngine</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m continuing from my earlier posts on <a href="http://www.jjude.com/index.php/archives/2008/09/01/a-time-tracking-tool/" target="_blank">Time Tracking Tool</a> and <a href="http://www.jjude.com/index.php/archives/2008/09/18/authenticating-in-gae/" target="_blank">Authenticating in GAE</a>. When I started with Time Tracking Tool, I had the idea of having a server which will act as a centralized data repository &#8211; laptop/desktop tool, mobile tool should send data to the server and data will be analyzed in the server.</p>
<p>To that end, I got the windows desktop client tool talking to a server application. The server is a Google AppEngine Application. Currently there is not much in the server side. Just plain data that is transferred from the client tool. I&#8217;ll continue to work on the components and improve on the features &#8211; especially dashboard, analytics and similar other features.</p>
<p>To start with <a href="http://code.google.com/p/mysecs/downloads/list" target="_blank">download</a> the windows client tool (mySecs_x.x.zip &#8211; as the general practice x.x denotes the version) and unzip the content to a directory. You can use the client tool as a standalone tool (without synchronizing data to the server). This is the default configuration. However if you are okay to synchronize then modify the config.xml accordingly.</p>
<div class="codecolorer-container xml blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;serverupdate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/serverupdate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;host<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>mysecs.appspot.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/host<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;email<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>mysecs@gmail.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/email<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;password<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>yourpassword<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/password<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></div>
<p>As I said before, client tool works as a stand alone tool by default. If you&#8217;re okay to synchronize the data, then change this to 1. I use Google Authentication, hence you need to have a gmail account and provide these in the respective xml nodes.</p>
<p>(A note about data privacy: I don&#8217;t pass your email id  to the server. So I wouldn&#8217;t know about your email id. If you are particular about your email id, which you should be, then create another gmail id for this purpose.</p>
<p>Also, since code for the server is shared, you can download the GAE code and host it on your own).</p>
<p>This is a working version. I&#8217;m using it to capture details and synchronize with the GAE server. As I continue to find bugs, I&#8217;ll fix them. However if you find bugs, please report them in the <a href="http://code.google.com/p/mysecs/issues/list" target="_blank">Issue Log</a>. (A user reported that it doesn&#8217;t work with x64. I don&#8217;t know how to fix it. I will search around to fix it).</p>
<p>Next steps? Incorporate with Google Charts to provide some neat analytics reports, so that it really becomes an useful tool.</p>
<p>I need a help though. I am really bad at web design. So if you can take some time of you to design a cool home page and a list page, it will be great. I will surely acknowledge you for your contribution. So if you want to help, please <a href="http://www.jjude.com/contact" target="_blank">contact</a> me.</p>
<h4  class="related_post_title">Related Posts:</h4><ul class="related_post"><li><a href="http://www.jjude.com/2008/09/authenticating-in-gae/" title="Authenticating in GAE">Authenticating in GAE</a></li><li><a href="http://www.jjude.com/2008/09/ironpython-learnings/" title="IronPython Learnings">IronPython Learnings</a></li><li><a href="http://www.jjude.com/2008/09/a-time-tracking-tool/" title="A time tracking tool">A time tracking tool</a></li></ul><p><a href="http://www.jjude.com/2008/09/ironpython-talks-to-google-appengine/">IronPython talks to Google AppEngine</a> is post from <a href="http://www.jjude.com">finally{}</a>.
<p>Author Bio : Joseph is an independent consultant helping organizations to achieve their business objectives through IT investment. You can follow him on twitter <a href="http://twitter.com/jjude">@jjude</a></p></p>]]></content:encoded>
			<wfw:commentRss>http://www.jjude.com/2008/09/ironpython-talks-to-google-appengine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

