<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>wonderful world of programming</title>
	
	<link>http://www.ashlux.com/wordpress</link>
	<description>public class YetAnotherProgrammingBlog implements WordPressBlog { };</description>
	<lastBuildDate>Thu, 21 Apr 2011 12:54:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/WonderfulWorldOfProgramming" /><feedburner:info uri="wonderfulworldofprogramming" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Running a headless Virtual Box VM</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/QvcQLxK_RxI/</link>
		<comments>http://www.ashlux.com/wordpress/2011/04/21/running-a-headless-virtual-box-vm/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 12:54:57 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[headless]]></category>
		<category><![CDATA[virtual box]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[vm]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=848</guid>
		<description><![CDATA[I know I&#8217;m going to need to run a headless virtual machine using Virtual Box sometime in the future, so here&#8217;s a couple of commands on how to run and shutdown a headless VM. For all of these commands, replace  with the name of the VM.
To start the VM headless, use this command:
VBoxManage startvm [...]]]></description>
			<content:encoded><![CDATA[<p>I know I&#8217;m going to need to run a headless virtual machine using Virtual Box sometime in the future, so here&#8217;s a couple of commands on how to run and shutdown a headless VM. For all of these commands, replace <em><name></em> with the name of the VM.</p>
<p>To start the VM headless, use this command:</p>
<pre class="brush: bash;">VBoxManage startvm &quot;&lt;name&gt;&quot; --type headless</pre>
<p>To power off the VM (allowing a proper shutdown), use this command:</p>
<pre class="brush: bash;">VBoxManage controlvm &quot;&lt;name&gt;&quot; acpipowerbutton</pre>
<p>To forcefully shutdown a VM, use this command:</p>
<pre class="brush: bash;">VBoxManage controlvm &quot;&lt;name&gt;&quot; poweroff</pre>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/QvcQLxK_RxI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2011/04/21/running-a-headless-virtual-box-vm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2011/04/21/running-a-headless-virtual-box-vm/</feedburner:origLink></item>
		<item>
		<title>Keeping passwords secret: Hudson plugin development</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/TmMx59ICp_M/</link>
		<comments>http://www.ashlux.com/wordpress/2010/09/20/keeping-passwords-secret-hudson-plugin-development/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 13:00:47 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Hudson]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=832</guid>
		<description><![CDATA[A common problem with several Hudson plugins is storing passwords and other sensitive data as plaintext as seen here, here, here, and here. There are more examples than I&#8217;d care to list here.
What prompted me to write this is a bug in the email-ext that I just fixed where credentials were being stored in plain [...]]]></description>
			<content:encoded><![CDATA[<p>A common problem with several Hudson plugins is storing passwords and other sensitive data as plaintext as seen <a href="http://issues.hudson-ci.org/browse/HUDSON-7396">here</a>, <a href="http://issues.hudson-ci.org/browse/HUDSON-5420">here</a>, <a href="http://issues.hudson-ci.org/browse/HUDSON-2499">here</a>, and <a href="http://issues.hudson-ci.org/browse/HUDSON-4428">here</a>. There are more examples than I&#8217;d care to list here.</p>
<p>What prompted me to write this is a <a href="http://issues.hudson-ci.org/browse/HUDSON-5816">bug in the email-ext</a> that I just fixed where credentials were being stored in plain text. The solution is so easy there&#8217;s no excuse not to do it.</p>
<p>The trick is to use <a href="http://grepcode.com/file/repo1.maven.org/maven2/org.jvnet.hudson.main/hudson-core/1.310/hudson/util/Secret.java">hudson.util.Secret</a> and the usage is dead simple:</p>
<pre class="brush: java;">
public class MyPublisher extends Notifier {

  private Secret password;

  public String getSmtpAuthPassword() {
    return Secret.toString(smtpAuthPassword);
  }

  // ... snip ...

  public static final class DescriptorImpl extends BuildStepDescriptor&lt;Publisher&gt; {
    @Override
    public boolean configure(
                    StaplerRequest req, JSONObject formData) throws FormException {
      password = Secret.fromString(
                          nullify(req.getParameter(&quot;mypublisher.auth.password&quot;)));
      // ... snip ...
    }
  }
}
</pre>
<p>For what it&#8217;s worth, the docs for this class gives this notice:</p>
<pre class="brush: plain;">
Note that since the cryptography relies on hudson.model.Hudson.getSecretKey(), this is not meant as a protection against code running in the same VM, nor against an attacker who has local file system access.
</pre>
<p>So there you have it, there&#8217;s no good reason to not be reasonably secure.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/TmMx59ICp_M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2010/09/20/keeping-passwords-secret-hudson-plugin-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2010/09/20/keeping-passwords-secret-hudson-plugin-development/</feedburner:origLink></item>
		<item>
		<title>DB2 on Ubuntu: The database manager shared memory set cannot be allocated</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/WTMqVxyZu3Q/</link>
		<comments>http://www.ashlux.com/wordpress/2010/08/25/db2-on-ubuntu-the-database-manager-shared-memory-set-cannot-be-allocated/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 16:33:48 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[db2]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=823</guid>
		<description><![CDATA[I&#8217;ve been trying to get DB2 Express-C working on Ubuntu but I get an error when trying to start DB2:

ashlux@SERVER:~/java/db2exc$ db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 9.7.2

db2 =&#62; db2start
SQL1220N  The database manager shared memory set cannot be allocated.

After some searching I discovered that the problem is probably shmmax being too [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been trying to get <a href="http://www-01.ibm.com/software/data/db2/express/">DB2 Express-C</a> working on <a href="http://www.ubuntu.com/">Ubuntu</a> but I get an error when trying to start DB2:</p>
<pre class="brush: plain;">
ashlux@SERVER:~/java/db2exc$ db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 9.7.2

db2 =&gt; db2start
SQL1220N  The database manager shared memory set cannot be allocated.
</pre>
<p>After some searching I discovered that the problem is probably shmmax being too low. A <a href=" http://www.puschitz.com/TuningLinuxForOracle.shtml#SettingSHMMAXParameter">site on tuning Oracle</a> which shows how to increase shmmax:</p>
<pre class="brush: plain;">
sudo  -s &quot;echo 2147483648 &gt; /proc/sys/kernel/shmmax&quot;
</pre>
<p>DB2 successfully starts up now.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/WTMqVxyZu3Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2010/08/25/db2-on-ubuntu-the-database-manager-shared-memory-set-cannot-be-allocated/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2010/08/25/db2-on-ubuntu-the-database-manager-shared-memory-set-cannot-be-allocated/</feedburner:origLink></item>
		<item>
		<title>Redirect root directory to a subdirectory using .htaccess</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/Oml12lO-Q3k/</link>
		<comments>http://www.ashlux.com/wordpress/2010/08/23/redirect-root-directory-to-a-subdirectory-using-htaccess/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 21:05:14 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[redirect]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=810</guid>
		<description><![CDATA[Every so often I need to redirect from the root directory http://www.someserver.com to http://www.someserver.com/blah. The first thing I try is always something like:

# This does not work
RedirectMatch permanent / /blah

This ends up not working with Firefox reporting &#8220;the page isn&#8217;t redirecting properly&#8221;. I guess the server gets confused and redirects indefinitely so you must do [...]]]></description>
			<content:encoded><![CDATA[<p>Every so often I need to redirect from the root directory http://www.someserver.com to http://www.someserver.com/blah. The first thing I try is always something like:</p>
<pre class="brush: plain;">
# This does not work
RedirectMatch permanent / /blah
</pre>
<p>This ends up not working with Firefox reporting &#8220;the page isn&#8217;t redirecting properly&#8221;. I guess the server gets confused and redirects indefinitely so you must do this instead:</p>
<pre class="brush: plain;">
# Redirect from / to /blah
RedirectMatch permanent ^/$ http://www.someserver.com/blah
</pre>
<p>*<strong>cheers</strong>*</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/Oml12lO-Q3k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2010/08/23/redirect-root-directory-to-a-subdirectory-using-htaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2010/08/23/redirect-root-directory-to-a-subdirectory-using-htaccess/</feedburner:origLink></item>
		<item>
		<title>Triggering Hudson builds with Mercurial hooks</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/kia7NMUK_eU/</link>
		<comments>http://www.ashlux.com/wordpress/2010/06/16/triggering-hudson-builds-with-mercurial-hooks/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 13:40:45 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Hudson]]></category>
		<category><![CDATA[hg]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[mercurial hooks]]></category>
		<category><![CDATA[post commit hook]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=754</guid>
		<description><![CDATA[Mercurial offers a variety of hooks, powerful triggers that can be configured to automatically perform automated tasks after an event occurs in a repository. We can leverage Mercurial&#8217;s changegroup hook to make Hudson build a project without polling the version control system for changes. This offers some important advantages and disadvantages. 
One advantages of triggering [...]]]></description>
			<content:encoded><![CDATA[<p>Mercurial offers a <a href="http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html">variety of hooks</a>, powerful triggers that can be configured to automatically perform automated tasks after an event occurs in a repository. We can leverage Mercurial&#8217;s <em>changegroup</em> hook to make <a href="http://www.hudson-ci.org/">Hudson</a> build a project without polling the version control system for changes. This offers some important advantages and disadvantages. </p>
<p>One advantages of triggering builds after <em>hg push</em> is to decrease the load on the Mercurial server and Hudson itself by not polling every 1-60 minutes and use the server when necessary. Of course the fewer projects you have the less this technique buys you. Another advantage is to lower the <a href="http://en.wikipedia.org/wiki/Feedback">feedback loop</a> from Hudson; every minute spent waiting for Hudson to poll Mercurial the longer the feedback loop gets.</p>
<p>There are some important disadvantages to this technique too by introducing additional coupling between your CI server and your version control server (VCS). While Hudson always knows about your VCS now your VCS knows about Hudson. Another disadvantage is most likely you already have Hudson setup to poll Mercurial, so there&#8217;s time to configure both ends of the process. </p>
<p>Configuring this Mercurial hook really is easy, just edit the file YOUR_REPO/.hg/hgrc located on your Mercurial server and add the following:</p>
<blockquote><p>
[hooks]<br />
changegroup.hudson = <a href="http://en.wikipedia.org/wiki/CURL">curl</a> http://hudson_url/job/project_name/build?delay=0sec
</p></blockquote>
<p>You will need to change hudson_url to the URL of your Hudson server and project_name to the Hudson project you wish to build. </p>
<p>Be sure to add a file, commit, and push to test your hook. You should see the project instantly added to the build queue.</p>
<p>If your Hudson installation is using security you will need to do things a little differently; see <a href="http://wiki.hudson-ci.org/display/HUDSON/Authenticating+scripted+clients">authenticating scripted clients</a> for details. If your job is parameterized <a href="http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API">you can do that too</a>.</p>
<p><strong>Update 2010-07-14</strong>: <a href="http://illegalstateexception.blogspot.com/2010/06/triggering-hudson-builds-with-mercurial.html">Mirko has posted a variation to this post</a> that is worthwhile.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/kia7NMUK_eU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2010/06/16/triggering-hudson-builds-with-mercurial-hooks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2010/06/16/triggering-hudson-builds-with-mercurial-hooks/</feedburner:origLink></item>
		<item>
		<title>Axis2, Maven, and java.net woes and why Maven sucks</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/FG15frQN12o/</link>
		<comments>http://www.ashlux.com/wordpress/2010/06/15/axis2-maven-and-java.net-woes-and-why-maven-sucks/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 12:00:33 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[programming tools]]></category>
		<category><![CDATA[axis2]]></category>
		<category><![CDATA[jave.net]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=744</guid>
		<description><![CDATA[I had some interesting problems trying to use the Axis2&#8217;s Maven plugin (1.5.1) for generating java code from a WSLD. Here&#8217;s what I did to get it working.
First thing&#8217;s first I had to define the plugin in my POM:

      &#60;plugin&#62;
        &#60;groupId&#62;org.apache.axis2&#60;/groupId&#62;
   [...]]]></description>
			<content:encoded><![CDATA[<p>I had some interesting problems trying to use the Axis2&#8217;s Maven plugin (1.5.1) for generating java code from a WSLD. Here&#8217;s what I did to get it working.</p>
<p>First thing&#8217;s first I had to define the plugin in my POM:</p>
<pre class="brush: xml;">
      &lt;plugin&gt;
        &lt;groupId&gt;org.apache.axis2&lt;/groupId&gt;
        &lt;artifactId&gt;axis2-wsdl2code-maven-plugin&lt;/artifactId&gt;
        &lt;version&gt;1.5.1&lt;/version&gt;
        &lt;executions&gt;
          &lt;execution&gt;
            &lt;phase&gt;generate-sources&lt;/phase&gt;
            &lt;goals&gt;
              &lt;goal&gt;wsdl2code&lt;/goal&gt;
            &lt;/goals&gt;
          &lt;/execution&gt;
        &lt;/executions&gt;
        &lt;configuration&gt;
          &lt;packageName&gt;com.ashlux.myproject&lt;/packageName&gt;
          &lt;wsdlFile&gt;src/main/wsdl/myproject.wsdl&lt;/wsdlFile&gt;
          &lt;databindingName&gt;adb&lt;/databindingName&gt;
        &lt;/configuration&gt;
      &lt;/plugin&gt;
</pre>
<p>And don&#8217;t forget the necessary Axis2 dependencies:</p>
<pre class="brush: xml;">
&lt;dependency&gt;
    &lt;groupId&gt;org.apache.axis2&lt;/groupId&gt;
    &lt;artifactId&gt;axis2&lt;/artifactId&gt;
    &lt;version&gt;1.5.1&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;wsdl4j&lt;/groupId&gt;
    &lt;artifactId&gt;wsdl4j&lt;/artifactId&gt;
    &lt;version&gt;1.6.2&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.apache.ws.commons.axiom&lt;/groupId&gt;
    &lt;artifactId&gt;axiom-api&lt;/artifactId&gt;
    &lt;version&gt;1.2.8&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.apache.ws.commons.axiom&lt;/groupId&gt;
    &lt;artifactId&gt;axiom-impl&lt;/artifactId&gt;
    &lt;version&gt;1.2.8&lt;/version&gt;
&lt;/dependency&gt;
</pre>
<p>That&#8217;s more dependencies than I&#8217;d want to specify (can&#8217;t I just get axiom and wsdl4j transitively?) but otherwise so far so good. Here&#8217;s were things took a turn for the worst:</p>
<blockquote><p>
$ mvn clean install<br />
[INFO] Scanning for projects&#8230;<br />
[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
[INFO] Building Rally Java API<br />
[INFO]    task-segment: [clean, install]<br />
[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom</p>
<p>Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/10/maven-plugins-10.pom</p>
<p>Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-parent/7/maven-parent-7.pom</p>
<p>Downloading: http://repo1.maven.org/maven2/org/apache/apache/4/apache-4.pom</p>
<p>Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.jar</p>
<p>Downloading: http://repo1.maven.org/maven2/org/apache/axis2/axis2-wsdl2code-maven-plugin/1.5.1/axis2-wsdl2code-maven-plugin-1.5.1.pom</p>
<p>Downloading: http://repo1.maven.org/maven2/org/apache/axis2/axis2-parent/1.5.1/axis2-parent-1.5.1.pom</p>
<p>Downloading: http://ws.zones.apache.org/repository2/org/apache/apache/3/apache-3.pom<br />
[INFO] Unable to find resource &#8216;org.apache:apache:pom:3&#8242; in repository apache-ws-snapshots2 (http://ws.zones.apache.org/repository2)<br />
Downloading: http://tomcat.apache.org/dev/dist/m2-repository/org/apache/apache/3/apache-3.pom<br />
[INFO] Unable to find resource &#8216;org.apache:apache:pom:3&#8242; in repository tomcat-repository (http://tomcat.apache.org/dev/dist/m2-repository)<br />
Downloading: http://repo1.maven.org/eclipse/org/apache/apache/3/apache-3.pom<br />
[INFO] Unable to find resource &#8216;org.apache:apache:pom:3&#8242; in repository eclipse-repo (http://repo1.maven.org/eclipse)<br />
Downloading: https://maven-repository.dev.java.net/nonav/repository//org.apache/poms/apache-3.pom<br />
349b downloaded  (apache-3.pom)<br />
[WARNING] *** CHECKSUM FAILED &#8211; Checksum failed on download: local = &#8216;0f56ee033ef4b78d33722aceb71a09c7ed68183f&#8217;; remote = &#8216;<!DOCTYPE' - RETRYING<br />
Downloading: https://maven-repository.dev.java.net/nonav/repository//org.apache/poms/apache-3.pom<br />
349b downloaded  (apache-3.pom)<br />
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '0f56ee033ef4b78d33722aceb71a09c7ed68183f'; remote = '<!DOCTYPE' - IGNORING<br />
[INFO] ------------------------------------------------------------------------<br />
[ERROR] BUILD ERROR<br />
[INFO] ------------------------------------------------------------------------<br />
[INFO] Error building POM (may not be this project's POM).</p>
<p>Project ID: org.apache.axis2:axis2-parent:pom:1.5.1</p>
<p>Reason: Cannot find parent: org.apache:apache for project: org.apache.axis2:axis2-parent:pom:1.5.1 for project org.apache.axis2:axis2-parent:pom:1.5.1</p>
<p>[INFO] ------------------------------------------------------------------------<br />
[INFO] For more information, run Maven with the -e switch<br />
[INFO] ------------------------------------------------------------------------<br />
[INFO] Total time: 17 seconds<br />
[INFO] Finished at: Mon Jun 14 20:10:40 CDT 2010<br />
[INFO] Final Memory: 3M/15M<br />
[INFO] ------------------------------------------------------------------------
</p></blockquote>
<p>Uh oh, clearly <a href="http://repo2.maven.org/maven2/org/apache/apache/3/apache-3.pom">org.apache:apache:pom:3</a> <strong>does</strong> exist, so what went wrong? This portion of the Maven output is suspicious:</p>
<blockquote><p>
[WARNING] *** CHECKSUM FAILED &#8211; Checksum failed on download: local = &#8216;0f56ee033ef4b78d33722aceb71a09c7ed68183f&#8217;; remote = &#8216;<!DOCTYPE' - RETRYING<br />
Downloading: https://maven-repository.dev.java.net/nonav/repository//org.apache/poms/apache-3.pom
</p></blockquote>
<p>That is some checksum coming from https://maven-repository.dev.java.net/nonav/repository, definitely can&#8217;t be right! The culprit lies in org.apache.axis2:axis2-parent:1.5.1:</p>
<pre class="brush: xml;">
        &lt;repository&gt;
            &lt;id&gt;java.net&lt;/id&gt;
            &lt;url&gt;https://maven-repository.dev.java.net/nonav/repository/&lt;/url&gt;
            &lt;layout&gt;legacy&lt;/layout&gt;
            &lt;snapshots&gt;
                &lt;enabled&gt;false&lt;/enabled&gt;
            &lt;/snapshots&gt;
            &lt;releases&gt;
                &lt;enabled&gt;true&lt;/enabled&gt;
            &lt;/releases&gt;
        &lt;/repository&gt;
</pre>
<p>The problem is <a href="http://jira.codehaus.org/browse/MNG-4428">Maven does not support permanent redirects (301)</a>. There are several workarounds, from modifying your local repository to adding a mirror for java.net for your settings.xml, none of which I find appropriate since builds are unnecessarily broken for new developers. I chose the settings.xml since I think it&#8217;s the cleanest out of all of them:</p>
<pre class="brush: xml;">
&lt;settings&gt;
  ...
  &lt;mirrors&gt;
    ...
    &lt;mirror&gt;
      &lt;id&gt;java.net.2&lt;/id&gt;
      &lt;name&gt;java.net Mirror of http://repo1.maven.org/maven2/&lt;/name&gt;
      &lt;url&gt;http://download.java.net/maven/2/&lt;/url&gt;
      &lt;mirrorOf&gt;java.net&lt;/mirrorOf&gt;
    &lt;/mirror&gt;
  &lt;/mirrors&gt;
&lt;/settings&gt;
</pre>
<p>Times like this I think we&#8217;d be better off we <a href="http://en.wikiquote.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy#Introduction">&#8220;all made a big mistake in coming down from the trees in the first place.&#8221;</a> I heard some guys on the Java Posse arguing arguing that <a href="http://en.wikiquote.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy#Introduction">&#8220;even the trees had been a bad move, and that no one should ever have left the oceans.&#8221;</a></p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/FG15frQN12o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2010/06/15/axis2-maven-and-java.net-woes-and-why-maven-sucks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2010/06/15/axis2-maven-and-java.net-woes-and-why-maven-sucks/</feedburner:origLink></item>
		<item>
		<title>Suppressing SSH banners</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/Nn7MXenuwe8/</link>
		<comments>http://www.ashlux.com/wordpress/2010/06/03/suppressing-ssh-banners/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 16:13:39 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=741</guid>
		<description><![CDATA[SSH banners are easy to suppress by editing ~/.ssh/config (create it if it doesn&#8217;t exist) and adding this line:
LogLevel quiet
Now when I work with CVS over SSH things will be more peaceful.
]]></description>
			<content:encoded><![CDATA[<p>SSH banners are easy to suppress by editing ~/.ssh/config (create it if it doesn&#8217;t exist) and adding this line:</p>
<blockquote><p>LogLevel quiet</p></blockquote>
<p>Now when I work with CVS over SSH things will be more peaceful.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/Nn7MXenuwe8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2010/06/03/suppressing-ssh-banners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2010/06/03/suppressing-ssh-banners/</feedburner:origLink></item>
		<item>
		<title>New computers makes me happy</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/sFXIIBGzA-g/</link>
		<comments>http://www.ashlux.com/wordpress/2010/01/17/new-computers-makes-me-happy/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 14:13:53 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[new computer]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=701</guid>
		<description><![CDATA[Earlier this week I put together a new computer for myself with parts bought from newegg. Building a computer really isn&#8217;t that difficult. As Jeff Atwood explains, &#8220;If you can put together a LEGO kit, you can put together a PC from parts.&#8221; Choosing the parts that will fit into your budget can be time [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_723" class="wp-caption alignright" style="width: 310px"><a href="http://commons.wikimedia.org/wiki/File:Legoland_California.jpg"><img src="http://www.ashlux.com/wordpress/wp-content/uploads/2010/01/800px-Legoland_California-300x166.jpg" alt="You could build Legoland too, right?" title="Legoland" width="300" height="166" class="size-medium wp-image-723" /></a><p class="wp-caption-text">You could build Legoland too, right?</p></div>
<p>Earlier this week I put together a new computer for myself with parts bought from <a href="http://www.newegg.com/">newegg</a>. Building a computer really isn&#8217;t that difficult. As <a href="http://www.codinghorror.com/blog/archives/000905.html">Jeff Atwood explains</a>, &#8220;If you can put together a LEGO kit, you can put together a PC from parts.&#8221; Choosing the parts that will fit into your budget can be time consuming, but there are plenty of online resources including forums full of people willing to help out.</p>
<p>So here&#8217;s a list of the components I ordered:</p>
<p><strong>Monitor</strong>: <a href="http://www.amazon.com/gp/product/B001LYPIIS?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001LYPIIS">ASUS VH242H 23.6-Inch Widescreen LCD Monitor &#8211; Black</a><img src="http://www.assoc-amazon.com/e/ir?t=xbopoi-20&#038;l=as2&#038;o=1&#038;a=B001LYPIIS" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> I would sure like a second one of these turned vertically but that will have to wait.</p>
<p><strong>Case</strong>: <a href="http://www.amazon.com/gp/product/B00336EM0W?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B00336EM0W">Cooler Master CM 690 II Advance ATX Mid-Tower Case (RC-692-KKN2)</a><img src="http://www.assoc-amazon.com/e/ir?t=xbopoi-20&#038;l=as2&#038;o=1&#038;a=B00336EM0W" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> As the name implies, this is the successor to the CM 690. The black finish on the inside is a nice touch.</p>
<p><strong>Mobo</strong>: I had several people online suggest the <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16813131614&#038;cm_re=asus_1366-_-13-131-614-_-Product">ASUS P6X58D Premium</a> for my motherboard, but I had a hard time justifying it over the ASUS P6T series just to get <a href="http://en.wikipedia.org/wiki/Universal_Serial_Bus#USB_3.0">USB 3.0</a> and <a href="http://en.wikipedia.org/wiki/Serial_ATA#SATA_Revision_3.0_.28SATA_6Gb.2Fs.29">SATA 3.0</a>. Ultimately I decided to settle on the <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16813157163">ASRock X58 Extreme LGA 1366 Intel X58 ATX Motherboard</a> for its ease of <a href="http://en.wikipedia.org/wiki/Overclocking">overclocking</a> and it&#8217;s <a href="http://www.tomshardware.com/reviews/cheap-x58-motherboard,2368-3.html">positive reviews</a>. I suppose time will tell whether I regret that or not.</p>
<p><strong>CPU</strong>: Quad core Intel for the CPU: <a href="http://www.amazon.com/gp/product/B001H5T7LK?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001H5T7LK">Intel Core i7 Processor i7-920 2.66GHz 8 MB LGA1366 CPU BX80601920</a><img src="http://www.assoc-amazon.com/e/ir?t=xbopoi-20&#038;l=as2&#038;o=1&#038;a=B001H5T7LK" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />. I was surprised to see how much <a href="http://www.tomshardware.com/reviews/quad-core-cpu,2499.html">AMD stinks with the high-end market nowadays</a>.</p>
<p><strong>Memory</strong>: The mobo I chose can support up to 24 GB, but I&#8217;m starting out with 6 GB of <a href="http://www.amazon.com/gp/product/B002EL4RNO?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B002EL4RNO">CORSAIR DOMINATOR DDR3 1600</a> RAM (3 x 2 GB).</p>
<p><strong>PSU</strong>: <a href="http://www.amazon.com/gp/product/B001IZ5O0M?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001IZ5O0M">OCZ 700W StealthXStream Power Supply</a><img src="http://www.assoc-amazon.com/e/ir?t=xbopoi-20&#038;l=as2&#038;o=1&#038;a=B001IZ5O0M" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><strong>Primary HDD</strong>: I might have splurged a little on the HDD by getting an <a href="http://en.wikipedia.org/wiki/Solid-state_drive">solid state drive</a> (SSD). Prices aren&#8217;t great for the sizes, but performance is great. I grabbed an <a href="http://www.amazon.com/gp/product/B002IJA1EG?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B002IJA1EG">Intel X25M 80GB Mainstream Solid State Drive SSDSA2MH080G2R5</a><img src="http://www.assoc-amazon.com/e/ir?t=xbopoi-20&#038;l=as2&#038;o=1&#038;a=B002IJA1EG" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> for running the OS and applications. I partitioned the drive into two sections, 12 GB for Linux and the rest for Windows 7.</p>
<p><strong>Secondary HDD</strong>: After spending quite a bit on the SSD dirve, I needed a second drive mostly for data like movies, music, etc. I chose the <a href="http://www.amazon.com/gp/product/B002J65AHQ?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B002J65AHQ">Samsung 500 GB SATA II Hard Drive HD502HJ</a><img src="http://www.assoc-amazon.com/e/ir?t=xbopoi-20&#038;l=as2&#038;o=1&#038;a=B002J65AHQ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> for its price and performance. 500 GB isn&#8217;t a huge amount of space, but with a mobo and case that supports <a href="http://www.encyclopediadramatica.com/Over_9000">over 9000</a> hard drives, I can add another one later.</p>
<p><strong>GPU</strong>: Despite ATI cards being generally better than Nvidia, I really wanted a Nvidia card since the Linux support is better. Unfortunately prices for nvidia cards have gone up in the last month or so leaving ATI the only option that made sense to me. So I picked up a <a href="http://www.amazon.com/gp/product/B002PK14SU?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B002PK14SU">Sapphire Radeon HD 5870 1 GB DDR5 PCI-Express Graphics Card 100281SR</a><img src="http://www.assoc-amazon.com/e/ir?t=xbopoi-20&#038;l=as2&#038;o=1&#038;a=B002PK14SU" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/sFXIIBGzA-g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2010/01/17/new-computers-makes-me-happy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2010/01/17/new-computers-makes-me-happy/</feedburner:origLink></item>
		<item>
		<title>Hudson Startup Trigger 0.1</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/DUjWBiy0mk0/</link>
		<comments>http://www.ashlux.com/wordpress/2009/12/31/hudson-startup-trigger-0.1/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 15:33:56 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[ci]]></category>
		<category><![CDATA[contin]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[what i'm working on]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=696</guid>
		<description><![CDATA[Last night I released a trigger for Hudson that allows a build to be triggered when Hudson first starts up. While I don&#8217;t have any use for it, it was created in response to HUDSON-3669.
Hopefully someone will be able to make good use of it.
]]></description>
			<content:encoded><![CDATA[<p>Last night I released a trigger for <a href="http://hudson-ci.org/">Hudson</a> that allows a <a href="http://wiki.hudson-ci.org/display/HUDSON/Hudson+Startup+Trigger">build to be triggered when Hudson first starts up</a>. While I don&#8217;t have any use for it, it was created in response to <a href="http://issues.hudson-ci.org/browse/HUDSON-3669">HUDSON-3669</a>.</p>
<p>Hopefully someone will be able to make good use of it.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/DUjWBiy0mk0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2009/12/31/hudson-startup-trigger-0.1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2009/12/31/hudson-startup-trigger-0.1/</feedburner:origLink></item>
		<item>
		<title>Support Wikipedia, donate today!</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/L-uGc_e4PRk/</link>
		<comments>http://www.ashlux.com/wordpress/2009/12/17/support-wikipedia-donate-today/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 14:04:55 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[wiki]]></category>
		<category><![CDATA[mediawiki]]></category>
		<category><![CDATA[wikimedia]]></category>
		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=656</guid>
		<description><![CDATA[It&#8217;s that time of the year again, the Wikimedia Foundation (best known for Wikipedia) is raising funds. I do question the wisdom of raising money during Christmas time &#8211; perhaps it works well?
So what does donations to the Wikimedia Foundation go toward? Let&#8217;s take a quick peak at the FAQ:

To people and technology. Even though [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 135px"><a href="http://wikimediafoundation.org/wiki/Support_Wikipedia/en"><img src="http://wikimediafoundation.org/w/extensions/skins/Donate/images/banners/Banner_125x125_0001_B.jpg" border="0" alt="Wikipedia Affiliate Button" width="125" height="125" /></a><p class="wp-caption-text">This slogan reminds me of <a href=http://www.johnmartinlive.com/cowboys-forever/>Cowboys Forever</a>. Yuck.</p></div>
<p>It&#8217;s that time of the year again, <a href="http://wikimediafoundation.org/wiki/Support_Wikipedia/en">the Wikimedia Foundation (best known for Wikipedia) is raising funds</a>. I do question the wisdom of raising money during Christmas time &#8211; perhaps it works well?</p>
<p>So what does donations to the Wikimedia Foundation go toward? Let&#8217;s take a quick peak at <a href="http://wikimediafoundation.org/wiki/FAQ/en">the FAQ</a>:</p>
<blockquote><p>
To people and technology. Even though Wikipedia and its sister projects are one of the top five most-visited websites in the world, we employ fewer than 35 people; see our <a href="http://wikimediafoundation.org/wiki/Staff">staff</a> overview. Roughly half work on technology, a small team supports our public outreach and volunteer cultivation activities, and the remaining staff work in fundraising and administration. In addition, your support helps to pay for the technology infrastructure (servers and bandwidth) that keep Wikipedia running and growing.</p>
<p>Fundamentally, the Wikimedia Foundation exists to support and grow the enormous network of volunteers who write and edit Wikipedia and its sister projects &#8212; more than 100,000 people around the world.
</p></blockquote>
<p>Okay, so that&#8217;s light on raw numbers. But luckily <a href="http://upload.wikimedia.org/wikipedia/foundation/2/26/WMF_20072008_Annual_report._high_resolution.pdf">last year&#8217;s financial report is available</a> for the curious.</p>
<p>So if you use Wikipedia (who doesn&#8217;t?), <a href="http://wikimediafoundation.org/wiki/Support_Wikipedia/en">donate today</a>. I&#8217;ve seen <a href="http://wikimediafoundation.org/wiki/Special:ContributionHistory/en">donations for as little as $1.00</a>, so you have no excuse.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/L-uGc_e4PRk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2009/12/17/support-wikipedia-donate-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2009/12/17/support-wikipedia-donate-today/</feedburner:origLink></item>
	</channel>
</rss>

