<?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>Wed, 14 Jul 2010 19:16:50 +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>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>0</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>
		<item>
		<title>IE, X, and You</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/yI0EPztdDKA/</link>
		<comments>http://www.ashlux.com/wordpress/2009/11/12/ie-x-and-you/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 13:06:02 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ies4linux]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=646</guid>
		<description><![CDATA[While trying to get IEs4Linux installed (Why not call it ie4linux instead?), I ran into some issues with the latest Ubuntu 9.10 Karmic Koala.
The program &#8216;ies4linux-gtk.py&#8217; received an X Window System error.
This probably reflects a bug in the program.
The error was &#8216;RenderBadPicture (invalid Picture parameter)&#8217;.
  (Details: serial 5546 error_code 158 request_code 148 minor_code 7)
 [...]]]></description>
			<content:encoded><![CDATA[<p>While trying to get IEs4Linux installed (Why not call it ie4linux instead?), I ran into some issues with the latest <a href="http://www.ubuntu.com/">Ubuntu 9.10 Karmic Koala</a>.</p>
<blockquote><p>The program &#8216;ies4linux-gtk.py&#8217; received an X Window System error.<br />
This probably reflects a bug in the program.<br />
The error was &#8216;RenderBadPicture (invalid Picture parameter)&#8217;.<br />
  (Details: serial 5546 error_code 158 request_code 148 minor_code 7)<br />
  (Note to programmers: normally, X errors are reported asynchronously;<br />
   that is, you will receive the error a while after causing it.<br />
   To debug your program, run it with the &#8211;sync command line<br />
   option to change this behavior. You can then get a meaningful<br />
   backtrace from your debugger if you break on the gdk_x_error() function.)</p></blockquote>
<p>To solve this, I just told IEs4Linux to not use a GUI by using this command instead: <em>./ies4linux &#8211;no-gui</em>.</p>
<p>A side effect is you lose the GUI to configure the install so you&#8217;ll have to use other flags if you want to deviate from the default install. To see the other options available use <em>&#8211;help</em> and <em>&#8211;full-help</em>.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/yI0EPztdDKA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2009/11/12/ie-x-and-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2009/11/12/ie-x-and-you/</feedburner:origLink></item>
		<item>
		<title>Google App Engine (OKCJUG lighting talk slides)</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/CoBES_Z5oz4/</link>
		<comments>http://www.ashlux.com/wordpress/2009/11/09/google-app-engine-okcjug-lighting-talk-slides/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 19:15:50 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[gae]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[java user group]]></category>
		<category><![CDATA[jug]]></category>
		<category><![CDATA[okcjug]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=634</guid>
		<description><![CDATA[Here are my slides for the OKC Java User Group lightning talks tomorrow on Google App Engine. Enjoy!

]]></description>
			<content:encoded><![CDATA[<p>Here are my slides for the <a href="http://www.okcjug.org/">OKC Java User Group</a> <a href="http://en.wikipedia.org/wiki/Lightning_Talk">lightning talks</a> tomorrow on <a href="http://code.google.com/appengine/">Google App Engine</a>. Enjoy!</p>
<p><center><iframe src="http://docs.google.com/present/embed?id=dhsq934s_86hb8bkwhh&#038;interval=5&#038;size=m" frameborder="0" width="555" height="451"></iframe></center></p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/CoBES_Z5oz4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2009/11/09/google-app-engine-okcjug-lighting-talk-slides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2009/11/09/google-app-engine-okcjug-lighting-talk-slides/</feedburner:origLink></item>
		<item>
		<title>Forget “PC load letter”, WTF does this mean?</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/kfH8-LM6nBE/</link>
		<comments>http://www.ashlux.com/wordpress/2009/11/05/forget-pc-load-letter-wtf-does-this-mean/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 15:09:09 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[humor]]></category>
		<category><![CDATA[wtf]]></category>
		<category><![CDATA[lexmark]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=616</guid>
		<description><![CDATA[Forget &#8220;PC load letter&#8220;, WTF is this supposed to mean?


&#8220;NeverErr&#8221;. Are you sure about that?
If you&#8217;re curious, this is the Lexmark X5470 all-in-one printer. If you&#8217;re looking for a solution, I hard reset (unplugged) the printer.
]]></description>
			<content:encoded><![CDATA[<p>Forget &#8220;<a href="http://en.wikipedia.org/wiki/Office_Space">PC load letter</a>&#8220;, WTF is this supposed to mean?</p>
<p><a href="http://www.ashlux.com/wordpress/wp-content/uploads/2009/11/nevererr-printer.jpg"><img src="http://www.ashlux.com/wordpress/wp-content/uploads/2009/11/nevererr-printer-300x225.jpg" alt="NeverErr. Are you sure?" title="NeverErr. Are you sure?" width="300" height="225" class="aligncenter size-medium wp-image-617" /></a></p>
<p><br clear="all"/><br />
&#8220;NeverErr&#8221;. Are you sure about that?</p>
<p>If you&#8217;re curious, this is the <a href="http://www.amazon.com/gp/product/B000I81LLQ?ie=UTF8&#038;tag=xbopoi-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000I81LLQ">Lexmark X5470 all-in-one printer</a>. If you&#8217;re looking for a solution, I hard reset (unplugged) the printer.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/kfH8-LM6nBE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2009/11/05/forget-pc-load-letter-wtf-does-this-mean/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2009/11/05/forget-pc-load-letter-wtf-does-this-mean/</feedburner:origLink></item>
		<item>
		<title>I know you want a Google Voice invite</title>
		<link>http://feedproxy.google.com/~r/WonderfulWorldOfProgramming/~3/5WM83HyI1As/</link>
		<comments>http://www.ashlux.com/wordpress/2009/10/28/i-know-you-want-a-google-voice-invite/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 09:06:08 +0000</pubDate>
		<dc:creator>ashlux</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Wave]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google voice]]></category>
		<category><![CDATA[voice]]></category>

		<guid isPermaLink="false">http://www.ashlux.com/wordpress/?p=596</guid>
		<description><![CDATA[
As you might have heard, Google Voice now allows you to use your own existing phone number with their service. Nice, but you will lose some features otherwise available to you.
While I have given out all of my Google Wave invites, I happen to have some Google Voice invites I can give out. Leave a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://commons.wikimedia.org/wiki/File:1896_telephone.jpg"><img src="http://www.ashlux.com/wordpress/wp-content/uploads/2009/10/1896_telephone-150x150.jpg" alt="1896 Telephone" title="1896 Telephone" width="150" height="150" class="alignright size-thumbnail wp-image-597" /></a></p>
<p>As you might have heard, Google Voice now allows you to <a href="http://www.pcworld.com/businesscenter/article/174505/use_your_own_number_with_some_google_voice_features.html">use your own existing phone number with their service</a>. Nice, but you will lose some features otherwise available to you.</p>
<p>While I have given out all of my Google Wave invites, I happen to have some Google Voice invites I can give out. Leave a interesting comment and I&#8217;ll use a completely arbitrary criteria to decide who will get an invite.</p>
<p>Use a service like <a href="http://www.emailcover.com/">emailcover.com</a> to hide your email address. Even <a href="http://www.ashlux.com/wordpress/2009/08/24/gmail-spam-filter-fail-is-it-hitting-you-too/">gmail isn&#8217;t immune to spam</a>.</p>
<img src="http://feeds.feedburner.com/~r/WonderfulWorldOfProgramming/~4/5WM83HyI1As" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.ashlux.com/wordpress/2009/10/28/i-know-you-want-a-google-voice-invite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.ashlux.com/wordpress/2009/10/28/i-know-you-want-a-google-voice-invite/</feedburner:origLink></item>
	</channel>
</rss>
