<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://sudhanshuraheja.com/wp-atom.php"><title type="text">Gyaan Sutra</title> <subtitle type="text">By Sudhanshu Raheja</subtitle><updated>2010-08-06T05:09:27Z</updated><link rel="alternate" type="text/html" href="http://sudhanshuraheja.com" /> <id>http://sudhanshuraheja.com/feed/atom/</id><generator uri="http://wordpress.org/" version="3.0.1">WordPress</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/GyaanSutra" /><feedburner:info uri="gyaansutra" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:emailServiceId>GyaanSutra</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry> <author> <name>admin</name> </author><title type="html"><![CDATA[The Quintessential Non Disclosure Agreement]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/Iw0_vs0m8Bk/" /> <id>http://sudhanshuraheja.com/?p=1025</id> <updated>2010-08-05T05:36:37Z</updated> <published>2010-08-05T05:36:37Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="agreements" /><category scheme="http://sudhanshuraheja.com" term="business" /><category scheme="http://sudhanshuraheja.com" term="company" /><category scheme="http://sudhanshuraheja.com" term="entrepreneurship" /><category scheme="http://sudhanshuraheja.com" term="startup" /><category scheme="http://sudhanshuraheja.com" term="tips" /> <summary type="html"><![CDATA[If you run a company, you really can&#8217;t get away without signing an NDA. You need to sign one before you can talk to anybody. This is why I thought we should have a discussion about how is an NDA &#8230; <a
href="http://sudhanshuraheja.com/2010/08/quintessential-nda-non-disclosure-agreement/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2010/08/quintessential-nda-non-disclosure-agreement/">&lt;p&gt;If you run a company, you really can&amp;#8217;t get away without signing an NDA. You need to sign one before you can talk to anybody. This is why I thought we should have a discussion about how is an NDA structured. So here we go:&lt;/p&gt;&lt;h2&gt;1. The Title and the Recitals&lt;/h2&gt;&lt;p&gt;Here we define who is Agreement between, where are each of them located. This also ensures that the first paragraph of your agreement discloses what the rest of the Agreement is really about. There isn&amp;#8217;t much you can do to change it, though I have seen some slight variation in this from time to time.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;This NON-DISCLOSURE AGREEMENT (this “Agreement”) is made as of July 22, 2010 (“Effective Date”) between&lt;/p&gt;&lt;p&gt;OOMPA LOOMPA PVT. LTD. (“Party A”), a company incorporated under the Indian Companies Act, 1956, with its principal place of Charlies&amp;#8217;s Chocolate Factory&lt;/p&gt;&lt;p&gt;and&lt;/p&gt;&lt;p&gt;STONED MONK PVT. LTD. (“Party B”), a company incorporated under the Indian Companies Act, 1956, with its principal place of business at Some Random Place.&lt;/p&gt;&lt;p&gt;Party A and Party B (together referred to as the “Parties” and individually referred to as a “Party”) wish to disclose to each other certain Confidential Information (as defined below) in connection with the purpose of disclosure specified and acknowledged by the Parties as set forth below (the “Purpose”).&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Each of the words in quotes eg. &amp;#8220;Party&amp;#8221; and &amp;#8220;Purpose&amp;#8221; etc, are called the Recitals. Sometimes they are mentioned separately in another paragraph for more clarity. But I believe it&amp;#8217;s usually done where there are a lot of things to be mentioned.&lt;/p&gt;&lt;h2&gt;2. Purpose&lt;/h2&gt;&lt;p&gt;Like all of us, every document must have it&amp;#8217;s purpose. Here the companies declare what they would like to agree on. For an NDA, it&amp;#8217;s usually something like this:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Party A and Party B wish to share certain “Confidential Information” in connection with exploring the prospects of a business relationship. The exchange of Confidential Information here under is for the limited purpose of allowing each party to evaluate and develop potential business opportunities with the other.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;3. The Terms&lt;/h2&gt;&lt;p&gt;Now we are on to the juicy stuff. This is the part which mentions your rights and duties. The number of terms varies from client to client. I have seen it varying from 5 to 35. The beginning is usually like the following&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;This Agreement sets forth the terms under which Confidential Information disclosed by one Party (&amp;#8220;Discloser&amp;#8221;) to the other Party (&amp;#8220;Recipient&amp;#8221;) is to be treated. In consideration of the mutual promises and covenants contained in this Agreement, the Parties hereby agree to the following:&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;4. Popular Terms&lt;/h2&gt;&lt;p&gt;Some of the terms are very popular and keep coming up in NDA after NDA. Some are very specific to a company. So here is a list of the terms, depending on the their popularity in the NDA.&lt;/p&gt;&lt;h2&gt;#1&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;&amp;#8220;Confidential Information&amp;#8221; means all information disclosed by the Discloser hereunder that should reasonably be understood by the Recipient, because of legends or other markings, the circumstances of disclosure, or the nature of the information itself, to be proprietary and confidential to the Discloser, an affiliate of the Discloser or a third party, and includes information relating to the Discloser&amp;#8217;s business, including, without limitation, business plans, proposals, forecasts, financial data, customer and prospect lists and information, personnel data, contract information, properties, methods of operation, software (including, without limitation, source code, specifications, data, works-in-process, alpha and beta versions, design documents and documentation), trade secrets, inventions, discoveries, know-how, and other intellectual property. &amp;#8220;Confidential Information&amp;#8221; includes such information that was disclosed by Discloser to Recipient prior to the date hereof as well as information currently provided and to be provided during the term of this Agreement specified and acknowledged by the Parties below (the &amp;#8220;Term&amp;#8221;). The existence of discussions between the Parties and the terms or Purpose of this Agreement also shall be deemed Confidential Information. Confidential Information may be disclosed in written or other tangible form (including as recorded on magnetic, optical or other storage media) or by electronic, oral, visual or other means.&lt;/p&gt;&lt;p&gt;&lt;i&gt;This is by and far the most popular among the terms. It basically says that just don&amp;#8217;t tell anybody what we&amp;#8217;re telling you.&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#2&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Recipient shall take reasonable security precautions, using at least the same degree of care used to protect its own important confidential or proprietary information, but in any case no less than a reasonable degree of care, to keep the Confidential Information confidential. Recipient shall not disclose, make available or permit or suffer to be made available the Discloser&amp;#8217;s Confidential Information to any person or entity other than Recipient&amp;#8217;s employees, consultants and advisors who have a need to know such information to fulfill the Purpose, and who are bound to protect the received Confidential Information from unauthorized use and disclosure under the terms of a written agreement containing disclosure and use restrictions that are at least as protective of the Confidential Information as those set forth in this Agreement. Except as permitted by the previous sentence, in no event shall Recipient disclose, make available or permit or suffer to be made available the Discloser&amp;#8217;s Confidential Information to any affiliate of Recipient or any person associated with any affiliate of Recipient.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#3&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;The restrictions of this Agreement on the use and disclosure of Confidential Information shall not apply to information that Recipient can prove: (a) was publicly known at the time of Discloser&amp;#8217;s communication thereof to Recipient; (b) becomes publicly known through no action or fault of Recipient subsequent to the time of Discloser&amp;#8217;s communication thereof to Recipient; (c) was in Recipient&amp;#8217;s possession free of any obligation of confidence at the time of Discloser&amp;#8217;s communication thereof to Recipient; (d) is developed by Recipient independently of and without reference to any of Discloser&amp;#8217;s Confidential Information or other information that Discloser disclosed in confidence to any third party; (e) is rightfully obtained by Recipient from third parties authorized to make such disclosure without restriction; or (f) is identified by Discloser in writing as no longer proprietary or confidential.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#4&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;In the event that Recipient is required by law, regulation, or court order to disclose any of Discloser&amp;#8217;s Confidential Information, Recipient shall promptly notify Discloser in writing prior to making any such disclosure in order to facilitate Discloser seeking a protective order or other appropriate remedy from the proper authority. Recipient agrees to cooperate with Discloser in seeking such order or other remedy. Recipient further agrees that if Discloser is not successful in precluding the requesting legal body from requiring the disclosure of the Confidential Information, it will furnish only that portion of the Confidential Information which is legally required, will promptly provide Discloser with a copy of the information so furnished, and will exercise all reasonable efforts to obtain reliable assurances that the receiving party will accord it confidential treatment.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#5&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Recipient shall notify Discloser immediately upon discovery of any unauthorized use or disclosure of Confidential Information, or any breach of this Agreement by Recipient, and will cooperate with Discloser in every reasonable way to assist Discloser in regaining possession of the Confidential Information, mitigating the consequences of its disclosure, and preventing its further unauthorized use.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#6&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;No licenses or rights under patent, copyright, trademark, trade secret or other intellectual property laws are granted or implied by this Agreement. None of the Parties is obligated under this Agreement to purchase from or provide to the other Party any service or product.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#7&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;This Agreement shall automatically terminate upon the expiration of the Term, provided, however, that prior to such termination, either Party may terminate this Agreement at any time by written notice to the other. Notwithstanding such expiration or termination, and regardless of the outcome of discussions relating to the Purpose, all of Recipient&amp;#8217;s nondisclosure obligations pursuant to this Agreement shall remain in full force and effect for One (1) year after the date of such expiration or termination with respect to any Confidential Information received prior to such expiration or termination.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#8&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Beginning on the Effective Date of this Agreement and continuing until one (1) year after its expiration or termination for any reason, neither party will, for itself or any other person or entity, directly or indirectly solicit and either hire as an employee or retain as a consultant any person who was an employee of the other during the six (6) months prior to the termination date hereof. However, the Parties agree that general solicitation through such means as advertising and job fairs shall not be deemed a violation of this provision.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#9&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;No failure or delay in exercising any right, power, or privilege arising under this Agreement shall operate as a waiver thereof, nor shall any single or partial exercise thereof preclude any other or further exercise thereof or the exercise of any such right, power, or privilege.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#10&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;This Agreement is the complete agreement of the Parties concerning the subject matter hereof and supersedes and terminates any prior such agreements with such subject matter. This Agreement may not be amended or in any manner modified except by a written instrument signed by authorized representatives of both Parties. This Agreement shall be governed and construed in accordance with the laws of India without regard to its choice of law provisions. By signing this Agreement, both Parties agree to submit to the exclusive jurisdiction and venue of courts located in or serving Pune, Maharashtra, India. Each Party shall bear its own costs and expenses if it employs attorneys to enforce any rights arising out of or relating to this Agreement.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#11&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;If any provision of this Agreement is found to be unenforceable, it shall be deemed severed from this Agreement and the remainder shall be enforced as fully as possible and the unenforceable provision shall be deemed modified to the limited extent required to permit its enforcement in a manner most closely representing the effect intended by the Parties&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;#12&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Notices for each of the companies shall be sent to&lt;br
/&gt; _____________________________________________________&lt;br
/&gt; _____________________________________________________&lt;br
/&gt; _____________________________________________________&lt;/p&gt;&lt;p&gt;_____________________________________________________&lt;br
/&gt; _____________________________________________________&lt;br
/&gt; _____________________________________________________&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;Signatues&lt;/h2&gt;&lt;p&gt;Finally, you ask each of the participants to add a name, title, date and get their signatures.&lt;/p&gt;&lt;p&gt;PS. I am not a lawyer and I am not authorize to tell you how to write your NDA. So please use this at your own discretion.&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=Iw0_vs0m8Bk:1Xl1fazIm74:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=Iw0_vs0m8Bk:1Xl1fazIm74:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/Iw0_vs0m8Bk" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2010/08/quintessential-nda-non-disclosure-agreement/#comments" thr:count="1" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2010/08/quintessential-nda-non-disclosure-agreement/feed/atom/" thr:count="1" /> <thr:total>1</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2010/08/quintessential-nda-non-disclosure-agreement/</feedburner:origLink></entry> <entry> <author> <name>admin</name> </author><title type="html"><![CDATA[Moving to WordPress 3.0]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/-48kwMTF8sE/" /> <id>http://sudhanshuraheja.com/?p=1021</id> <updated>2010-08-05T07:57:49Z</updated> <published>2010-08-04T05:33:30Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="blogs" /><category scheme="http://sudhanshuraheja.com" term="programming" /><category scheme="http://sudhanshuraheja.com" term="tips" /> <summary type="html"><![CDATA[I&#8217;m glad to say that after a good six months of lying in the dust, I finally managed to salvage this blog last week. There are a few major changes that have happened. One, I moved the blog from one &#8230; <a
href="http://sudhanshuraheja.com/2010/08/moving-to-wordpress-3-0/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2010/08/moving-to-wordpress-3-0/">&lt;p&gt;I&amp;#8217;m glad to say that after a good six months of lying in the dust, I finally managed to salvage this blog last week.&lt;/p&gt;&lt;p&gt;There are a few major changes that have happened. One, I moved the blog from one on my company&amp;#8217;s servers, to a new VPS I bought from &lt;a
href='http://prgmr.com'&gt;Prgmr.com&lt;/a&gt;. Second, I upgrade to the super awesome &lt;a
href="http://wordpress.org/"&gt;WordPress 3.0&lt;/a&gt; engine. Third, This also meant that I now had access to the TwentyTen theme by the wordpress guys.&lt;/p&gt;&lt;p&gt;&lt;a
href='http://prgmr.com'&gt;Prgmr.com&lt;/a&gt; is probably one of the best and cheapest VPS hosting that you will find. I found out about them via a blog post &lt;a
href='http://journal.uggedal.com/vps-performance-comparison'&gt;comparing Slicehost, Linode, Prgmr, Rackspace and Amazon&lt;/a&gt; by the guys who run &lt;a
href='http://wasitup.com'&gt;WasItUp.com&lt;/a&gt;. The study is quite intensive and I think Prgmr really came out with flying colors.&lt;/p&gt;&lt;p&gt;I am currently on a VPS with 256MB RAM and runs Ubuntu 10.04. If you pay yearly, it costs just about $6.4 per month! However, wordpress did start behaving a little badly when I moved here and I had to tweak the apache config quite a bit to finally get it to work. I will try to elaborate on that in another post. In case you still have performance issues (slow loading etc), do let me know.&lt;/p&gt;&lt;p&gt;Google too has a part to play in bringing down the performance. A few months back, search.com managed to get hold of my domain somehow. So sudhanshuraheja.com was showing the search.com homepage and google managed to save all of it&amp;#8217;s links as those of this blog. So as soon as I took the blog live, GoogleBot crushed it! It took me a decent amount of time to find out what was wrong.&lt;/p&gt;&lt;p&gt;Also, we have migrated a lot of our clients to WordPress 3.0, but I had myself never really used it until now. And I must say that this is quite a bit more advanced than they had about a year back. We haven&amp;#8217;t used &lt;a
href="http://codex.wordpress.org/Custom_Post_Types"&gt;custom posts&lt;/a&gt; here, but the &lt;a
href="http://wpengineer.com/wordpress-3-0-menu-update/"&gt;menu&lt;/a&gt; is using the cool new feature from WordPress.&lt;/p&gt;&lt;p&gt;I am also using &lt;a
href="http://wordpress.org/extend/plugins/hyper-cache/"&gt;Hyper Cache&lt;/a&gt; instead of &lt;a
href="http://wordpress.org/extend/plugins/w3-total-cache/"&gt;W3 Total Cache&lt;/a&gt; this time. I have heard some good words about it and I really have been trying to use it for quite some time. Also, we&amp;#8217;re using the &lt;a
href="http://wordpress.org/extend/plugins/redirection/"&gt;Redirection&lt;/a&gt; plugin, as suggested by &lt;a
href="http://www.labnol.org/software/must-have-wordpress-plugins/14034/"&gt;Labnol&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;The main image on the home page was created by &lt;a
href="http://twitter.com/abhinittiwari"&gt;Abhinit&lt;/a&gt;. You can find some more of his vxt art on &lt;a
href="http://vxtindia.com/blog/when-you-get-some-time-off-make-some-wallpapers/"&gt;our company blog&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;PS. I have been having a WordPress vs Drupal discussion with one of my friends, and just to showcase how easy it was to do things in Drupal, he created a website to showcase his point. You can have a look at it &lt;a
href='http://dog-breeds.in'&gt;here&lt;/a&gt;. No custom plugins have been built, and the complete site has used open plugins available in the market. Have a look at it and let me know if you think Drupal is much better than WordPress at making sites like this.&lt;/p&gt;&lt;p&gt;PPS. Changed the caching plugin from Hyper Cache to W3 Super Cache. The CDN support in Super Cache is irreplaceable. Using Rackspace Cloud on this blog now.&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=-48kwMTF8sE:c0O5QE85COY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=-48kwMTF8sE:c0O5QE85COY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/-48kwMTF8sE" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2010/08/moving-to-wordpress-3-0/#comments" thr:count="1" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2010/08/moving-to-wordpress-3-0/feed/atom/" thr:count="1" /> <thr:total>1</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2010/08/moving-to-wordpress-3-0/</feedburner:origLink></entry> <entry> <author> <name>admin</name> </author><title type="html"><![CDATA[Introducing Generatrix]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/hBNFqz-KUwc/" /> <id>http://sudhanshuraheja.com/?p=1001</id> <updated>2010-01-15T11:05:01Z</updated> <published>2010-01-15T10:58:15Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="programming" /><category scheme="http://sudhanshuraheja.com" term="software" /><category scheme="http://sudhanshuraheja.com" term="technology" /><category scheme="http://sudhanshuraheja.com" term="web" /><category scheme="http://sudhanshuraheja.com" term="website" /> <summary type="html"><![CDATA[For the last few months, we have been working on creating our own PHP framework which can help us build applications quickly and safely. The result is called Generatrix and it is now hosted on Github.com Here is a brief &#8230; <a
href="http://sudhanshuraheja.com/2010/01/introducing-generatrix/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2010/01/introducing-generatrix/">&lt;p&gt;For the last few months, we have been working on creating our own PHP framework which can help us build applications quickly and safely. The result is called Generatrix and it is now hosted on &lt;a
rel="nofollow" href="http://github.com/vercingetorix/Generatrix"&gt;Github.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Here is a brief Introduction :&lt;/p&gt;&lt;h2&gt;Introduction&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Generatrix is a MVC framework for PHP5 which is not inspired by existing frameworks but by our belief in Magic. Our idea was to create a framework, where everything works like magic. Some of the concepts might feel a little different if you&amp;#8217;ve worked on other frameworks before, but trust me, whatever we have here, does work like magic.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;If you find a bug, please fork this and fix it up. We would be indebited to you for life. If you need our help, let me know. If you are using this for a college project, apply to us and we will recruit you. If you are using this for a commercial project, you can either pay us $500 a year or send us a thank you email. We value each of them equally. If you think it sucks, or just want to get friendly, or want to buy us a beer, or want to talk business, or if you just want to spam us, you can drop us an email at contact@vxtindia.com.&lt;/p&gt;&lt;h2&gt;So, what can this thing do for you?&lt;/h2&gt;&lt;p&gt;There are a lot of features planned, but here is the list of features which are already working&lt;/p&gt;&lt;h3&gt;1. Database Mapping&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;One major problem with databases is that everytime you change something in the DB, it&amp;#8217;s a pain to go and change the same details in the application as well. To fix this issue, we have created a file called databases.php which **automatically** creates classes for each table in your database so that you can directly start accessing them in your code. You would need the command line to do this. Once you are at the root of the app, you can do this &amp;#8211; $ ./generatrix prepareModel  . As soon as you do this, the code will check if a file called app/model/databases.php is already present. If it is, it will give you the instructions to delete it. If not, we will create a new file. So if the name of your table is cars, you would now have a class classed &amp;#8216;cars&amp;#8217; which you can use as &amp;#8211; $cars = new cars($this-&amp;gt;getDb);&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;2. Create new Controllers / Views automatically&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;To create a new view, you don&amp;#8217;t have to write any code. You can just type the following on the comand line &amp;#8211; $ ./generatrix addPage test . It will automatically create two files &amp;#8211; app/controllers/testController.php and&lt;br
/&gt; app/view/testView.php with the basic code already present.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;3. Caching Pages&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;In the file app/settings/config.json, you can set cache-pages as &amp;#8216;true&amp;#8217; and set the time to any number of seconds. Now, all your pages will automatically be cached in a file for that duration.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;4. Caching Database Queries&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;In the occasional case that you need to cache database queries, you can set cache-db as &amp;#8216;true&amp;#8217; in app/settings/config.json and your queries will start coming from a cache.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;5. Better Debug Options&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;Instead of using the regular var_dump and print_r, which don&amp;#8217;t display your objects and arrays properly, we have a new function called &amp;#8216;display()&amp;#8217; which will highlight the error on the page so that you can see the problem clearly. You can also change the call to display_system() etc to show the message in a different way. You can also stop debugging for production servers, but mentioning &amp;#8216;debug-values&amp;#8217; as &amp;#8216;false&amp;#8217; in app/settings/config.json . All errors are automatically caught and displayed with the display_error() call. The values output are different depending on if you are viewing them on the browser or CLI ( or &amp;#8216;\n&amp;#8217;)&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;6. Automatic URL Rewriting&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;All URLs are automatically rewritten in Generatrix. By default a url like http://vxtindia.com/contacts/view would send the request to app/controllers/contactsController.php and call the funtion view() in that file. Once that gets executed, it will call app/views/contactsView.php and call the function view() there.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;7. Custom URL Rewriting&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;Since automatic URL rewriting is such a pain at times, we added a way to map your controllers and functions, so that you can choose which parameter in the url should be the controller and which should be the function that gets called automatically. You can do so by setting &amp;#8216;use-catch-all&amp;#8217; to &amp;#8216;true&amp;#8217; in app/settings/config.json and editing the file app/settings/mapping.php&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;8. Database Integration&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;Unluckily we can only access one database right now. In case you need to access it, all you have to do is enter the details in app/settings/config.json . There will only be one common database object, which will only get created when you make a call to the database. If you don&amp;#8217;t, the object never initializes.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;9. Database Prefixes&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;You can also use database prefixes, as we have used &amp;#8216;cv_&amp;#8217; in the example. If you do that, your class names won&amp;#8217;t show cv_ in the name. For example, if you are using WordPress, and you want to access the wp_users table, you can set the &amp;#8216;database-prefix&amp;#8217; value to &amp;#8216;wp_&amp;#8217; and your class name would now only be &amp;#8216;user&amp;#8217;.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;10. Use jquery from Google&amp;#8217;s Servers&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;If you want to use any of the javascript libraries hosted by google, you can just enter the version number for that file in app/settings/config.json and that file will be loaded automatically. You can use this to load Jquery, JqueryUI, Prototype, Scriptalicious, MooTools, Dojo, SWFObject, YUI or EXT Core.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;11. EMail to your heart&amp;#8217;s content&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;PHPMailer is included by default, so you can call it whenever you like without downloading and installing it!&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;12. Works with CLI as well&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;Any url that can run in the browser can also work in CLI!! I know that&amp;#8217;s way too cool. To give you an example, if you have your login page as http://vxtindia.com/user/login, you can see the exact same output on CLI by typing ./index.php user login . This works like a charm when you use **cronjobs**&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;13. Automatically Require Files&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;All files in app/model, app/controllers, app/views and app/external are automatically included in the system. So you can call them without thinking twice.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;14. Break Views in SubViews to reuse!&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;Since only the view gets called automatically, you can break a page into subviews. You can reuse that subview in any of the views again.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;15. Tell the Controller that you&amp;#8217;re using JSON&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;The Controller has an option called is_html which if set to false means that you&amp;#8217;re writing a JSON or XML response. In that case, it doesn&amp;#8217;t try to include the DOCTYPE automatically. And well, this is the next point.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;16. Set DOCTYPE&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;For all your pages, you can set the doctype automatically by mentioning it the file app/settings/config.json&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;17. Automatically loads Blueprint-CSS&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;We love Blueprint so much that we load it automatically in the code for each page. So you can just start typing class=&amp;#8217;span-24&amp;#8242; and it will work. If your page width is not 950px, you can also edit the values in the file&lt;br
/&gt; public/style/generated.phpx . The .phpx extension is include in .htaccess so you don&amp;#8217;t have to worry about it. You can just change the variable $total_width to whatever value you like and it should work!&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;18. Controls for extra functionality&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;A control is piece of code which contains HTML, CSS and JS for the complete part. You can include any control by simply calling $this-&amp;gt;loadControl(). The most popular is going to be Table Control&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;19. Create Tables of the fly&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;Using javascript from datatables.net, we convert tables into searchable, paginated data tables as soon as you use the control &amp;#8216;tables&amp;#8217; by calling $this-&amp;gt;loadControl(&amp;#8216;table&amp;#8217;, &amp;#8230;).&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;20. Database Interactions&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;All calls to the database returns Associative Arrays. When you select, you get a new row from each new row in the database. When you insert you get the insert_id as the response (again in an array). We can also log the timing required for each database call, if you&amp;#8217;re worried about your performance. Also doing simple selects, inserts, deletes are easier that you can imagine!&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;21. Curl included by default&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;So you don&amp;#8217;t have to download a new version everytime! You can use the class Curl in the system.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;22. Export Database&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;To export the complete database, you can just type the following on the command line &amp;#8211; $ ./generatrix exportDb&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;23. Links, Redirection&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;Writing relative links is always a problem, so we have made sure that you don&amp;#8217;t have to do that at all! To write the absolute url, you need to call the function href(&amp;#8216;/user/login&amp;#8217;) and the parameters are from the root of Generatrix and not of the server. Redirections works in a similar way. You only need to mention the path from the Generatrix root.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;24. You love Timthumb, So do we.&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;A function call to image($path, $height, $width), returns the path using timthumb.php. For example, I have an image at http://vxtindia.com/test/something/vercingetorix.gif, and I need to display it in size 50&amp;#215;50, we can go &amp;#8211; &lt;img
alt="" /&gt; image(&amp;#8216;/test/something/vercingetorix.gif&amp;#8217;, 50, 50).&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;25. Include external Classes&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;To include any external class in the code, just copy it to app/external and it will automatically be loaded. If you have a folder, you can move the folder to the external folder and write a file outside which access the values inside the new folder.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Want it? &lt;a
href="http://github.com/vercingetorix/Generatrix"&gt;Get it here&lt;/a&gt;&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=hBNFqz-KUwc:Oy2MP2xAJhs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=hBNFqz-KUwc:Oy2MP2xAJhs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/hBNFqz-KUwc" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2010/01/introducing-generatrix/#comments" thr:count="0" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2010/01/introducing-generatrix/feed/atom/" thr:count="0" /> <thr:total>0</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2010/01/introducing-generatrix/</feedburner:origLink></entry> <entry> <author> <name>admin</name> </author><title type="html"><![CDATA[Reliance running a p**n blog &#8211; Bigoye.com]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/0SvU4SRv2gw/" /> <id>http://sudhanshuraheja.com/?p=991</id> <updated>2010-08-05T06:21:55Z</updated> <published>2009-11-22T06:46:34Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="issues" /><category scheme="http://sudhanshuraheja.com" term="website" /> <summary type="html"><![CDATA[Just got this in the email today from BigOye.com. This is a blog being run by Reliance Big Entertainment, but it seems the editorial team lost it somewhere. Have you seen them do it before]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2009/11/reliance-running-a-pn-blog-bigoye-com/">&lt;p&gt;Just got this in the email today from &lt;a
href='http://www.bigoye.com'&gt;BigOye.com&lt;/a&gt;. This is a blog being run by Reliance Big Entertainment, but it seems the editorial team lost it somewhere.&lt;/p&gt;&lt;p&gt;Have you seen them do it before&lt;/p&gt;&lt;p&gt;&lt;a
href="http://images.sudhanshuraheja.com/wp-content/uploads/2009/11/bigoye.PNG"&gt;&lt;img
src="http://images.sudhanshuraheja.com/wp-content/uploads/2009/11/bigoye-450x396.PNG" alt="bigoye" title="bigoye" width="450" height="396" class="alignleft size-medium wp-image-990" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br
clear='all' /&gt;&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=0SvU4SRv2gw:nvAEYQ_uQFA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=0SvU4SRv2gw:nvAEYQ_uQFA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/0SvU4SRv2gw" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2009/11/reliance-running-a-pn-blog-bigoye-com/#comments" thr:count="0" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2009/11/reliance-running-a-pn-blog-bigoye-com/feed/atom/" thr:count="0" /> <thr:total>0</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2009/11/reliance-running-a-pn-blog-bigoye-com/</feedburner:origLink></entry> <entry> <author> <name>admin</name> </author><title type="html"><![CDATA[If I wanted a job, I would want one at UTV Motion Pictures]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/CDHaoi_LdpE/" /> <id>http://sudhanshuraheja.com/?p=978</id> <updated>2010-08-05T07:49:30Z</updated> <published>2009-08-15T11:30:24Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="entrepreneurship" /><category scheme="http://sudhanshuraheja.com" term="jobs" /><category scheme="http://sudhanshuraheja.com" term="movies" /> <summary type="html"><![CDATA[If there is one production house that is on a roll, it&#8217;s got to be UTV. Over the last few years, the have given us Kaminey, Dev.D, Oye Lucky! Lucky Oye!, Khosla Ka Ghosla, Bluffmaster, Swades, Parineeta, Rang De Basanti, Life in &#8230; <a
href="http://sudhanshuraheja.com/2009/08/if-i-wanted-a-job-i-would-want-one-at-utv-motion-pictures/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2009/08/if-i-wanted-a-job-i-would-want-one-at-utv-motion-pictures/">&lt;p&gt;&lt;img
class="alignright size-full wp-image-981" title="n88571832524_6784" src="http://sudhanshuraheja.vercingetorixtec.netdna-cdn.com/wp-content/uploads/2009/08/n88571832524_67841.jpg" alt="n88571832524_6784" width="160" height="135" /&gt;&lt;/p&gt;&lt;p&gt;If there is one production house that is on a roll, it&amp;#8217;s got to be UTV.&lt;/p&gt;&lt;p&gt;Over the last few years, the have given us &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt1274295/"&gt;Kaminey&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt1327035/"&gt;Dev.D&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt1292703/"&gt;Oye Lucky! Lucky Oye!&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt0466460/"&gt;Khosla Ka Ghosla&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt0476527/"&gt;Bluffmaster&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt0367110/"&gt;Swades&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt0437407/"&gt;Parineeta&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt0405508/"&gt;Rang De Basanti&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt0800956/"&gt;Life in a Metro&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.imdb.com/title/tt1241195/"&gt;Aamir&lt;/a&gt;. Their forthcoming flicks include &lt;a
rel="nofollow" href="http://en.wikipedia.org/wiki/Paan_Singh_Tomar"&gt;Paan Singh Tomar&lt;/a&gt;, &lt;a
rel="nofollow" href="http://en.wikipedia.org/wiki/Peter_Gaya_Kaam_Se"&gt;Peter Gaya Kaam Se&lt;/a&gt;, &lt;a
rel="nofollow" href="http://www.utvmotionpictures.com/movies/alibaba-aur-41-chor.html"&gt;Alibaba Aur 41 Chor&lt;/a&gt; and &lt;a
rel="nofollow" href="http://en.wikipedia.org/wiki/Arjun_-_The_Warrior_Prince"&gt;Arjun &amp;#8211; The Warrior Prince&lt;/a&gt;&lt;/p&gt;&lt;p&gt;It&amp;#8217;s literally the complete list of the best movies to have released of late.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The &lt;a
rel="nofollow" href="http://www.facebook.com/pages/UTV-Motion-Pictures/88571832524"&gt;facebook fan page&lt;/a&gt; of UTV has over 2355 fans and &lt;a
href="http://twitter.com/utvmp" rel='nofollow'&gt;twitter account&lt;/a&gt; has 1928 followers, which is a little less when you consider that their valuation is at &lt;a
href="http://www.screendaily.com/utv-motion-pictures-valued-at-321m-as-aim-trading-starts/4033413.article" rel='nofollow'&gt;$321 million&lt;/a&gt;. UTV &amp;#8216;Spotboy&amp;#8217;, which got Dev.D into this world, had also made it to the US top 20 distributors in 2008.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;But as they say, a company is only as good as the people driving it. So it&amp;#8217;s not surprising that the UTV group as a whole was started by Ronnie Screwvala who is a self made entrepreneur with a story worth knowing. He created the first organised cable TV network in India around 1981, when he was just 19 years old. Soon he was into making advertisements, producing TV shows, and finally he managed to get into movies.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;At age 28, Ronnie Screwvala started UTV Software Communications and just five years later they went public. Walt Disney currently owns 32.1 percent share in the company.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;They also recently started Hungama TV, which became the most watched channel in it&amp;#8217;s genre, and who gave us Shin Chan. They also acquired Indiagames last year, from entrepreneur &lt;a
href="http://www.facebook.com/godinchief" rel='nofollow'&gt;Vishal Gondal&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Anyways, the whole point of the post is that I just heard that their Chief Creative Officer and the COO have resigned, and I have just been thinking if I should let them know if I am interested in the opening&amp;#8230; What do you think?&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=CDHaoi_LdpE:Gjvr0r01zeE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=CDHaoi_LdpE:Gjvr0r01zeE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/CDHaoi_LdpE" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2009/08/if-i-wanted-a-job-i-would-want-one-at-utv-motion-pictures/#comments" thr:count="7" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2009/08/if-i-wanted-a-job-i-would-want-one-at-utv-motion-pictures/feed/atom/" thr:count="7" /> <thr:total>7</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2009/08/if-i-wanted-a-job-i-would-want-one-at-utv-motion-pictures/</feedburner:origLink></entry> <entry> <author> <name>admin</name> </author><title type="html"><![CDATA[Gist is finally here!]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/nRL4icpexfM/" /> <id>http://sudhanshuraheja.com/?p=964</id> <updated>2010-08-05T07:07:06Z</updated> <published>2009-08-11T18:50:38Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="internet" /><category scheme="http://sudhanshuraheja.com" term="startup" /> <summary type="html"><![CDATA[I finally got a beta account for Gist and it looks really really awesome. Trust me!]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2009/08/gist-is-finally-here/">&lt;p&gt;&lt;a
href="http://sudhanshuraheja.com/2009/08/gist-is-finally-here/gist-2/" rel="attachment wp-att-968"&gt;&lt;img
src="http://images.sudhanshuraheja.com/wp-content/uploads//2009/08/gist1-450x275.PNG" alt="gist" title="gist" width="450" height="275" class="aligncenter size-medium wp-image-968" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I finally got a beta account for &lt;a
rel='nofollow' href='http://www.gist.com/index.html'&gt;Gist&lt;/a&gt; and it looks really really awesome. Trust me!&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=nRL4icpexfM:aIiCBNWmmsU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=nRL4icpexfM:aIiCBNWmmsU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/nRL4icpexfM" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2009/08/gist-is-finally-here/#comments" thr:count="2" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2009/08/gist-is-finally-here/feed/atom/" thr:count="2" /> <thr:total>2</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2009/08/gist-is-finally-here/</feedburner:origLink></entry> <entry> <author> <name>admin</name> </author><title type="html"><![CDATA[The tipping point for Firefox and Ubuntu]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/mbBRMGvzP4A/" /> <id>http://sudhanshuraheja.com/?p=939</id> <updated>2010-08-05T07:49:26Z</updated> <published>2009-08-04T14:17:57Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="chrome" /><category scheme="http://sudhanshuraheja.com" term="firefox" /><category scheme="http://sudhanshuraheja.com" term="issues" /><category scheme="http://sudhanshuraheja.com" term="ubuntu" /><category scheme="http://sudhanshuraheja.com" term="windows 7" /> <summary type="html"><![CDATA[The tipping point for Firefox and Ubuntu is finally here. HISTORY I have been an evangelist for Firefox and Ubuntu for quite a few years now. The obsession with Firefox started quite a long time ago, when I was in &#8230; <a
href="http://sudhanshuraheja.com/2009/08/the-tipping-point-for-firefox-and-ubuntu/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2009/08/the-tipping-point-for-firefox-and-ubuntu/">&lt;p&gt;The tipping point for Firefox and Ubuntu is finally here.&lt;/p&gt;&lt;h2&gt;HISTORY&lt;/h2&gt;&lt;p&gt;&lt;a
rel='nofollow' target='_blank' href="http://www.flickr.com/photos/laihiu/2618986338/"&gt;&lt;img
src="http://sudhanshuraheja.vercingetorixtec.netdna-cdn.com/wp-content/uploads/2009/08/firefox1.jpg" alt="firefox" title="firefox" width="160" height="240" class="alignleft size-full wp-image-941" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I have been an evangelist for Firefox and Ubuntu for quite a few years now. The obsession with Firefox started quite a long time ago, when I was in college. Linux too hit the right notes then, but Ubuntu itself came in later, specifically when I started Vercingetorix Technologies. The biggest reason was that when you work on the LAMP stack, you need everybody on the team to be comfortable with the operating system. And Ubuntu was just perfect.&lt;/p&gt;&lt;h2&gt;TIPPING POINT&lt;/h2&gt;&lt;p&gt;There is always a time for each product when people decide that they need to stop using it. It is the tipping point, when markets start shifting to a new product and the market for the old one disappears.&lt;/p&gt;&lt;p&gt;After having successfully used them for years, this tipping point for Firefox and Ubuntu is finally here for us.&lt;/p&gt;&lt;p&gt;The reasons are many, though the biggest is that they didn&amp;#8217;t evolve with time, or atleast as much as they should have.&lt;/p&gt;&lt;h2&gt;WHY I QUIT FIREFOX&lt;/h2&gt;&lt;p&gt;&lt;a
href="http://www.flickr.com/photos/randyzhang/2820302020/"&gt;&lt;img
src="http://sudhanshuraheja.vercingetorixtec.netdna-cdn.com/wp-content/uploads/2009/08/chrome1.jpg" alt="chrome" title="chrome" width="209" height="240" class="alignleft size-full wp-image-947" /&gt;&lt;/a&gt;Firefox can&amp;#8217;t stop hogging memory, and at times takes up over 700MB of RAM. It has been completely ousted by Google Chrome, which has two things which Firefox could never do, and which now, I can&amp;#8217;t live without&lt;/p&gt;&lt;p&gt;1. Each tab is a different process. So when it crashes, only one tab crashes. The rest of the pages are still up and running.&lt;/p&gt;&lt;p&gt;2. The memory consumption is negligible. The sum of the memory consumed by all tabs increases and decreases based on the number of tabs which are open.&lt;/p&gt;&lt;p&gt;There are other reasons, like the area being bigger and the inability to add plugins (which really make Firefox drag).&lt;/p&gt;&lt;p&gt;As a side effect, I have also stopped using Delicious. Firefox had an awesome plugin, which made it way too simple to add anything to Delicious. Chrome doesn&amp;#8217;t give me that feature, but now I&amp;#8217;m content with saving bookmarks right there on Chrome.&lt;/p&gt;&lt;h2&gt;WHY I QUIT UBUNTU&lt;/h2&gt;&lt;p&gt;The reasons for getting over Ubuntu were slightly different.&lt;/p&gt;&lt;p&gt;The single biggest issue was that there is no good enough browser available for Linux. Firefox was the best browser available, but Firefox on Ubuntu is even worse that Firefox on Windows.&lt;/p&gt;&lt;p&gt;Also, the last version of Ubuntu that I liked was 7.10. They have had three different versions after that, but I just don&amp;#8217;t see what value they have added, except a slightly better looking UI. (Though the UI still sucks compared to a Mac or Windows).&lt;/p&gt;&lt;p&gt;We have finally replaced all machines from Ubuntu to Windows 7. Microsoft gave the final blow to Ubuntu by starting the &lt;a
rel='nofollow' target='_blank' href='http://microsoft.com/bizspark'&gt;BizSpark&lt;/a&gt; program, which gives free access to all Microsoft programs. Google did their bit by making sure that Chrome doesn&amp;#8217;t work well on Ubuntu.&lt;/p&gt;&lt;p&gt;Finally, the UI is beautiful. Maybe not as awesome as the Mac, but it&amp;#8217;s definitely a huge improvement.&lt;/p&gt;&lt;p&gt;And in case you haven&amp;#8217;t heard it yet, Windows 7 take up less memory on it&amp;#8217;s own that Firefox with 10 tabs!!&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=mbBRMGvzP4A:PXZnmDZ591Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=mbBRMGvzP4A:PXZnmDZ591Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/mbBRMGvzP4A" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2009/08/the-tipping-point-for-firefox-and-ubuntu/#comments" thr:count="6" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2009/08/the-tipping-point-for-firefox-and-ubuntu/feed/atom/" thr:count="6" /> <thr:total>6</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2009/08/the-tipping-point-for-firefox-and-ubuntu/</feedburner:origLink></entry> <entry> <author> <name>admin</name> </author><title type="html"><![CDATA[Adobe should support more platforms!]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/07Af_gnb6mA/" /> <id>http://sudhanshuraheja.com/?p=935</id> <updated>2010-08-05T07:49:16Z</updated> <published>2009-07-28T09:01:22Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="google" /><category scheme="http://sudhanshuraheja.com" term="search" /> <summary type="html"><![CDATA[We always knew that Adobe really needs to start supporting more platforms if they need to stay in the game, but now it turns out that Google is also saying it. Check this out : Another interesting point which comes &#8230; <a
href="http://sudhanshuraheja.com/2009/07/adobe-should-support-more-platforms/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2009/07/adobe-should-support-more-platforms/">&lt;p&gt;We always knew that Adobe really needs to start supporting more platforms if they need to stay in the game, but now it turns out that Google is also saying it.&lt;/p&gt;&lt;p&gt;Check this out :&lt;/p&gt;&lt;p&gt;&lt;img
src="http://sudhanshuraheja.vercingetorixtec.netdna-cdn.com/wp-content/uploads/2009/07/Untitled1.png" alt="Adobe" title="Adobe" width="633" height="208" class="alignnone size-full wp-image-936" /&gt;&lt;/p&gt;&lt;p&gt;Another interesting point which comes up is that if this was because the server on which the Google Spider was running was not in the list of operating systems supported by Adobe.&lt;/p&gt;&lt;p&gt;If this was because of it, some companies are at a real disadvantage!&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=07Af_gnb6mA:KhdInQMJjnU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=07Af_gnb6mA:KhdInQMJjnU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/07Af_gnb6mA" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2009/07/adobe-should-support-more-platforms/#comments" thr:count="2" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2009/07/adobe-should-support-more-platforms/feed/atom/" thr:count="2" /> <thr:total>2</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2009/07/adobe-should-support-more-platforms/</feedburner:origLink></entry> <entry> <author> <name>admin</name> </author><title type="html"><![CDATA[Setting up emails via SVN]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/TmSL1mqo4YQ/" /> <id>http://sudhanshuraheja.com/?p=932</id> <updated>2009-06-03T10:44:30Z</updated> <published>2009-06-03T10:43:41Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="internet" /><category scheme="http://sudhanshuraheja.com" term="programming" /><category scheme="http://sudhanshuraheja.com" term="software" /><category scheme="http://sudhanshuraheja.com" term="startup" /><category scheme="http://sudhanshuraheja.com" term="svn" /><category scheme="http://sudhanshuraheja.com" term="technology" /><category scheme="http://sudhanshuraheja.com" term="tips" /> <summary type="html"><![CDATA[We finally managed to setup SVN to start sending us emails on each commit. I also wrote about it in more detail on the company blog. If you&#8217;ve just started hosting svn on your server recently, you should take a &#8230; <a
href="http://sudhanshuraheja.com/2009/06/setting-up-emails-via-svn/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2009/06/setting-up-emails-via-svn/">&lt;p&gt;We finally managed to setup &lt;a
href="http://blog.vxtindia.com/get-emails-from-svn-on-commit/"&gt;SVN to start sending us emails&lt;/a&gt; on each commit. I also wrote about it in more detail on the &lt;a
href="http://blog.vxtindia.com/"&gt;company blog&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;If you&amp;#8217;ve just started hosting svn on your server recently, you should take a look.&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=TmSL1mqo4YQ:H4bbX0aN9vA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=TmSL1mqo4YQ:H4bbX0aN9vA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/TmSL1mqo4YQ" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2009/06/setting-up-emails-via-svn/#comments" thr:count="1" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2009/06/setting-up-emails-via-svn/feed/atom/" thr:count="1" /> <thr:total>1</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2009/06/setting-up-emails-via-svn/</feedburner:origLink></entry> <entry> <author> <name>Sudhanshu</name> </author><title type="html"><![CDATA[Slicehost : Setting up outgoing mail and Google Apps (postfix)]]></title><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GyaanSutra/~3/AKd-LvM2b-8/" /> <id>http://sudhanshuraheja.com/?p=907</id> <updated>2009-02-16T19:59:26Z</updated> <published>2009-02-16T19:59:26Z</published> <category scheme="http://sudhanshuraheja.com" term="Uncategorized" /><category scheme="http://sudhanshuraheja.com" term="Google Apps" /><category scheme="http://sudhanshuraheja.com" term="Mail" /><category scheme="http://sudhanshuraheja.com" term="Postfix" /><category scheme="http://sudhanshuraheja.com" term="slicehost" /><category scheme="http://sudhanshuraheja.com" term="ubuntu" /> <summary type="html"><![CDATA[We just moved to SliceHost recently and have been trying to get the server up and running. Every thing was super cool, but getting outgoing email to start working was a bitch. What happens is that our poor little sendmail &#8230; <a
href="http://sudhanshuraheja.com/2009/02/slicehost-setup-outgoing-mail-google-apps-postfix/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></summary> <content type="html" xml:base="http://sudhanshuraheja.com/2009/02/slicehost-setup-outgoing-mail-google-apps-postfix/">&lt;p&gt;We just moved to &lt;a
href='http://slicehost.com'&gt;SliceHost&lt;/a&gt; recently and have been trying to get the server up and running. Every thing was super cool, but getting outgoing email to start working was a bitch.&lt;/p&gt;&lt;p&gt;What happens is that our poor little sendmail tries to be smart and deliver as much mail internally as possible. So even though the email address is set up to be used via Google Apps, sendmail tries to relay it internally and gets a &amp;#8216;User unknown&amp;#8217;.&lt;/p&gt;&lt;p&gt;This was confirmed by peeping into /var/log/mail.log and setting up a simple script in php which called the mail function. The user was never found, because we were looking at the wrong place.&lt;/p&gt;&lt;p&gt;Since I wasn&amp;#8217;t prepared to spend a good part of the day on this thing, I decided to look out for options. After looking at a number of options, I decided to go ahead with &amp;#8216;postfix&amp;#8217;.&lt;/p&gt;&lt;p&gt;Let me take you step by step through the procedure :&lt;/p&gt;&lt;p&gt;1. As always, aptitude is there to help us out, so first we install postfix&lt;br
/&gt;&lt;blockquote&gt;sudo aptitude install postfix&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;2. During the installation, remember to choose the &amp;#8216;Internet site&amp;#8217; option (because that is what you are doing. Right?)&lt;/p&gt;&lt;p&gt;3. Now that installation is done, it&amp;#8217;s time to tell postfix that the domain is set up on Google Apps and not on the server (Actually we only tell postfix that the domain is not on the server). In the file /etc/postfix/mail.cnf we change the following&lt;br
/&gt;&lt;blockquote&gt;mydestination = mydomain.com, localhost.mydomain.com, localhost&lt;br
/&gt; to&lt;br
/&gt; mydestination = localhost.mydomain.com, localhost&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;4. Once that is done, just quit and restart (using sudo reboot) and you&amp;#8217;re done.&lt;/p&gt;&lt;p&gt;In case you run into issues with the above, or find out a way to run this with sendmail, do let me know.&lt;/p&gt; &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/GyaanSutra?a=AKd-LvM2b-8:MeAoQ1RwiQI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GyaanSutra?i=AKd-LvM2b-8:MeAoQ1RwiQI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GyaanSutra/~4/AKd-LvM2b-8" height="1" width="1"/&gt;</content><link rel="replies" type="text/html" href="http://sudhanshuraheja.com/2009/02/slicehost-setup-outgoing-mail-google-apps-postfix/#comments" thr:count="5" /><link rel="replies" type="application/atom+xml" href="http://sudhanshuraheja.com/2009/02/slicehost-setup-outgoing-mail-google-apps-postfix/feed/atom/" thr:count="5" /> <thr:total>5</thr:total> <feedburner:origLink>http://sudhanshuraheja.com/2009/02/slicehost-setup-outgoing-mail-google-apps-postfix/</feedburner:origLink></entry> </feed><!-- W3 Total Cache: CDN debug info:
Engine:             netdna
Replaced URLs:
http://sudhanshuraheja.com/wp-content/uploads/2009/08/n88571832524_67841.jpg => http://sudhanshuraheja.vercingetorixtec.netdna-cdn.com/wp-content/uploads/2009/08/n88571832524_67841.jpg
http://sudhanshuraheja.com/wp-content/uploads/2009/08/firefox1.jpg => http://sudhanshuraheja.vercingetorixtec.netdna-cdn.com/wp-content/uploads/2009/08/firefox1.jpg
http://sudhanshuraheja.com/wp-content/uploads/2009/08/chrome1.jpg => http://sudhanshuraheja.vercingetorixtec.netdna-cdn.com/wp-content/uploads/2009/08/chrome1.jpg
http://sudhanshuraheja.com/wp-content/uploads/2009/07/Untitled1.png => http://sudhanshuraheja.vercingetorixtec.netdna-cdn.com/wp-content/uploads/2009/07/Untitled1.png
-->
