<?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>For the Developer &#187; software</title>
	<atom:link href="http://forthedeveloper.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://forthedeveloper.com</link>
	<description>By Developers, For Developers</description>
	<lastBuildDate>Tue, 20 Jul 2010 23:54:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>GIT SSH keys with Hudson on Ubuntu’s Tomcat</title>
		<link>http://forthedeveloper.com/2010/git-ssh-keys-with-hudson-on-ubuntu%e2%80%99s-tomcat/</link>
		<comments>http://forthedeveloper.com/2010/git-ssh-keys-with-hudson-on-ubuntu%e2%80%99s-tomcat/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 23:54:14 +0000</pubDate>
		<dc:creator>Randy Merrill</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[private]]></category>
		<category><![CDATA[tomcat6]]></category>

		<guid isPermaLink="false">http://forthedeveloper.com/?p=220</guid>
		<description><![CDATA[I&#8217;ve recently covered how to configure git with Hudson on Ubuntu&#8217;s Tomcat and it has worked quite well. After taking the plunge and subscribing to have private repositories on github I ran into an issue of not being able to clone the private repository since it was&#8230; well, private. Here is the message I was [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently covered how to <a href="/2010/git-config-with-hudson-on-ubuntus-tomcat/">configure git with Hudson on Ubuntu&#8217;s Tomcat</a> and it has worked quite well. After taking the plunge and subscribing to have private repositories on <a href="http://github.com">github</a> I ran into an issue of not being able to clone the private repository since it was&#8230; well, private.</p>
<p>Here is the message I was seeing:</p>
<blockquote><p><code>ERROR: Error cloning remote repo 'origin' : Could not clone https://username@github.com/username/repository.git<br />
ERROR: Cause: Error performing git clone -o origin https://username@github.com/username/repository.git /srv/hudson/jobs/repository/workspace<br />
Trying next repository<br />
ERROR: Could not clone from a repository<br />
FATAL: Could not clone<br />
hudson.plugins.git.GitException: Could not clone<br />
	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:587)<br />
	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:535)<br />
	at hudson.FilePath.act(FilePath.java:753)<br />
	at hudson.FilePath.act(FilePath.java:735)<br />
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:535)<br />
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1038)<br />
	at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)<br />
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)<br />
	at hudson.model.Run.run(Run.java:1257)<br />
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)<br />
	at hudson.model.ResourceController.execute(ResourceController.java:88)<br />
	at hudson.model.Executor.run(Executor.java:129)</code></p></blockquote>
