<?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>Query7 &#187; Git</title>
	<atom:link href="http://query7.com/category/git/feed" rel="self" type="application/rss+xml" />
	<link>http://query7.com</link>
	<description>PHP, Javascript, Python and Web Development</description>
	<lastBuildDate>Sat, 25 Jun 2011 21:29:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Cloud9 IDE Review</title>
		<link>http://query7.com/cloud9-ide-review</link>
		<comments>http://query7.com/cloud9-ide-review#comments</comments>
		<pubDate>Mon, 25 Oct 2010 05:33:51 +0000</pubDate>
		<dc:creator>Adit Gupta</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://query7.com/?p=697</guid>
		<description><![CDATA[<p><span style="font-family: Arial, sans-serif;">A couple of weeks ago, </span><span style="color: #0000ff;"><span style="text-decoration: underline;"><a href="http://www.ajax.org/"><span style="font-family: Arial, sans-serif;">Ajax.org</span></a></span></span><span style="font-family: Arial, sans-serif;"> released a new IDE for Javascripters known as Cloud9. It&#8217;s an open   source project built on </span><span style="color: #0000ff;"><span style="text-decoration: underline;"><a href="http://nodejs.org/"><span style="font-family: Arial, sans-serif;">Node.js</span></a></span></span><span style="font-family: Arial, sans-serif;">. In case you don&#8217;t know, Node.js is an implementation of Server Side JavaScript (SSJS) and is now actively being used for SSJS development. Since Cloud9 IDE is built on top of Node.js, it has an integrated debugger for Node.JS applications. In this article we’ll be taking a look at  various features of Cloud9 such as those mentioned above, but for now let’s begin with installation.</span></p>
<p><strong>Installation</strong></p>
<p><span style="font-family: Arial, sans-serif;">Installation is very simple provided you&#8217;re familiar with the terminal. There are </span><span style="font-family: Arial, sans-serif;">three</span><span style="font-family: Arial, sans-serif;"> ways to install Cloud9: </span></p>
<p><span style="font-family: Arial, sans-serif;">1.</span><span style="font-family: Arial, sans-serif;"> If you&#8217;ve Git installed on your system then you can get the code repository directly from Github. Just enter the following command in your terminal:</span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: small;"><code>git clone git://github.com/ajaxorg/cloud9.git</code></span></span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: x-small;"><a href="http://query7.com/wp-content/uploads/im012.jpg"><img class="alignnone size-full wp-image-706" src="http://query7.com/wp-content/uploads/im012.jpg" alt="Installing Cloud9 via GitHub" width="550" height="170" /></a></span></span></p>
<p><span style="font-family: Arial, sans-serif;">After Git checkout, enter the following command to install all the submodules and run the IDE:</span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: small;"><code>bin/cloud9.sh</code></span></span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: small;"><a href="http://query7.com/wp-content/uploads/im02.jpg"><img class="alignnone size-full wp-image-703" src="http://query7.com/wp-content/uploads/im02.jpg" alt="Building Cloud9 IDE" width="550" height="300" /></a></span></span></p>
<p><span style="font-family: Arial, sans-serif;">The editor will open in your default browser after all the submodules have been installed.</span></p>
<p><span style="font-family: Arial, sans-serif;"><a href="http://query7.com/wp-content/uploads/im03.jpg"><img class="alignnone size-full wp-image-704" src="http://query7.com/wp-content/uploads/im03.jpg" alt="Cloud9 IDE" width="550" height="300" /></a></span></p>
<p><span style="font-family: Arial, sans-serif;"><a href="http://query7.com/wp-content/uploads/im03.jpg"></a></span><span style="font-family: Arial, sans-serif;">You can also install Cloud9 via NPM </span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: small;"><code>npm install cloud9</code></span></span></p>
<p><span style="font-family: Arial, sans-serif;">or by downloading the source code from 	Github.</span></p>
<p><span style="color: #bf2500;"><span style="font-size: small;"><strong><span style="color: #000000;">Review</span></strong></span></span></p>
<p><span style="font-family: Arial, sans-serif;">Cloud9&#8242;s UI is similar to Eclipse IDE, so Eclipse</span>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Arial, sans-serif;">A couple of weeks ago, </span><span style="color: #0000ff;"><span style="text-decoration: underline;"><a href="http://www.ajax.org/"><span style="font-family: Arial, sans-serif;">Ajax.org</span></a></span></span><span style="font-family: Arial, sans-serif;"> released a new IDE for Javascripters known as Cloud9. It&#8217;s an open   source project built on </span><span style="color: #0000ff;"><span style="text-decoration: underline;"><a href="http://nodejs.org/"><span style="font-family: Arial, sans-serif;">Node.js</span></a></span></span><span style="font-family: Arial, sans-serif;">. In case you don&#8217;t know, Node.js is an implementation of Server Side JavaScript (SSJS) and is now actively being used for SSJS development. Since Cloud9 IDE is built on top of Node.js, it has an integrated debugger for Node.JS applications. In this article we’ll be taking a look at  various features of Cloud9 such as those mentioned above, but for now let’s begin with installation.</span></p>
<p><strong>Installation</strong></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --><span style="font-family: Arial, sans-serif;">Installation is very simple provided you&#8217;re familiar with the terminal. There are </span><span style="font-family: Arial, sans-serif;">three</span><span style="font-family: Arial, sans-serif;"> ways to install Cloud9: </span></p>
<p><span style="font-family: Arial, sans-serif;">1.</span><span style="font-family: Arial, sans-serif;"> If you&#8217;ve Git installed on your system then you can get the code repository directly from Github. Just enter the following command in your terminal:</span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: small;"><code>git clone git://github.com/ajaxorg/cloud9.git</code></span></span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: x-small;"><a href="http://query7.com/wp-content/uploads/im012.jpg"><img class="alignnone size-full wp-image-706" src="http://query7.com/wp-content/uploads/im012.jpg" alt="Installing Cloud9 via GitHub" width="550" height="170" /></a></span></span></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --><span style="font-family: Arial, sans-serif;">After Git checkout, enter the following command to install all the submodules and run the IDE:</span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: small;"><code>bin/cloud9.sh</code></span></span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: small;"><a href="http://query7.com/wp-content/uploads/im02.jpg"><img class="alignnone size-full wp-image-703" src="http://query7.com/wp-content/uploads/im02.jpg" alt="Building Cloud9 IDE" width="550" height="300" /></a></span></span></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --><span style="font-family: Arial, sans-serif;">The editor will open in your default browser after all the submodules have been installed.</span></p>
<p><span style="font-family: Arial, sans-serif;"><a href="http://query7.com/wp-content/uploads/im03.jpg"><img class="alignnone size-full wp-image-704" src="http://query7.com/wp-content/uploads/im03.jpg" alt="Cloud9 IDE" width="550" height="300" /></a></span></p>
<p><span style="font-family: Arial, sans-serif;"><a href="http://query7.com/wp-content/uploads/im03.jpg"></a></span><span style="font-family: Arial, sans-serif;">You can also install Cloud9 via NPM </span></p>
<p><span style="font-family: Courier, 'Courier New', serif;"><span style="font-size: small;"><code>npm install cloud9</code></span></span></p>
<p><span style="font-family: Arial, sans-serif;">or by downloading the source code from 	Github.</span></p>
<p><span style="color: #bf2500;"><span style="font-size: small;"><strong><span style="color: #000000;">Review</span></strong></span></span></p>
<p><span style="font-family: Arial, sans-serif;">Cloud9&#8242;s UI is similar to Eclipse IDE, so Eclipse users will find it simple and intuitive to use. While not as robust as Eclipse, it supports various features required in an IDE like Nested syntax highlighting, auto indentation, line numbering, bracket matching and debugging. Moreover, Cloud9 uses pure DOM methods along with virtual view port to render everything, the upshot being: no scalability problems. Nice! Note that DOM is used only for drawing purposes and does not store states. Plugins are also supported in Cloud9. In fact, various features like the filesystem, debugger, console and search are all basically plugins for Cloud9. On top of all this, users can also write extensions for Cloud9. </span><span style="color: #0000ff;"><span style="text-decoration: underline;"><a href="http://cloud9ide.posterous.com/writing-an-extension-for-cloud9-javascript-id"><span style="font-family: Arial, sans-serif;">This tutorial</span></a></span></span><span style="font-family: Arial, sans-serif;"> covers everything you need to know about writing extensions for Cloud9.</span></p>
<p><span style="font-family: Arial, sans-serif;">The biggest advantage of using Cloud9 is that you can rapidly develop and debug SSJS applications without any fuss. It&#8217;s true that you can find many JavaScript IDE&#8217;s on the Web, but most of them do not have good support for SSJS development. The fact that Cloud9 is built on top of Node.js makes it an ideal IDE for developing SSJS applications. That being said, it&#8217;s still buggy. Not only did it crash a couple of times while debugging, it&#8217;s also not completely stable on Safari and Internet Explorer7/8. Some other features missing from this IDE are code folding and source control integration. Still, judging by the exponential increase in its user base, there’s hope that these features will soon be available.</span></p>
<p><span style="font-size: small;"><strong>Final Verdict</strong></span></p>
<p><span style="font-family: Arial, sans-serif;">So, the big question is: &#8220;Do we need another IDE for JS development?&#8221; Well, it all boils down to your requirements. There&#8217;s no need to switch to Cloud9 if you&#8217;re just working with Client-Side JS(</span><span style="font-family: Arial, sans-serif;">CSJS</span><span style="font-family: Arial, sans-serif;">). There are already some very good editors/IDE&#8217;s for CSJS like Aptana, Eclipse for JS, IntelliJS and Textmate. However, if you&#8217;re into SSJS development, I strongly recommend trying out Cloud9. </span></p>
<p><span style="font-family: Arial, sans-serif;">(And if you do take Cloud9 for a spin, we’d love to see your reviews in the comments section!)</span></p>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/cloud9-ide-review/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Git for Source Control</title>
		<link>http://query7.com/git-for-source-control</link>
		<comments>http://query7.com/git-for-source-control#comments</comments>
		<pubDate>Sun, 15 Feb 2009 21:23:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://query7.com/?p=366</guid>
		<description><![CDATA[<p>Source Control is an essential part of the development system that any and every programmer needs to utilize. Simply put it is a repository of source code that keeps track of revisions and is a system that allows multiple programmers to work on one copy of code without issues. There are numerous version control systems (VCS) out there including Subversion, Mercurial and Bazaar. Everyone has their preference, today we will be focusing on git, a VCS that has become more popular in the latest months.</p>
<h2>Git</h2>
<p>A typical programmer&#8217;s workflow would be to:</p>
<ol>
<li><strong>pull</strong> (download) the latest copy of code from the git respository.</li>
<li>Make neccessary changes, modify code etc.</li>
<li><strong>commit</strong> the changed files</li>
<li><strong>push</strong> (upload) the files back to the git repository.</li>
</ol>
<p>If multiple programmers were working on the same project they would all use the same git repository. It&#8217;s good practice to always <strong>pull</strong> the latest copy before you <strong>push</strong> any of your changes to make sure your using the most update-to-date copy of the code (Someone may have <strong>push</strong>ed another change while you were editing your code). You can also branch (fork) a git repository. For example two programmers might be working on the same&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Source Control is an essential part of the development system that any and every programmer needs to utilize. Simply put it is a repository of source code that keeps track of revisions and is a system that allows multiple programmers to work on one copy of code without issues. There are numerous version control systems (VCS) out there including Subversion, Mercurial and Bazaar. Everyone has their preference, today we will be focusing on git, a VCS that has become more popular in the latest months.</p>
<h2>Git</h2>
<p>A typical programmer&#8217;s workflow would be to:</p>
<ol>
<li><strong>pull</strong> (download) the latest copy of code from the git respository.</li>
<li>Make neccessary changes, modify code etc.</li>
<li><strong>commit</strong> the changed files</li>
<li><strong>push</strong> (upload) the files back to the git repository.</li>
</ol>
<p>If multiple programmers were working on the same project they would all use the same git repository. It&#8217;s good practice to always <strong>pull</strong> the latest copy before you <strong>push</strong> any of your changes to make sure your using the most update-to-date copy of the code (Someone may have <strong>push</strong>ed another change while you were editing your code). You can also branch (fork) a git repository. For example two programmers might be working on the same code but both are implementing different features. Their work flow would be something like:</p>
<ol>
<li>Each of them fork the master (main) copy of code</li>
<li>Make appropriate changes to their branches/forks of code</li>
<li>Merge both forks back into master (Git does this for you)</li>
</ol>
<h2>Installing Git</h2>
<p>Git is very easy to install and use on *nix type operating systems (Linux, Mac, BSD). Using Macports or your package management system, install the package <em>git-core</em>. It&#8217;s a little more complicated on Windows. I use <a href="http://code.google.com/p/msysgit/">msysgit</a>. Download and install that. On Windows git is not integrated into the windows command prompt, instead it has it&#8217;s own *nix like terminal (cygwin?). You use *nix commands rather than windows commands -  <em>ls</em> instead of <em>dir</em>. Fire up the shortcut to &#8216;git bash&#8217; (The git command prompt), you should be able to <em>cd</em> around, viewing your directories, and when you type <em>git</em> it should bring you up a list of available commands.</p>
<h2>Git Basics</h2>
<p>To use Git you must have a repository. You can host one yourself or use one of the numerous Git Hosts out there. I use <a href="http://www.github.com">Github</a>, it allows unlimited repositories for open source projects, and also offers paid plans for private repositories. For the rest of this tutorial I&#8217;ll assume your using github. The first thing you need to do is set your username and email. (In the git shell)</p>
<pre>git config --global user.name "Username Here"</pre>
<pre>git config --global user.email "email@email.here"</pre>
<p>Note that we use <em>&#8211;global</em>, this tells git that we want these details to be applied to all of our projects, you can can override these settings when in the local project directory by calling the command again without the <em>&#8211;global</em> flag.</p>
<p>Now we need to generate an SSH key. Git requires it as it&#8217;s an extra step of authentication. There are numerous ways to generate the key and they are different on all platforms so I advise you read <a href="http://github.com/guides/providing-your-ssh-key">this</a> (github.com) tutorial on setting it up.</p>
<p>The final step is to create the git project itself. On Github, login to an account (that you have created) then head over to the <a href="http://github.com/repositories/new">create a repository page</a>. Enter the information and hit Ok.</p>
<p>Now we can make that project on our local system. Change into the project&#8217;s directory then</p>
<pre>git init</pre>
<p>This generates the .git directory and git will now start &#8216;watching&#8217; deletes, alterations and the like. Now we need to add the files that we want to commit. You can name them individually or to select all we simply use the decimal point.</p>
<pre>git add .</pre>
<p>That will add the entire directory&#8217;s contents and all sub directories. We can then commit our changes/additions. We also provide a commit message, explaining to ourselves/others/repository readers what changes you made in that commit &#8211; eg new features in the code.</p>
<pre>git commit -m 'This is our first commit'</pre>
<p>Now we need to attach our project to the repository, then push the changes we made. Again, this is fairly simple.</p>
<pre>git remote add origin git@github.com:GITHUBUSERNAME/REPOSITORYNAME.git</pre>
<pre>git push origin master</pre>
<p>You can view your project&#8217;s page on github now and you will see that the files have been added. From now on it&#8217;s just a matter of <strong>git add</strong>-ing altered files, <strong>git commit</strong>-ing then finally <strong>git push</strong>-ing to upload the changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://query7.com/git-for-source-control/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