<p><!-- more --></p>
<p>To solve the problem we need to create an ssh key for the tomcat user so that it can access the repository.</p>
<blockquote><p><code>cd /usr/share/tomcat6<br />
sudo mkdir .ssh<br />
cd .ssh/<br />
sudo touch known_hosts<br />
sudo ssh-keygen -t rsa -C "tomcat@forthedeveloper.com"</code></p></blockquote>
<p>When creating the key pair save the key to <code>/usr/share/tomcat6/.ssh/id_rsa</code>.</p>
<p>I don&#8217;t know how to tell tomcat the passphrase for a ssh key, so I just left the passphrase blank.</p>
<p>Once the key has been created we need to add the github site to the known_hosts file. If you have already setup your normal account for working with github and have xclip installed you can run the following to copy the github ssh host information:</p>
<blockquote><p><code>ssh-keygen -F github.com | xclip -sel clip</code></p></blockquote>
<p>Edit the <code>/usr/share/tomcat6/.ssh/known_hosts</code> file and paste in the copied host information.</p>
<p>To finish things up:</p>
<blockquote><p><code>sudo chown -R tomcat6:tomcat6 /usr/share/tomcat6/.ssh/<br />
sudo /etc/init.d/tomcat6 restart</code></p></blockquote>
<p>You can copy the new ssh key for tomcat to your clipboard if you have xclip installed with:</p>
<blockquote><p><code>cat /usr/share/tomcat6/.ssh/id_rsa.pub | xclip -sel clip</code></p></blockquote>
<p>If you are only using hudson for one repository you can just add the public key to the one repository in the repository admin (ex: https://github.com/username/repository/edit) under the &#8216;Deploy Keys&#8217; area. Otherwise you can <a href="https://github.com/account">add it to your account&#8217;s &#8216;SSH Public Keys&#8217;</a> to allow the tomcat server access to all of your repositories.</p>
<p>Now when you run hudson against your private github repository it should have the proper access.</p>
]]></content:encoded>
			<wfw:commentRss>http://forthedeveloper.com/2010/git-ssh-keys-with-hudson-on-ubuntu%e2%80%99s-tomcat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GIT Configuration with Hudson on Ubuntu&#8217;s Tomcat</title>
		<link>http://forthedeveloper.com/2010/git-config-with-hudson-on-ubuntus-tomcat/</link>
		<comments>http://forthedeveloper.com/2010/git-config-with-hudson-on-ubuntus-tomcat/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 04:21:22 +0000</pubDate>
		<dc:creator>Randy Merrill</dc:creator>
				<category><![CDATA[TDD]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[ci]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://forthedeveloper.com/?p=198</guid>
		<description><![CDATA[During my recent migration from using SVN to using GIT for my open source projects I was reconfiguring my Hudson CI server and started seeing this message: Caused by: hudson.plugins.git.GitException: Command returned status code 128: *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" I [...]]]></description>
			<content:encoded><![CDATA[<p>During my recent migration from using SVN to using GIT for my open source projects I was reconfiguring my Hudson CI server and started seeing this message:</p>
<blockquote><p><code><br />
Caused by: hudson.plugins.git.GitException: Command returned status code 128:<br />
*** Please tell me who you are.</p>
<p>Run</p>
<p>  git config --global user.email "you@example.com"<br />
  git config --global user.name "Your Name"<br />
</code></p></blockquote>
<p><span id="more-198"></span></p>
<p>I was a little confused to see this message since I had already configured git to have my user name and email. Then I remembered that hudson is running on tomcat which is running with the tomcat6 user. I needed to configure the tomcat6 user to have the git configuration necessary to tag on the git repositories.</p>
<p><strong>[UPDATE: 24 Jun 2010]</strong></p>
<p>I was working on repeating this process on Ubuntu 10.04 and was getting permission errors running the command to set the git config for the tomcat6 user. Here is an updated method:</p>
<p>First we need to create a <code>.gitconfig</code> file for the tomcat6 user:</p>
<blockquote><p><code><br />
sudo touch /usr/share/tomcat6/.gitconfig<br />
sudo chown tomcat6:tomcat6 /usr/share/tomcat6/.gitconfig<br />
sudo nano /usr/share/tomcat6/.gitconfig<br />
</code></p></blockquote>
<p>Place the following in the <code>.gitconfig</code> file:</p>
<blockquote><p><code><br />
[user]<br />
	name = Hudson<br />
	email = hudson@myDomain.com<br />
</code></p></blockquote>
<p>Once the file is saved&#8211;you may need to restart Tomcat&#8211;it should pick up your git configuration.</p>
<p><strong>[/UPDATE]</strong></p>
<p><strong>[ORIGINAL: see updated instructions above]</strong></p>
<p>Setup the git configuration for the tomcat6 user by doing the following:</p>
<blockquote><p><code><br />
sudo -s -H -u tomcat6<br />
git config --global user.name "Hudson"<br />
git config --global user.email "hudson@mydomain.com"<br />
exit<br />
</code></p></blockquote>
<p><em>As a note</em>, if you are using hudson to commit and push to another repository these configuration settings will be used for all commits done by Hudson.</p>
<p>The next step is to let hudson know where the <code>HOME</code> is for the tomcat6 user. On the <code><a href="http://localhost:8080/hudson/configure">hudson/configure</a></code> page there is a checkbox for defining <code>environment variables</code>. Once it is checked you will be able to put in a key-value pair. Add the following pair and save your configuration:</p>
<blockquote><p><code><br />
name: HOME<br />
value: /usr/share/tomcat6/<br />
</code></p></blockquote>
<p>The next time a hudson project is built you should see the following line close to the top of the console output:</p>
<blockquote><p><code>Env: HOME=/usr/share/tomcat6/</code></p></blockquote>
<p><strong>[/ORIGINAL]</strong></p>
<p>The git plugin should now be able to successfully tag the repository and continue with the build.</p>
]]></content:encoded>
			<wfw:commentRss>http://forthedeveloper.com/2010/git-config-with-hudson-on-ubuntus-tomcat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Search For Sitemap Ping URLs</title>
		<link>http://forthedeveloper.com/2008/the-search-for-sitemap-ping-urls/</link>
		<comments>http://forthedeveloper.com/2008/the-search-for-sitemap-ping-urls/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 03:11:13 +0000</pubDate>
		<dc:creator>Randy Merrill</dc:creator>
				<category><![CDATA[ask]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[msn]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[sitemap]]></category>

		<guid isPermaLink="false">http://forthedeveloper.com/?p=47</guid>
		<description><![CDATA[Sitemaps just make sense. You create a Sitemap file, or a set of files and a Sitemap Index, that has all the your site links crafted purely for search engine consumption. It&#8217;s like candy for the search giants since they get spoon-fed your site structure by you. Not only can it tell them where your [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sitemaps.org/" target="_blank">Sitemaps</a> just make sense. You create a <a href="http://sitemaps.org/protocol.php#xmlTagDefinitions" target="_blank">Sitemap file</a>, or a set of files and a <a href="http://sitemaps.org/protocol.php#index" target="_blank">Sitemap Index</a>, that has all the your site links crafted purely for search engine consumption. It&#8217;s like candy for the search giants since they get spoon-fed your site structure by you. Not only can it tell them where your content is, but it can tell them how often it changes, when it was last changed, and what priority it is to your site. Pure confection!</p>
<p>But the problem, for me at least, was finding the urls to ping so that you are not waiting for the giants to get a sweet tooth and come looking for you. The page on <a href="http://sitemaps.org/protocol.php#informing" target="_blank">informing giants</a> talks about a magical <em>searchengine_URL</em> that can be replace by your supporting giant. The problem: the site never tells what <em>searchengine_URL</em>s exist for your giant companions.</p>
<p><span id="more-47"></span></p>
<p>After some searching I finally found the urls that I was looking for. Where did I find the mystical urls you ask? Well it wasn&#8217;t from a google search (returned a lot of non-helpful links), it was from a <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/" target="_blank">wordpress plugin</a>. In my opinion it is not a very good way to promote a service that is supposed to make it easier for you to get your content into the giants&#8217; mouths.</p>
<p>Without further ado here are the urls that <strong>should</strong> work for sending your updated Sitemap to the search giants:</p>
<ul>
<li>http://www.google.com/webmasters/sitemaps/ping?sitemap=&lt;url&gt;</li>
<li>http://submissions.ask.com/ping?sitemap=&lt;url&gt;</li>
<li>http://webmaster.live.com/ping.aspx?siteMap=&lt;url&gt;</li>
<li>http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=&lt;<a href="http://developer.yahoo.com/" target="_blank">Yahoo! Developer Key</a>&gt;&amp;url=&lt;url&gt;</li>
</ul>
<p>I would also suggest reading the other options for informing the search engines, such as adding &#8216;Sitemap: &lt;url&gt;&#8217; to your robots.txt file and actually visiting to the giants&#8217; playground.</p>
]]></content:encoded>
			<wfw:commentRss>http://forthedeveloper.com/2008/the-search-for-sitemap-ping-urls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse 3.4 On Ubuntu 8.04.1</title>
		<link>http://forthedeveloper.com/2008/eclipse-3_4-on-ubuntu-8_04_1/</link>
		<comments>http://forthedeveloper.com/2008/eclipse-3_4-on-ubuntu-8_04_1/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 05:54:25 +0000</pubDate>
		<dc:creator>Randy Merrill</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://forthedeveloper.com/?p=42</guid>
		<description><![CDATA[Something that really bugged me (and still does) about the ubuntu since I installed it is that eclipse is not even close to being the latest version in the package manager. That just seems really strange to me to have such and awesome and widely used IDE not supported in Ubuntu. Anyhow I am not [...]]]></description>
			<content:encoded><![CDATA[<p>Something that really bugged me (and still does) about the ubuntu since I installed it is that eclipse is not even close to being the latest version in the package manager. That just seems really strange to me to have such and awesome and widely used IDE not supported in Ubuntu. Anyhow I am not writing this post to just complain about Ubuntu&#8217;s quirks, I am writing to detail the steps that I took to get it setup and working on my Ubuntu 8.04.1 64 bit box.</p>
<p><span id="more-42"></span></p>
<h2>Using the Sun Java</h2>
<p>I started off by doing your standard Google search and came up with this page listed promently on the Ubuntu community site:</p>
<p><a href="https://help.ubuntu.com/community/EclipseIDE" target="_blank">https://help.ubuntu.com/community/EclipseIDE</a></p>
<p>I followed the instructions to get the Java 6 from Sun installed on the system. But I stopped after the install of Java 6 since my install is basically a download of eclipse it wasn&#8217;t going to have the /etc/eclipse/java_home that was described on the community page.</p>
<p>With a little more searching I came across <a href="http://jhcore.com/2008/06/26/eclipse-34-ganymede-on-ubuntu/" target="_blank">this page</a> which gave a brief description his installation. From his post I edited my ~/.bashrc file and added in the export JAVA_HOME=/usr/lib/jvm/java-6-sun/ so that my default JAVA_HOME would be the sun java.</p>
<h2>Getting Eclipse</h2>
<p>To get the latest eclipse distribution I went to the <a href="http://www.eclipse.org/downloads/" target="_blank">eclipse download page</a> and downloaded the eclipse classic, my preferred base distro. Once I had the file I extracted the eclipse directory. I&#8217;m not a linux guru and didn&#8217;t know the &#8216;best&#8217; place to put the eclipse directory so i put it in /opt/.</p>
<h2>Running Eclipse</h2>
<p>Once I had the application in the directory I decided to add it to my applications menu. I did so by right clicking on the &#8216;Applications&#8217; menu and selecting the &#8216;Edit Menus&#8217; option. From there I went into the Applications &gt; Programming menu on the left side and created a &#8216;New Item&#8217;. I chose the type of &#8216;Application&#8217; and a name of &#8216;Eclipse&#8217;. For the command I entered &#8216;/opt/eclipse/eclipse -vm /usr/lib/jvm/java-6-sun/bin/java&#8217; just to make sure that eclipse was being loaded with the correct jvm.</p>
<h2>Using Eclipse</h2>
<p>So far I have not had any problems with any of the plugins that I commonly use (CFEclipse, Subclipse, etc) that aren&#8217;t found on all system.</p>
<p>That&#8217;s what I did to get Eclipse 3.4 Ganymede running on Ubuntu 8.04.1 Hardy Heron, so enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://forthedeveloper.com/2008/eclipse-3_4-on-ubuntu-8_04_1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
