<?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>Logic Sector</title>
	<atom:link href="http://www.logicsector.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.logicsector.com</link>
	<description>I create cool software for a living. This is my site.</description>
	<lastBuildDate>Mon, 07 May 2012 07:42:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>xMac, Part 5: BENCHMARK RESULTS — A Powerful Mac-Compatible Micro-ATX Build</title>
		<link>http://www.logicsector.com/xmac/xmac-part-5-benchmark-results-a-powerful-mac-compatible-micro-atx-build/</link>
		<comments>http://www.logicsector.com/xmac/xmac-part-5-benchmark-results-a-powerful-mac-compatible-micro-atx-build/#comments</comments>
		<pubDate>Mon, 07 May 2012 06:31:03 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[xmac]]></category>
		<category><![CDATA[efix]]></category>

		<guid isPermaLink="false">http://www.logicsector.com/?p=603</guid>
		<description><![CDATA[Performance of the xMac has met my expectations. Although mild overclocking is possible, I&#8217;ve found that the stock speed of the system&#8212;3.5 GHz normal / 3.9 GHz turbo&#8212;is actually plenty for my needs (iOS development, World of WarCraft, occasional video transcoding with Handbrake, general web use and emailing, etc.). So I turned off the overclock [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.logicsector.com/xmac/xmac-part-5-benchmark-results-a-powerful-mac-compatible-micro-atx-build/"><img alt="" src="http://www.logicsector.com/wp-content/uploads/2012/05/Cinebench-corner-e1336376168691.jpg" title="Cinebench Teaser Image" class="alignright" /></a>Performance of the xMac has met my expectations. Although mild overclocking is possible, I&#8217;ve found that the stock speed of the system&mdash;3.5 GHz normal / 3.9 GHz turbo&mdash;is actually plenty for my needs (iOS development, World of WarCraft, occasional video transcoding with Handbrake, general web use and emailing, etc.). So I turned off the overclock and reverted the system back to its stock speed for less heat, less power consumption, a lower power bill, and longer component life.</p>
<p>Below are some typical benchmarks that provide insight into the performance of OS X based systems as run by the xMac.</p>
<p></p>
<h3><span style="color: orangered;"><strong>Geekbench</strong></span></h3>
<p>This is the result with the 32-bit trial version of Geekbench. This benchmark is focused around CPU/RAM measurement. <strong><a href="http://browse.geekbench.ca/mac-benchmark/">This result is faster than every 4-core Mac ever made</a></strong>. Only super-expensive 6/8/12 core Mac Pros are faster.</p>
<p><span id="more-603"></span></p>
<p><a href="http://www.logicsector.com/wp-content/uploads/2012/05/Geekbench-NormalClock.jpg"><img src="http://www.logicsector.com/wp-content/uploads/2012/05/Geekbench-NormalClock.jpg" alt="" title="Geekbench 32-Bit Benchmark" width="578" height="617" class="aligncenter size-full wp-image-606" /></a></p>
<p></p>
<h3><span style="color: orangered;"><strong>Cinebench</strong></span></h3>
<p>The next benchmark is an indicator of graphics crunching potential. 51.30 FPS is a pretty good result. <strong><a href="http://www.cbscores.com/index.php?sort=ogl&#038;order=desc">For comparison, the score for a 6-core 2010 Mac Pro with an ATi Radeon 5770 is 34.37 FPS.</a></strong> Strong performance on this benchmark means that many Mac games (such as World of WarCraft) will run well.</p>
<div id="attachment_605" class="wp-caption aligncenter" style="width: 561px"><a href="http://www.logicsector.com/wp-content/uploads/2012/05/Cinebench-NormalClock.jpg"><img src="http://www.logicsector.com/wp-content/uploads/2012/05/Cinebench-NormalClock.jpg" alt="" title="Cinebench 11.5 Benchmark" width="551" height="655" class="size-full wp-image-605" /></a><p class="wp-caption-text">Performance on this benchmark is about 3 times what I get with an nVidia GTX 285.</p></div>
<p></p>
<h3><span style="color: orangered;"><strong>Xbench</strong></span></h3>
<p>The last result is for Xbench, which is the spiritual descendent of <a href="http://www.logicsector.com/wp-content/uploads/2012/05/NXBench_PC.gif">NXBench</a>. Unlike Geekbench and Cinebench, the emphasis of this benchmark is overall system throughput as a whole, including disk speed, Quartz rendering, etc. <strong><a href="http://i813.photobucket.com/albums/zz55/straferight/MacPro/XBench.jpg">For comparison, the benchmark for a 6-core 2010 Mac Pro with ATi 5780 is 288</a></strong>. The xMac&#8217;s SSD drive helps enormously on this test.</p>
<div id="attachment_607" class="wp-caption aligncenter" style="width: 566px"><a href="http://www.logicsector.com/wp-content/uploads/2012/05/Xbench-NormalClock.jpg"><img src="http://www.logicsector.com/wp-content/uploads/2012/05/Xbench-NormalClock.jpg" alt="" title="Xbench 1.3 Benchmark" width="556" height="612" class="size-full wp-image-607" /></a><p class="wp-caption-text">This benchmark is the grandaddy of OS X benchmarks. The thread part of the test hangs on Lion, so the thread test was disabled for this benchmark.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.logicsector.com/xmac/xmac-part-5-benchmark-results-a-powerful-mac-compatible-micro-atx-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xMac, Part 4: BUILD PHOTOS &amp; NOTES — A Powerful Mac-Compatible Micro-ATX Build</title>
		<link>http://www.logicsector.com/xmac/xmac-part-4-build-photos-notes-a-powerful-mac-compatible-micro-atx-build/</link>
		<comments>http://www.logicsector.com/xmac/xmac-part-4-build-photos-notes-a-powerful-mac-compatible-micro-atx-build/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 18:00:24 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[xmac]]></category>
		<category><![CDATA[efix]]></category>

		<guid isPermaLink="false">http://www.logicsector.com/?p=390</guid>
		<description><![CDATA[Now that we have the parts for our xMac (see Part 3) let&#8217;s look at how to put it together. Note: This isn&#8217;t meant to be a tutorial on how to assemble a PC from scratch. There are plenty of articles on the web and &#8220;how to&#8221; books at your local Barnes &#038; Noble that [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_562" class="wp-caption alignright" style="width: 310px"><a href="http://www.logicsector.com/wp-content/uploads/2012/02/IMG_0456.jpg"><img src="http://www.logicsector.com/wp-content/uploads/2012/02/IMG_0456-300x224.jpg" alt="" title="EFiX interior 1" width="300" height="224" class="size-medium wp-image-562" /></a><p class="wp-caption-text">Completed build showing all components in place (video card is hiding behind cables and PSU). Click for a much larger image.</p></div><br />
Now that we have the parts for our xMac (<a href="http://www.logicsector.com/xmac/xmac-part-3-materials-list-—-a-powerful-mac-compatible-micro-atx-build/">see Part 3</a>) let&#8217;s look at how to put it together. </p>
<p>Note: This isn&#8217;t meant to be a tutorial on how to assemble a PC from scratch. There are plenty of articles on the web and &#8220;how to&#8221; books at your local Barnes &#038; Noble that cover that. Rather, this is just my list of notes regarding my xMac build.</p>
<p>The main thing to remember is that building an EFiX compatible computer to run Mac OS X is the same as building any other PC. When building an xMac of your own, simply make sure you use a <a href="http://www.art-studios.net/en/page/hcl">motherboard and video card from the EFiX hardware compatibility list (HCL)</a>.</p>
<p>It&#8217;s a great idea to <a href="http://forum.efi-x.com/">post your proposed build over in the EFiX forums and ask the experts if your build will be 100 percent compatible</a>. Just list all your components and then check the forum later to see if anyone raises a red flag.</p>
<p><span id="more-390"></span></p>
<p>While assembling my system I made a few modifications of the case to keep the system quiet. Some people regard the typical tower system as &#8220;quiet&#8221; (e.g., you&#8217;ll see typical stock cases described as &#8220;quiet&#8221; in user reviews). But to my ears many tower cases with stock fans sound like hair dryers. With that in mind, let&#8217;s discuss how to keep things cool and quiet.</p>
<h3><span style="color: darkorange;"><strong>Cool And Quiet</strong></span></h3>
<p></p>
<p>If you&#8217;re not annoyed by fan noise then you can skip this section.</p>
<h5><strong>The Dao of Cool PCs</strong></h5>
<p></p>
<p>Heat is a major enemy of computer components. Your CPU will automatically throttle itself down in high heat situations, but a video card may simply fry itself. Also, the various chips on your motherboard may fry themselves if the ambient temperature in your case gets too high. I&#8217;ve personally slowly cooked a video card through insufficient airflow in my case. Let me tell you, shelling out another $250 to replace a baked video card really sucks&#8230;especially when one more fan in the case might have saved it. <img src='http://www.logicsector.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Therefore a case should have plenty of airflow. Most cases solve this by having a few fans (usually 2 or 3) that run at pretty high speed (usually 1500~2000 RPM). That&#8217;s enough to cool most basic builds, but it&#8217;s also enough to provide a pretty steady fan noise from your case.</p>
<p>We can do better than that. Specifically, we can get better airflow into the case while reducing the background hum. Let&#8217;s look at the fundamental ways to tame a loud system:</p>
<ol>
<li>Replace the cheap fans that normally come with a case &#8212; use high quality aftermarket fans instead (good brands to consider are NoiseBlocker, ThermalRight, and Nexus) </li>
<li>Slow down the fans so they rotate at 1000 RPM or less (ideally, 800 RPM or less) using <a href="http://www.coolerguys.com/840556092261.html">cheap and effective inline resistors</a> or a <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16835118217">Fan Mate</a> </li>
<li>Select a case that uses large fans because large fans have a more pleasant lower-pitched noise
<ul>
<li>92 mm, 80 mm fans, and smaller have an annoying high pitched whine </li>
<li>A case that uses only 120 mm fans or larger is ideal (or even better&#8230;only 140 mm or 180 mm fans) </li>
</ul>
</li>
</ol>
<p>Here&#8217;s a shot of the side of the case. You can see the top &#8220;blowhole&#8221; fan that blows air up and out of the case above the center of the motherboard.<br />
<div id="attachment_597" class="wp-caption alignnone" style="width: 310px"><a href="http://www.logicsector.com/wp-content/uploads/2012/05/IMG_0485.jpg"><img src="http://www.logicsector.com/wp-content/uploads/2012/05/IMG_0485-300x224.jpg" alt="" title="Side View With Apple Logo" width="300" height="224" class="size-medium wp-image-597" /></a><p class="wp-caption-text">The Apple logo is centered on the side. It&#039;s just a sticker that came with an OS X upgrade disk.</p></div></p>
<p>BTW, the aftermarket fans and in-line resistors I used are linked <a href="http://www.logicsector.com/xmac/xmac-part-3-materials-list-%E2%80%94-a-powerful-mac-compatible-micro-atx-build/#fans">in the previous article in this series</a>.<br />
Remember that it&#8217;s important <i>not to sacrifice cooling</i> for the sake of quietness. Achieving a quiet system that burns out its video card or RAM in one month is a waste of money. Slowing down all the fans to 800 RPM to quiet them also reduces the effective cooling inside, so you may need to compensate by adding more fans by &#8220;modding&#8221; your case.</p>
<h5><strong>Cool (Literally!) Case Mods</strong></h5>
<p></p>
<p>To gain more cooling ability, I modified (or &#8220;modded&#8221;) my case by drilling a hole for a fan in the side of the case. The side fan blows air directly onto the CPU/RAM area of the motherboard, helping ensure the RAM doesn&#8217;t cook itself. As a fringe benefit, the air also flows over the motherboard chipsets to cool them, too. You can see the result in the photo below.</p>
<div id="attachment_596" class="wp-caption alignnone" style="width: 310px"><a href="http://www.logicsector.com/wp-content/uploads/2012/05/IMG_0473-e1336173319547.jpg"><img src="http://www.logicsector.com/wp-content/uploads/2012/05/IMG_0473-e1336173319547-300x232.jpg" alt="" title="Side View With Fan" width="300" height="232" class="size-medium wp-image-596" /></a><p class="wp-caption-text">This shows the xMac from the side. Note the modded side fan.</p></div>
<p>In addition, I drilled extra fan hole in the bottom that accommodates an extra 140 mm fan. This helps ensure that the xMac runs really cool. This meant sacrificing the hard drive mountings on the bottom of the case, but I wasn&#8217;t planning to use them anyway.</p>
<p>Note: Cutting or drilling metal is dangerous and you should be wearing protective gear (eye cover at least). <i style="color: Red">It&#8217;s not my fault if you accidentally cut off one of your appendages or lose an eye while modding your case.</i> Hopefully you learned how to be safe in high school shop class. <img src='http://www.logicsector.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I used a 5.5-inch hole saw to drill through the aluminum to fit the 140 mm fan. Here&#8217;s a <a href="http://www.mnpctech.3dpixelnet.com/picture_library/mnpctech.com_80_92_120_140_fan_grill_templates_rv2.pdf">PDF fan template at MNPC Tech</a> that helps mark the drill location for the fan hole and screw holes.</p>
<p>Here&#8217;s a helpful YouTube video from David Blum / Custom Computers that teaches you how to drill your case for a new fan:</p>
<p><iframe class="youtube-player" type="text/html" width="560" height="315" src="http://www.youtube.com/embed/-ofuudUEQds" frameborder="0" allowfullscreen></iframe></p>
<p>After the bottom vent was drilled, I fitted a <a href="http://www.amazon.com/gp/product/B00429TWM2/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B00429TWM2">Thermalright TY-140 fan</a> blowing upward in the bottom of the case.</p>
<p>The fan on the bottom doesn&#8217;t help if it&#8217;s starved for air. Therefore I removed the stock feet from the case and replaced them with <a href="http://www.mnpctech.com/CaseFeetMachined.html">taller aftermarket feet from MNPC Tech</a>. This raises the case a little higher off the floor to allow more air to be sucked into the big fan on the bottom. The feet mounting positions were relocated closer to the corners of the case by simply drilling new mounting holes in the bottom of the case.</p>
<p>By the time I was done, my tiny tower case had a total of 8 fans in it (6&#215;120 mm and 2&#215;140 mm), including the fan in the power supply. You&#8217;d think with that many fans the xMac would be loud, but because all the fans are rotating at about 800~1000 RPM the case is actually almost silent from 4-5 feet away (i.e., beside my desk).</p>
<p>To sum up, we&#8217;ve achieved a nice looking little case with good cooling that&#8217;s not going to disturb you in a quiet room.</p>
<p> &nbsp; </p>
<h3><span style="color:Gray"><i>This post is currently a work in progress&#8230; Stay tuned, more to come!</i></span></h3>
<h3>
<p> &nbsp; </p>
<p> &nbsp; </p>
</h3>
<h3><span style="color: darkorange;"><strong>CPU Installation</strong></span></h3>
<p></p>
<p>While you&#8217;re installing the CPU you&#8217;ll definitely want to use a thermal compound such as Arctic Silver 5. Keep the thermal compound really thin; you&#8217;re just trying to fill in the very tiny gaps between the heat sink and CPU. Using too much thermal compound can actually insulate your CPU rather than facilitating heat transfer.</p>
<h3><span style="color: darkorange;"><strong>Software</strong></span></h3>
<p></p>
<p>Will need Lion</p>
<h3><span style="color: darkorange;"><strong>BIOS settings</strong></span></h3>
<p></p>
<p>Turn off USB_3 in BIOS (both front and back panel).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicsector.com/xmac/xmac-part-4-build-photos-notes-a-powerful-mac-compatible-micro-atx-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xMac, Part 3: MATERIALS LIST — A Powerful Mac-Compatible Micro-ATX Build</title>
		<link>http://www.logicsector.com/xmac/xmac-part-3-materials-list-%e2%80%94-a-powerful-mac-compatible-micro-atx-build/</link>
		<comments>http://www.logicsector.com/xmac/xmac-part-3-materials-list-%e2%80%94-a-powerful-mac-compatible-micro-atx-build/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 17:00:14 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[xmac]]></category>
		<category><![CDATA[efix]]></category>

		<guid isPermaLink="false">http://www.logicsector.com/?p=215</guid>
		<description><![CDATA[Welcome to the third installment of the xMac build series! This time we&#8217;ll be talking about the components used to make the xMac. For this build our primary goals are: Mac OS X compatibility high performance good value compact Mac-like design reasonably noiseless As mentioned before, we have to choose our components carefully so they&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.logicsector.com/xmac/xmac-part-3-materials-list-%E2%80%94-a-powerful-mac-compatible-micro-atx-build/"><img alt="" src="http://ecx.images-amazon.com/images/I/61dEAChW%2BkL._SL500_AA300_.jpg" title="xMac Motherboard" class="alignright" width="280" height="280" /></a>Welcome to the third installment of the xMac build series! This time we&#8217;ll be talking about the components used to make the xMac. For this build our primary goals are:</p>
<ul>
<li>Mac OS X compatibility</li>
<li>high performance</li>
<li>good value</li>
<li>compact Mac-like design</li>
<li>reasonably noiseless</li>
</ul>
<p>As <a title="xMac, Part 2: MAKING A PC INTO A MAC — A Powerful Mac-Compatible Micro-ATX Build" href="http://www.logicsector.com/xmac/xmac-part-2-materials-list-a-powerful-mac-compatible-micro-atx-build/">mentioned before</a>, we have to choose our components carefully so they&#8217;re compatible with EFiX. Luckily, EFiX supports a wide variety of hardware. BTW, I&#8217;ll be using an EFiX v3 &#8212; the latest version &#8212; which supports newer chipsets such as the Z68 chipset.</p>
<h3><span style="color: darkorange;"><strong>EFiX-Compatible Components</strong></span></h3>
<p>These are carefully chosen from the EFiX hardware compatibility list (HCL). If you&#8217;re curious, you can refer to the EFiX v3 hardware compatibility list <a href="http://asem.com.tw/en/i-3.html">here</a>.</p>
<p><span id="more-215"></span></p>
<table style="background-color: whitesmoke; border: 1px solid DarkGray;" width="100%" border="3">
<tbody>
<tr>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="17%">COMPONENT TYPE</th>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="40%">PRODUCT NAME / PHOTO</th>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="43%">NOTES</th>
</tr>
<tr>
<p><!-- Motherboard --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Motherboard</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B005484N9W/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;tag=logisect-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B005484N9W">Gigabyte GA-Z68MX-UD2H-B3 LGA 1155 Micro ATX motherboard</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=logisect-20&amp;l=as2&amp;o=1&amp;a=B005484N9W" alt="" width="0px" height="0px" border="0" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B005484N9W/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B005484N9W"><img border="0" src="http://ecx.images-amazon.com/images/I/512KXrV58yL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B005484N9W" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
This Micro-ATX motherboard fits in compact cases, yet is very powerful for its size.
</td>
</tr>
<tr>
<p><!-- CPU --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">CPU</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B005X64OA8/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;tag=logisect-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B005X64OA8">Intel Core i7-2700K 3.5 GHz LGA 1155 Processor</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=logisect-20&amp;l=as2&amp;o=1&amp;a=B005X64OA8" alt="" width="0px" height="0px" border="0" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B005X64OA8/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B005X64OA8"><img border="0" src="http://ecx.images-amazon.com/images/I/51qDTg%2BEaeL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B005X64OA8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
Intel&#8217;s &#8220;K&#8221; variants of their Core i7 CPUs are highly overclockable. This CPU has a base clock speed of 3.5GHz (3.9GHz in Turbo mode), but with some easily tweaking it can be mildly overclocked to a stable 4.2GHz (Turbo mode disabled) inside this case. (Note: Different chips have different overclock potential, even from the same product line, YMMV.)
</td>
</tr>
<tr>
<p><!-- Video Card --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Video Card</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B004IF6I1S/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;tag=logisect-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B004IF6I1S">Gigabyte Radeon HD 6870 1GB GV-R687OC-1GD</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=logisect-20&amp;l=as2&amp;o=1&amp;a=B004IF6I1S" alt="" width="0px" height="0px" border="0" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B004IF6I1S/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004IF6I1S"><img border="0" src="http://ecx.images-amazon.com/images/I/51DjE6-2%2BlL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004IF6I1S" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
Currently this is the overall fastest and most compatible video card that&#8217;s commonly available for use with EFiX and Mac OS X. (The 5870 would probably work great and run a bit faster, but they are very expensive and hard to find.)
</td>
</tr>
<tr>
<p><!-- DVD --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">DVD</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B004BE5WBI/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004BE5WBI">Sony Optiarc Blu-ray Burner drive BD-5300S-0B</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004BE5WBI" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B004BE5WBI/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004BE5WBI"><img border="0" src="http://ecx.images-amazon.com/images/I/41fUv7O5KFL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004BE5WBI" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
Any Sony Optiarc brand DVD or Blu-ray SATA drive will work well with EFiX. Get this Blu-ray burner if you want to burn Blu-ray discs or watch Blu-ray movies under Windows, otherwise save your money and get a regular Sony DVD SATA drive.
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3><span style="color: orangered;"><strong>Additional Required Components</strong></span></h3>
<p>The remaining components can be anything you like, as long they&#8217;re compatible with the components above. For example, this build uses an SSD drive for extreme performance, but a regular hard drive would work fine instead. These are the exact components I used, and each is highly recommended.</p>
<table style="background-color: whitesmoke; border: 1px solid DarkGray;" width="100%" border="3">
<tbody>
<tr>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="17%">COMPONENT TYPE</th>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="40%">PRODUCT NAME / PHOTO</th>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="43%">NOTES</th>
</tr>
<tr>
<p><!-- Memory --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Memory</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B004HZG4ZO/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004HZG4ZO">G.Skill 8GB (2 x 4GB) Ripjaws X Series DDR3 1600MHz RAM F3-12800CL9D-8GBXL</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004HZG4ZO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B004HZG4ZO/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004HZG4ZO"><img border="0" src="http://ecx.images-amazon.com/images/I/51x3V6x-RWL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004HZG4ZO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
For a full 16GB of memory you need to buy two of these 8GB packages. For most folks 8GB will be plenty, but developers and other power users will want to max out their RAM.
</td>
</tr>
<tr>
<p><!-- Hard Drive --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Hard Drive</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B004UERMBC/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004UERMBC">Intel 320 Series 300 GB SATA 2.5-Inch SSD</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004UERMBC" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B004UERMBC/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004UERMBC"><img border="0" src="http://ecx.images-amazon.com/images/I/115FiHTph8L._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004UERMBC" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
This SSD has plenty of space for most users. Note it&#8217;s SATA2; don&#8217;t pay for SATA3 because OS X doesn&#8217;t support / can&#8217;t boot from SATA3 yet.</p>
<p>If you want to run Windows you&#8217;ll need a second drive since EFiX doesn&#8217;t support two different OSes on partitions within the same hard drive.
</td>
</tr>
<tr>
<p><!-- Drive Bay Adapter --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Drive Bay Adapter</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B002BH3Z8E/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B002BH3Z8E">Silverstone 3.5 to 2&#215;2.5-Inch Bay Converter SDP08</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B002BH3Z8E" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B002BH3Z8E/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B002BH3Z8E"><img border="0" src="http://ecx.images-amazon.com/images/I/311toUdFJOL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B002BH3Z8E" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
SSDs do not fit in 3.5 inch drive bays common to most cases; this adapter lets you install two SSDs into a single 3.5 inch drive bay in your case.
</td>
</tr>
<tr>
<p><!-- Case --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Case</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B0040PE6MY/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B0040PE6MY">Lian-Li Aluminum Mini Tower Case (microATX) PC-V354A</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B0040PE6MY" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B0040PE6MY/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B0040PE6MY"><img border="0" src="http://ecx.images-amazon.com/images/I/51hGZSgnI6L._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B0040PE6MY" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
This case looks a lot like an Apple Mac Pro that got shrunk in the wash. It comes complete with the silver aluminum look, cheese grater front panel, and rounded edges. The addition of an Apple logo on each side makes it right at home next to genuine Macs.
</td>
</tr>
<tr>
<p><!-- Power Supply --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Power Supply</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B002LVUPZQ/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B002LVUPZQ">Corsair Professional Series 650-Watt 80 Plus Certified Power Supply CMPSU-650HX</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B002LVUPZQ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B002LVUPZQ/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B002LVUPZQ"><img border="0" src="http://ecx.images-amazon.com/images/I/51zND5x0ihL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B002LVUPZQ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
This compact power supply is ideal for use in a mini tower due to its small dimensions and modular design. Modular cables mean you only install the cables you need, thus preventing a rat&#8217;s nest inside your small case. The high efficiency rating is a nice bonus.
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3><span style="color: orangered;"><strong>Miscellaneous Components</strong></span></h3>
<p>These last items are optional but highly recommended if you want a fast, quiet, cool-running system.</p>
<table style="background-color: whitesmoke; border: 1px solid DarkGray;" width="100%" border="3">
<tbody>
<tr>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="17%">COMPONENT TYPE</th>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="40%">PRODUCT NAME / PHOTO</th>
<th style="text-align: left; border: 1px solid DarkGray; padding: 1em; background-color: gainsboro;" width="43%">NOTES</th>
</tr>
<tr>
<p><!-- CPU Cooler --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">CPU Cooler</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B004LWYE4Q/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004LWYE4Q">Antec Kühler H2O 620 Liquid Cooling System</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004LWYE4Q" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B004LWYE4Q/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004LWYE4Q"><img border="0" src="http://ecx.images-amazon.com/images/I/41x2EZH3aPL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004LWYE4Q" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
This self-contained cooling system takes up much less space than a typical monolithic heat-sink cooler, and the sealed nature makes them foolproof. This particular water cooler distinguishes itself from other similar coolers (e.g. Corsair H60) due to its extra thick tubes that resist kinking and high static pressure fans.</p>
<p>For the best possible performance, get a second <a href="http://www.amazon.com/gp/product/B001BFPJNQ/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B001BFPJNQ">Noiseblocker M12-S2 120mm Fan</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B001BFPJNQ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> (see below) and mount it on the back of the radiator in a push-pull configuration.
</td>
</tr>
<tr>
<p><!-- 140mm Top Fan (fits Lian Li PC-V354 Case) --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">140mm Top Fan <br />(fits Lian Li PC-V354 Case)</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%"><a name="fans">&nbsp;</a><br />
<a href="http://www.amazon.com/gp/product/B00429TWM2/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B00429TWM2">Thermalright TY-140 Fan</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B00429TWM2" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B00429TWM2/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B00429TWM2"><img border="0" src="http://ecx.images-amazon.com/images/I/51RavEJn5eL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B00429TWM2" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
The TY-140 is a 140mm fan that mounts in the standard 120mm fan mount holes in the top of the Lian Li PC-V354. The amount of airflow is outstanding when compared to the low noise level (it&#8217;s almost silent from a few feet away). </p>
<p>The pea soup coloration is a bit strange though.
</td>
</tr>
<tr>
<p><!-- 120mm Rear Fan (fits Lian Li PC-V354 Case) --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">120mm Rear Fan <br />(fits Lian Li PC-V354 Case)</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B001BFPJNQ/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B001BFPJNQ">Noiseblocker Multiframe 120mm Fan M12-S2</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B001BFPJNQ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B001BFPJNQ/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B001BFPJNQ"><img border="0" src="http://ecx.images-amazon.com/images/I/31-DXCCL-cL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B001BFPJNQ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
This outstanding fan from Germany is virtually silent but doesn&#8217;t push as much air as the Thermalright TY-140 due to its smaller diameter (the TY-140 won&#8217;t fit on the back of the case). </p>
<p>A unique feature of this fan is that much of the frame is actually made of rubber to provide exceptional vibration resistance. </p>
<p>Both this and the TY-140 are better than the more common Noctua fans, and far better than stock fans.
</td>
</tr>
<tr>
<p><!-- Fan Speed Controller --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Fan Speed Controller</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.coolerguys.com/840556092261.html">Fan Speed Reducer</a><br />
 <br />
<a href="http://www.coolerguys.com/840556092261.html"><img border="0" width="80%" src="http://img15.imageshack.us/img15/108/yhst2406711578917322101.jpg" /></a>
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
Add one or more of these in series with your fans to slow them down and make them noiseless. A fan is generally noiseless from 3 feet away when it runs at 800 RPM or less.
</td>
</tr>
<tr>
<p><!-- Keyboard --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Keyboard</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B005MU1F8O/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B005MU1F8O">Apple Aluminum Wired Keyboard</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B005MU1F8O" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B005MU1F8O/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B005MU1F8O"><img border="0" src="http://ecx.images-amazon.com/images/I/41o0TZZxkyL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B005MU1F8O" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
Complete the Mac OS X experience with a genuine Apple keyboard. It works great with this xMac.
</td>
</tr>
<tr>
<p><!-- Mouse --></p>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="17%">Mouse</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="40%">
<a href="http://www.amazon.com/gp/product/B00006B7HB/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B00006B7HB">Microsoft Wheel Mouse (White)</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B00006B7HB" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
 <br />
<a href="http://www.amazon.com/gp/product/B00006B7HB/ref=as_li_tf_il?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B00006B7HB"><img border="0" src="http://ecx.images-amazon.com/images/I/31N7ENCV2ZL._SL110_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B00006B7HB" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</td>
<td style="text-align: left; border: 1px solid DarkGray; padding: 1em;" width="43%">
Unless you&#8217;re a fan of the quirky Apple Magic Mouse, this is an excellent option that looks good with the xMac and works marvelously.
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.logicsector.com/xmac/xmac-part-3-materials-list-%e2%80%94-a-powerful-mac-compatible-micro-atx-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xMac, Part 2: MAKING A PC INTO A MAC &#8212; A Powerful Mac-Compatible Micro-ATX Build</title>
		<link>http://www.logicsector.com/xmac/xmac-part-2-materials-list-a-powerful-mac-compatible-micro-atx-build/</link>
		<comments>http://www.logicsector.com/xmac/xmac-part-2-materials-list-a-powerful-mac-compatible-micro-atx-build/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 16:00:20 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[xmac]]></category>
		<category><![CDATA[efix]]></category>

		<guid isPermaLink="false">http://www.logicsector.com/?p=175</guid>
		<description><![CDATA[In this article we&#8217;ll discover that it&#8217;s actually quite easy to assemble a made-to-order Mac from PC parts. But how to we get Mac OS X to run on a vanilla PC? The solution is actually quite simple. A device called &#8220;EFiX&#8221; makes it easy to run Mac OS X on a PC. This little [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.logicsector.com/xmac/xmac-part-2-materials-list-a-powerful-mac-compatible-micro-atx-build/"><img alt="" src="http://www.logicsector.com/wp-content/uploads/2012/05/20110617-1123-e1336150025807.jpg" title="EFiX v3 dongle" class="alignright" width="200" height="179" /></a>In this article we&#8217;ll discover that it&#8217;s actually quite easy to assemble a made-to-order Mac from PC parts. </p>
<p>But how to we get Mac OS X to run on a vanilla PC?</p>
<p>The solution is actually quite simple. A device called <a href="http://asem.com.tw/en/i-3.html">&#8220;EFiX&#8221;</a> makes it easy to run Mac OS X on a PC. This little USB dongle gets added to one of the USB headers on your PC motherboard and turns your PC into something very similar to a Mac.</p>
<p>How does EFiX work?</p>
<p>The EFiX operates on the notion that Macs run on something called called EFI (Extensible Firmware Interface), which is the next-generation successor to last millennium&#8217;s BIOS. EFiX should be set as your primary boot device. Then, when your computer powers up and begins its boot sequence, it &#8220;boots&#8221; into the EFiX chip code. When the EFiX boots it does two things.</p>
<p><span id="more-175"></span></p>
<p>First, EFiX provides an EFI compatibility layer on top of your PC&#8217;s BIOS. In turn, any OS that gets loaded over EFiX&#8217;s software will think its running on an EFI-based machine (i.e., a Mac) instead of a BIOS-based machine (i.e., a PC). Your BIOS simply needs a couple of easy configuration tweaks in CMOS Setup to support the EFI compatibility layer. EFI is natively supported by Windows and Mac OS X, and it&#8217;s one of the reasons why an EFI based Macintosh can boot Windows via Boot Camp.</p>
<p>Second, EFiX provides a graphical boot console showing you the bootable drives in your computer, which can be Windows, Linux, or Mac OS X. You graphically choose the drive to boot from. EFiX does the rest, booting your chosen OS (such as Mac OS X) on top of EFI.</p>
<p><b>This means that Mac OS X will run without modification on a PC equipped with EFiX.</b> This is key.</p>
<p>There are other solutions to get Mac OS X to run on PCs, but they always require some degree of hackery of Mac OS X itself to get it working. This usually means the hacked version of Mac OS X must be <i>re-hacked</i> every time Apple updates Mac OS X, or all of a sudden your pseudo-Mac won&#8217;t boot anymore. Apple updates Mac OS X <i>a lot</i>, so this is a huge pain, IMO. Of course, the big upside to the hackery approach is that hacking Mac OS X is free. </p>
<p>On the other hand, you actually have to <i>pay</i> for an EFiX dongle.</p>
<p>However, for me at least, it&#8217;s much nicer to plug in EFiX and watch it &#8220;just work&#8221;, rather than having to tinker for hours or days to hack (and re-hack and hack again) with the free &#8220;hackery&#8221; solutions.</p>
<p>EFiX is not free, and neither is it magic. You have to be dilligent to use EFiX-compatible hardware (motherboard, video card, etc). If your assemblage of parts is not compatible with EFiX then Mac OS X may run poorly or not at all on your system. Fortunately <a href="http://forum.efi-x.com/viewforum.php?f=102">there&#8217;s a free support forum available</a> if you encounter any hiccups with EFiX.</p>
<p>The next post in this series will look at the parts used in the xMac build with an eye toward EFiX compatibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicsector.com/xmac/xmac-part-2-materials-list-a-powerful-mac-compatible-micro-atx-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xMac, Part 1: INTRODUCTION &#8212; A Powerful Mac-Compatible Micro-ATX Build</title>
		<link>http://www.logicsector.com/xmac/intro-xmac-a-powerful-mac-compatible-micro-atx-build/</link>
		<comments>http://www.logicsector.com/xmac/intro-xmac-a-powerful-mac-compatible-micro-atx-build/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 15:00:43 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[xmac]]></category>
		<category><![CDATA[efix]]></category>

		<guid isPermaLink="false">http://www.logicsector.com/?p=99</guid>
		<description><![CDATA[As an iOS software developer, I use a computer all day, every workday. When you compile code over and over you learn to appreciate a fast computer. Apple&#8217;s Mac Pro line are wonderful computers and I&#8217;d love to own one. Their performance is excellent and their aluminum case is beautiful to look at. But the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.logicsector.com/xmac/intro-xmac-a-powerful-mac-compatible-micro-atx-build/"><img alt="" src="http://www.logicsector.com/wp-content/uploads/2011/12/xmac-sneak-peek-small.jpg" title="xMac sneak peek" class="alignright" width="300" height="278" /></a>As an iOS software developer, I use a computer all day, every workday. When you compile code over and over you learn to appreciate a fast computer. Apple&#8217;s <a href="http://www.amazon.com/gp/product/B003ZR4M6I/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B003ZR4M6I">Mac Pro</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B003ZR4M6I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> line are wonderful computers and I&#8217;d love to own one. Their performance is excellent and their aluminum case is beautiful to look at.</p>
<p>But the <a href="http://www.amazon.com/gp/product/B003ZR4M6I/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B003ZR4M6I">Mac Pro</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B003ZR4M6I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> is not perfect. Why?</p>
<p>For example, there&#8217;s no denying the <a href="http://www.amazon.com/gp/product/B003ZR4M6I/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B003ZR4M6I">Mac Pros</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B003ZR4M6I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> are rather large machines that utterly dominate any desktop. Most of us don&#8217;t need a system that can hold 8 processor cores, lots and lots of hard drives, a whopping 32 GB of RAM, etc. Not to mention the cost of a fully loaded <a href="http://www.amazon.com/gp/product/B003ZR4M6I/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B003ZR4M6I">Mac Pro</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B003ZR4M6I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> system is about the same as a used car. Ouch!</p>
<p>For me, a system with 4 cores, 16 GB of RAM, and a couple of SSD drives that fits in a small space (say, the size of two shoeboxes) is plenty for day-to-day development use. Add in a decent video card and the machine could even run World of Warcraft with a great frame rate. In other words, in terms of Mac performance, I&#8217;d like to buy <em>more than a <a href="http://www.amazon.com/gp/product/B004YLCLM6/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004YLCLM6">Mac Mini</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004YLCLM6" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> or <a href="http://www.amazon.com/gp/product/B004YKXGIK/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004YKXGIK">iMac</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004YKXGIK" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></em>, but <em>less than a <a href="http://www.amazon.com/gp/product/B003ZR4M6I/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B003ZR4M6I">Mac Pro</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B003ZR4M6I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></em>.</p>
<p><a title="Ars Technica describes the fabled xMac" href="http://arstechnica.com/staff/fatbits/2005/10/1676.ars">This sounds like the fabled &#8220;xMac&#8221;</a>, which is the compact $1,000 minitower Mac that Apple unfortunatley refuses to make. If Apple sold an xMac I&#8217;d buy it in a heartbeat. After all, I&#8217;ve owned a G3 tower, a G4 tower, a Cube, a G4 Mini, and various <a href="http://www.amazon.com/gp/product/B004YLCLM6/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004YLCLM6">Intel-based Minis</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004YLCLM6" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, <a href="http://www.amazon.com/gp/product/B002C7489S/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B002C7489S">MacBooks</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B002C7489S" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, <a href="http://www.amazon.com/gp/product/B005CWJ3MM/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B005CWJ3MM">MacBook Pros</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B005CWJ3MM" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, etc. (even a NeXT Cube and a NeXTstation Color, but that&#8217;s another story). A theoretical mini-tower xMac from Apple sporting discrete upgradable graphics and an upgradable CPU daughter card would surely sell like hotcakes, although it would undoubtably cannibalize some sales from the <a href="http://www.amazon.com/gp/product/B004YLCLM6/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004YLCLM6">Mac Mini</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004YLCLM6" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, <a href="http://www.amazon.com/gp/product/B004YKXGIK/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004YKXGIK">iMac</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004YKXGIK" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, and <a href="http://www.amazon.com/gp/product/B003ZR4M6I/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B003ZR4M6I">Mac Pro</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B003ZR4M6I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.</p>
<p>But there are alternative solutions if you&#8217;re creative. So I made my own xMac! Why, you ask?<span id="more-99"></span></p>
<p>Well, for starters, it bugs me that <em>except for the <a href="http://www.amazon.com/gp/product/B003ZR4M6I/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B003ZR4M6I">Mac Pro</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B003ZR4M6I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, all other Macs use mobile-class video cards or integrated video</em>. No wonder the Mac is not big in gaming circles.  So <a href="http://www.amazon.com/gp/product/B004YKXGIK/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004YKXGIK">iMac</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004YKXGIK" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, <a href="http://www.amazon.com/gp/product/B004YLCLM6/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B004YLCLM6">Mac Mini</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B004YLCLM6" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, and the rest are out. That leaves the <a href="http://www.amazon.com/gp/product/B003ZR4M6I/ref=as_li_tf_tl?ie=UTF8&#038;tag=logisect-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B003ZR4M6I">Mac Pro</a><img src="http://www.assoc-amazon.com/e/ir?t=logisect-20&#038;l=as2&#038;o=1&#038;a=B003ZR4M6I" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />. But then there&#8217;s that huge price tag and other drawbacks that were already lamented above.</p>
<p>However, there are ways to build a &#8220;Mac-like&#8221; PC computer and make it compatible with Mac OS X at a fraction of the price of a real Mac. Building my own xMac would allow me to buy exactly the level of performance I need with precisely the discrete video card I want, all in a case that doesn&#8217;t crush the desk, and at a price that&#8217;s relatively affordable.</p>
<p>With that in mind I set off to build my own xMac. Luckily I already had a bunch of the parts needed&#8211;such as the case&#8211;so with a few judicious upgrades I was able to achieve my goal of a custom xMac.</p>
<p>Stay tuned; in future posts I&#8217;ll detail the parts, the build, and the performance results.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicsector.com/xmac/intro-xmac-a-powerful-mac-compatible-micro-atx-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set up Streambaby under Mac OS X Lion 10.7</title>
		<link>http://www.logicsector.com/mac/how-to-set-up-streambaby-under-mac-os-x-lion-10-7/</link>
		<comments>http://www.logicsector.com/mac/how-to-set-up-streambaby-under-mac-os-x-lion-10-7/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 20:50:59 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[tivo]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[streambaby]]></category>
		<category><![CDATA[streaming]]></category>

		<guid isPermaLink="false">http://www.logicsector.com/?p=472</guid>
		<description><![CDATA[This post will help you set up Streambaby so it works on your Mac running Lion. You&#8217;ll see how to share your Mac&#8217;s Movies folder so you can easily view your videos on your big screen TV. To access Streambaby on your TiVo you will need a Tivo Premiere, TiVo Series 3, or TiVo HD. [...]]]></description>
			<content:encoded><![CDATA[<p>This post will help you set up <a href="http://code.google.com/p/streambaby/">Streambaby</a> so it works on your Mac running Lion. You&#8217;ll see how to share your Mac&#8217;s Movies folder so you can easily view your videos on your big screen TV. To access Streambaby on your TiVo you will need a Tivo Premiere, TiVo Series 3, or TiVo HD. The installation and configuration process takes roughly 10 minutes.</p>
<p>First&#8230; What is Streambaby? Basically, Streambaby is a free application that works with your current model TiVo to stream video from your computer to your TiVo DVR. It automatically shows up in your TiVo&#8217;s menus when Streambaby is running on your Mac.</p>
<p>In other words, having Streambaby is like hosting your own Netflix service, but with all of your own personal videos. <img src='http://www.logicsector.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Note the purpose of Streambaby is to <i>stream</i> rather than <i>transfer</i> your videos. Streambaby <i>does not</i> transfer video from your computer to your TiVo. (If you want to transfer videos from your computer to your TiVo then you&#8217;re looking for a different program called <a href="http://pytivo.sourceforge.net/wiki/index.php/OS_X_Install">pyTivo</a>.)</p>
<p>One of the things that makes Streambaby great is that you can store many terabytes of video on your Mac. With Streambaby your terabytes of video don&#8217;t consume valuable disk space on your TiVo itself, yet you can easily view the video anytime on any TiVo in your home. The video can be in any format supported by Streambaby and its dependent library, <a href="http://en.wikipedia.org/wiki/Ffmpeg">FFmpeg</a>.</p>
<p><i>This post assumes you have basic familiarity with the command line, etc. This is a pretty safe procedure, but the standard disclaimers apply about messing up your computer etc.</i> <img src='http://www.logicsector.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-472"></span></p>
<h4>Java Installation</h4>
<p>Unlike previous versions of Mac OS X, Lion does not come with Java installed by default. If you have not installed Java on your Mac, then follow the steps below to install Java.</p>
<p>1. In Finder, go to <b>Applications</b> > <b>Utilities</b> > <b>Java Preferences</b> to launch the Java Preferences application.</p>
<p>2. If Java is not installed you&#8217;ll see an alert panel with the following text:<br />
<tt>"To open 'Java Preferences', you need to install a Java runtime. Would you like to install one now?"</tt><br />
If you <i>don&#8217;t</i> see the alert panel then Java is already installed and you can skip step 3.</p>
<p>3. Click the Install button on the alert panel and accept the license agreement. The Java runtime will be downloaded and installed.</p>
<h4>Streambaby Installation</h4>
<p>Now that Java is installed let&#8217;s install Streambaby itself.</p>
<p>1. Download the latest zipped copy of Streambaby from the Streambaby download page:<br />
<a href="http://code.google.com/p/streambaby/downloads/list">http://code.google.com/p/streambaby/downloads/list</a></p>
<p>2. Extract the zipped file you just downloaded and rename the folder to &#8220;streambaby&#8221; (lower case). Move the streambaby folder into your <tt>/Applications</tt> folder.</p>
<h4>FFmpeg Installation</h4>
<p>The ffmpeg library is used by Streambaby to transform your various video files into something that your TiVo can understand.</p>
<p>1. Download the latest <b>0.8.X</b> release of ffmpeg from here.<br />
<a href="http://pytivo.sourceforge.net/forum/ffmpeg-builds-for-mac-os-x-t1803.html">http://pytivo.sourceforge.net/forum/ffmpeg-builds-for-mac-os-x-t1803.html</a><br />
The one I downloaded was called &#8220;<tt>ffmpeg_mac-0.8.10-x64.zip</tt>&#8220;.</p>
<p>2. Extract the zipped file and copy it into the <tt>/Applications/streambaby</tt> folder.</p>
<h4>Streambaby Configuration</h4>
<p>The next step is creating a configuration file that Streambaby will use each time it runs. </p>
<p>1. There is already a file called &#8220;<tt>streambaby.ini</tt>&#8221; in the <tt>/Applications/streambaby</tt> folder. This contains the default Streambaby configuration. Open it in a text editor, such as TextEdit.app.</p>
<p>2. Replace the entire contents of the file with the text below. Edit it to contain the <i>path to your Movies folder</i> and the <i>shared folder name</i>. In this example the movies are stored in <tt>/Users/justin/Movies</tt> and the corresponding name that will appear in the TiVo menus is <tt>Justin's Movies</tt>.</p>
<pre class="brush: plain; light: true; title: ; notranslate">
dir.1=/Users/justin/Movies
dir.1.name=Justin's Movies
com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
ffmpeg.path=/Applications/streambaby/ffmpeg
</pre>
<p>Don&#8217;t change the last two lines above. Save the configuration file and close it.</p>
<h4>Launching Streambaby</h4>
<p>There are two ways to launch Streambaby, manually via the command line or automatically at login. For your first test I recommend running Streambaby from the command line. Once you&#8217;ve verified it&#8217;s working then switch to the automatic startup method.</p>
<h5 style="color: LightSlateGray;">Manually Launching Streambaby</h5>
<p>The advantage of manually launching is that you&#8217;ll see the Streambaby app log in the terminal window.</p>
<p>1. You can manually start Streambaby by typing the following command in a Terminal window:</p>
<pre class="brush: plain; light: true; title: ; notranslate">
/Applications/streambaby/streambaby
</pre>
<p>You should see several lines of text as Streambaby starts up, similar to this example:</p>
<pre class="brush: plain; light: true; title: ; notranslate">
[justin@arwen:~]$ /Applications/streambaby/streambaby
Initializing StreamBaby v20111203-2132...
01/28/12 20:57:34 Listener: added factory
01/28/12 20:57:34 Main: streambaby ready &amp; listening.
</pre>
<p>2. You can now test access to your streaming folder from your TiVo (see &#8220;<b>Using Streambaby</b>&#8221; below). After you&#8217;ve verified it works, you can stop Streambaby with Control-C.</p>
<h5 style="color: LightSlateGray;">Automatically Launching Streambaby At Login</h5>
<p>You can have Mac OS X automatically launch Streambaby when you log into your Mac. Naturally, if you have auto-login turned on then Streambaby will start whenever you start your Mac. Streambaby will be automatically shut down when you log out.</p>
<p>1. Create a plain-text file in TextEdit with the following contents:</p>
<pre class="brush: xml; light: true; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE plist PUBLIC &quot;-//Apple Computer//DTD PLIST 1.0//EN&quot;
    &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
&lt;plist version=&quot;1.0&quot;&gt;
&lt;dict&gt;
    &lt;key&gt;Label&lt;/key&gt;
	&lt;string&gt;streambaby&lt;/string&gt;
    &lt;key&gt;WorkingDirectory&lt;/key&gt;
	&lt;string&gt;/Applications/streambaby/&lt;/string&gt;
    &lt;key&gt;ProgramArguments&lt;/key&gt;
	&lt;array&gt;
	    &lt;string&gt;/Applications/streambaby/streambaby&lt;/string&gt;
	&lt;/array&gt;
    &lt;key&gt;RunAtLoad&lt;/key&gt;
	&lt;true/&gt;
    &lt;key&gt;KeepAlive&lt;/key&gt;
	&lt;true/&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</pre>
<p>2. Save your file as &#8220;streambaby.plist&#8221; in your personal LaunchAgents folder, for example within <tt>/Users/justin/Library/LaunchAgents</tt>.</p>
<p>3. Log out and log in again. You can now test access to your streaming folder from your TiVo (see &#8220;<b>Using Streambaby</b>&#8221; below).</p>
<h4><i>Optional:</i> Hiding The Streambaby Icon In The Dock</h4>
<p>Streambaby is a Java application, and like most applications it will show an icon in the Dock when it runs. If you perform this optional step, then it will hide the Streambaby app icon when Streambaby runs. Other than hiding the app icon, there is no functional difference if you skip this step.</p>
<p>1. There is a file called &#8220;<tt>streambaby</tt>&#8221; in the <tt>/Applications/streambaby</tt> folder. This file is what is invoked when you run Streambaby. Open it in a text editor, such as TextEdit.app.</p>
<p>2. Add the following text (<span style="color: Chocolate; font-weight:bold;">in brown text</span>) to the &#8220;<tt>streambaby</tt>&#8221; file:</p>
<div style="font-family: Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace;">
#!/bin/bash<br />
DIRNAME=`dirname $0`<br />
java -Djava.net.preferIPv4Stack=true <span style="color: Chocolate; font-weight:bold;">-Dapple.awt.UIElement=true</span> -Xmx256m -jar &#8220;$DIRNAME/jbin/streambaby.jar&#8221; $@
</div>
<p></p>
<p>Save the file and close it.</p>
<h4>Using Streambaby</h4>
<p>On a Tivo Premiere running with HD menus enabled, the Streambaby menu shows up under <b>Showcases &#038; Apps</b> > <b>Stream, Baby, Stream</b>. Navigate to that menu item to see the videos that Streambaby is sharing with your TiVo. Note that the folder structure is hierarchical, so you can place subfolders within subfolders in your Mac&#8217;s video folder, and Streambaby will let you drill down into them on your TiVo. When you&#8217;re ready, simply select a video and click Play to start the stream. Voila!</p>
<p>BTW, when Streambaby is running it&#8217;s normal to see a generic Java app icon appear in your Mac&#8217;s Dock. Don&#8217;t shut down or otherwise mess with this Java app or else Streambaby will stop and you&#8217;ll have to restart it.</p>
<p>Advanced users may want to set up more than one shared video folder. For example, in addition to my <i>Movies</i> folder I share my <i>iTunes U</i> videos from within my iTunes folder on my Mac. See the Streambaby site for <a href="http://code.google.com/p/streambaby/wiki/StreamBabyIni">more details about how configure Streambaby</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicsector.com/mac/how-to-set-up-streambaby-under-mac-os-x-lion-10-7/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>How to create a WSDL-first SOAP client in Java with CXF and Maven</title>
		<link>http://www.logicsector.com/java/how-to-create-a-wsdl-first-soap-client-in-java-with-cxf-and-maven/</link>
		<comments>http://www.logicsector.com/java/how-to-create-a-wsdl-first-soap-client-in-java-with-cxf-and-maven/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 18:07:08 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[cxf]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.logicsector.com/?p=154</guid>
		<description><![CDATA[This article was originally written in October 2008 and posted on my old blog at wordpress.com. I&#8217;ve retired that blog, so I&#8217;ve reposted the original contents here in the hope someone finds it useful. As of December 2011 the code still works great. Note I&#8217;m an iOS developer nowadays, not a Java developer, so regretfully [...]]]></description>
			<content:encoded><![CDATA[<p><font color="gray"><i>This article was originally written in October 2008 and posted on my old blog at <a href="http://logicsector.wordpress.com/2008/10/19/how-to-create-a-wsdl-first-soap-client-in-java-with-cxf-and-maven/">wordpress.com</a>. I&#8217;ve retired that blog, so I&#8217;ve reposted the original contents here in the hope someone finds it useful. As of December 2011 the code still works great. Note I&#8217;m an iOS developer nowadays, not a Java developer, so regretfully </i>I can&#8217;t offer any support nor updates if it doesn&#8217;t work for you<i>. Please feel free to read, comment, and link to the article here at its new home.</i></font></p>
<h3>Background</h3>
<p>About a week ago I needed to write a SOAP-based client for work.  The SOAP framework I&#8217;m using is Apache CXF.  I&#8217;m a total noob when it comes to SOAP services, and so I was a little apprehensive about this at first.  My apprehension sprung from hearing horror stories a few years ago from coworkers who were writing Axis SOAP applications, and they were basically tearing their hair out over Axis.  </p>
<p>However, word has it that CXF is much easier to use.  Well, it took me a while to get it working correctly.  In an effort to save other folks the same grief, I&#8217;ve posted my code here.  If you&#8217;re reading this, I&#8217;m assuming you&#8217;re acquainted with Java and Maven, but fairly new to SOAP, WSDL, etc.<br />
<span id="more-154"></span></p>
<p>To keep things simple, I decided to write a &#8220;Hello World&#8221; type of application first to make sure I could get the technology stack working correctly.  To keep things <i>really</i> simple, I decided to create a trivial Java &#8220;main&#8221; function that calls a SOAP service, logs the result to the console, and exits (no fancy web interface or anything like that).</p>
<h3>The SOAP Service Provider</h3>
<p>First I had to select an appropriate web service to test against.  There are a bunch of free SOAP-based web services out there, and I chose the CDyne weather service.  You can go <a href="http://wiki.cdyne.com/wiki/index.php?title=CDYNE_Weather">read all about it</a> if you want.</p>
<h3>Obtain the Service&#8217;s WSDL</h3>
<p>When you&#8217;re writing a new client in CXF for an existing web service, you start with the WSDL and work from there.  This means you need to get a copy of the WSDL from the service provider.  The WSDL for the CDyne weather service can be <a href="http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl">downloaded from their site</a>. You can simply right-click that link and save the WSDL on your hard drive.</p>
<p>Once you have the WSDL in hand, you can build your client around it.  Basically, you&#8217;ll use a CXF tool called <i>wsdl2java</i> to turn the WSDL into Java stub code that you then compile along with your application.</p>
<h3>Create the Maven Project</h3>
<p>As a recent convert to Maven, I set up a new Maven project.  I created a new project directory called <tt>weather-client</tt>, which is the <i>${basedir}</i>.  Also, I put the WSDL file in <tt>${basedir}/src/main/wsdl/weather.wsdl</tt>.  </p>
<p>Yeah, I know Maven has its fancy archetype creator thingie to emit the initial POM file, but like most pragmatic programmers I simply copy and paste a similar POM from somewhere else and modify it to suit my needs.  Here&#8217;s the project file I came up with.</p>
<p><tt>weather-client/<b>pom.xml</b></tt></p>
<pre class="brush: xml; title: ; notranslate">
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
    xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0

http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;

    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;groupId&gt;com.logicsector&lt;/groupId&gt;
    &lt;artifactId&gt;weather-client&lt;/artifactId&gt;
    &lt;version&gt;1.0&lt;/version&gt;
    &lt;name&gt;SOAP weather client&lt;/name&gt;
    &lt;packaging&gt;jar&lt;/packaging&gt;

    &lt;dependencies&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
            &lt;artifactId&gt;cxf-rt-frontend-jaxws&lt;/artifactId&gt;
            &lt;version&gt;2.1.2&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
            &lt;artifactId&gt;cxf-rt-transports-http&lt;/artifactId&gt;
            &lt;version&gt;2.1.2&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
            &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt;
            &lt;version&gt;1.5.2&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
            &lt;artifactId&gt;slf4j-log4j12&lt;/artifactId&gt;
            &lt;version&gt;1.5.2&lt;/version&gt;
        &lt;/dependency&gt;
    &lt;/dependencies&gt;

    &lt;build&gt;
        &lt;finalName&gt;weather-client&lt;/finalName&gt;
        &lt;plugins&gt;
            &lt;!-- Generate Java classes from WSDL during build --&gt;
            &lt;plugin&gt;
                &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
                &lt;artifactId&gt;cxf-codegen-plugin&lt;/artifactId&gt;
                &lt;version&gt;2.1.2&lt;/version&gt;
                &lt;executions&gt;
                    &lt;execution&gt;
                        &lt;id&gt;generate-sources&lt;/id&gt;
                        &lt;phase&gt;generate-sources&lt;/phase&gt;
                        &lt;configuration&gt;
                            &lt;sourceRoot&gt;${basedir}/target/generated/src/main/java&lt;/sourceRoot&gt;
                            &lt;wsdlOptions&gt;
                                &lt;wsdlOption&gt;
                                    &lt;wsdl&gt;${basedir}/src/main/wsdl/weather.wsdl&lt;/wsdl&gt;
                                    &lt;extraargs&gt;
                                        &lt;extraarg&gt;-client&lt;/extraarg&gt;
                                    &lt;/extraargs&gt;
                                &lt;/wsdlOption&gt;
                            &lt;/wsdlOptions&gt;
                        &lt;/configuration&gt;
                        &lt;goals&gt;
                            &lt;goal&gt;wsdl2java&lt;/goal&gt;
                        &lt;/goals&gt;
                    &lt;/execution&gt;
                &lt;/executions&gt;
            &lt;/plugin&gt;
            &lt;!-- Add generated sources - avoids having to copy generated sources to build location --&gt;
            &lt;plugin&gt;
                &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
                &lt;artifactId&gt;build-helper-maven-plugin&lt;/artifactId&gt;
                &lt;executions&gt;
                    &lt;execution&gt;
                        &lt;id&gt;add-source&lt;/id&gt;
                        &lt;phase&gt;generate-sources&lt;/phase&gt;
                        &lt;goals&gt;
                            &lt;goal&gt;add-source&lt;/goal&gt;
                        &lt;/goals&gt;
                        &lt;configuration&gt;
                            &lt;sources&gt;
                                &lt;source&gt;${basedir}/target/generated/src/main/java&lt;/source&gt;
                            &lt;/sources&gt;
                        &lt;/configuration&gt;
                    &lt;/execution&gt;
                &lt;/executions&gt;
            &lt;/plugin&gt;
            &lt;!-- Build the JAR with dependencies --&gt;
            &lt;plugin&gt;
                &lt;artifactId&gt;maven-assembly-plugin&lt;/artifactId&gt;
                &lt;configuration&gt;
                    &lt;descriptorRefs&gt;
                        &lt;descriptorRef&gt;jar-with-dependencies&lt;/descriptorRef&gt;
                    &lt;/descriptorRefs&gt;
                &lt;/configuration&gt;
            &lt;/plugin&gt;
        &lt;/plugins&gt;
        &lt;!-- Build with Java 1.5 --&gt;
        &lt;pluginManagement&gt;
            &lt;plugins&gt;
                &lt;plugin&gt;
                    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                    &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                    &lt;configuration&gt;
                        &lt;source&gt;1.5&lt;/source&gt;
                        &lt;target&gt;1.5&lt;/target&gt;
                    &lt;/configuration&gt;
                &lt;/plugin&gt;
            &lt;/plugins&gt;
        &lt;/pluginManagement&gt;
    &lt;/build&gt;

&lt;/project&gt;
</pre>
<p>The only items of interest in the POM are:
<ul>
<li>We depend on the CXF v2.1.2 client libraries and the (most excellent) SLF4J logging system</li>
<li>We invoke the <b>cxf-codegen-plugin</b> to run <i>wsdl2java</i> to generate our Java stub code into <tt>${basedir}/target/generated/src/main/java</tt></li>
<li>We use the <b>build-helper-maven-plugin</b> so that Maven can compile from two source directories (normally Maven just compiles what&#8217;s in <tt>${basedir}/src/main</tt> and not <tt>${basedir}/target/generated/src</tt>, so we tell Maven to go compile the generated stub code too)</li>
<li>We use the <b>maven-assembly-plugin</b> to create a final JAR containing all necessary dependencies, which Maven will create as <tt>weather-client-jar-with-dependencies.jar</tt> when we perform a <tt>mvn assembly:assembly</tt></li>
</ul>
<p>At this point, even though I had no code in the project, I ran <tt>mvn assembly:assembly</tt> to build the Java stubs from the WSDL file.  The output is in the generated source directory mentioned earlier, in case you want to go poke at it.</p>
<h3>The Client Code</h3>
<p>Once we have the autogenerated stubs we can use them in a real Java program.  Before you can use the stubs, you have to identify what the actual <i>service object</i> is.  You can find out by looking at the generated stub code and see which Java class extends Service.  That will be the service interface that you call in your client.  In this case, the service is called simply &#8220;Weather&#8221;.</p>
<p>Without further ado, here&#8217;s the code I wrote to invoke the SOAP service:</p>
<p><tt>weather-client/src/main/java/com/logicsector/soapclient/<b>SoapClient.java</b></tt></p>
<pre class="brush: java; title: ; notranslate">
package com.logicsector.soapclient;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.cdyne.ws.weatherws.Forecast;
import com.cdyne.ws.weatherws.ForecastReturn;
import com.cdyne.ws.weatherws.POP;
import com.cdyne.ws.weatherws.Temp;
import com.cdyne.ws.weatherws.Weather;
import com.cdyne.ws.weatherws.WeatherSoap;

public class SoapClient {
    private static final Logger           LOGGER      = LoggerFactory.getLogger(SoapClient.class);
    private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat(&quot;EEEE, MMMM d yyyy&quot;);

    public static void main(String[] args) {
        try {
            LOGGER.debug(&quot;Creating weather service instance (Note: Weather = Service subclass)...&quot;);
            long start = new Date().getTime();
            // Get a reference to the SOAP service interface.
            Weather weatherService = new Weather();
            WeatherSoap weatherSoap = weatherService.getWeatherSoap();
            // An alternate way to get the SOAP service interface; includes logging interceptors.
            // JaxWsProxyFactoryBean factory = new org.apache.cxf.jaxws.JaxWsProxyFactoryBean();
            // factory.setServiceClass(WeatherSoap.class);
            // factory.setAddress(&quot;http://ws.cdyne.com/WeatherWS/Weather.asmx&quot;);
            // factory.getInInterceptors().add(new org.apache.cxf.interceptor.LoggingInInterceptor());
            // factory.getOutInterceptors().add(new org.apache.cxf.interceptor.LoggingOutInterceptor());
            // WeatherSoap weatherSoap = (WeatherSoap) factory.create();
            long end = new Date().getTime();
            LOGGER.debug(&quot;...Done! weatherService instance: {}&quot;, weatherService);
            LOGGER.debug(&quot;Time required to initialize weather service interface: {} seconds&quot;, (end - start) / 1000f);

            // Send a SOAP weather request for zip code 94025 (Menlo Park, CA, USA).
            LOGGER.debug(&quot;weatherSoap instance: {}&quot;, weatherSoap);
            start = new Date().getTime();
            ForecastReturn forecastReturn = weatherSoap.getCityForecastByZIP(&quot;94025&quot;);
            end = new Date().getTime();
            LOGGER.debug(&quot;Time required to invoke 'getCityForecastByZIP': {} seconds&quot;, (end - start) / 1000f);
            LOGGER.debug(&quot;forecastReturn: {}&quot;, forecastReturn);
            LOGGER.debug(&quot;forecastReturn city: {}&quot;, forecastReturn.getCity());
            LOGGER.debug(&quot;forecastReturn state: {}&quot;, forecastReturn.getState());
            LOGGER.debug(&quot;forecastReturn result: {}&quot;, forecastReturn.getForecastResult());
            LOGGER.debug(&quot;forecastReturn response text: {}&quot;, forecastReturn.getResponseText());
            LOGGER.debug(&quot;&quot;);
            List&lt;Forecast&gt; forecasts = forecastReturn.getForecastResult().getForecast();
            for (Forecast forecast : forecasts) {
                LOGGER.debug(&quot;  forecast date: {}&quot;, DATE_FORMAT.format(forecast.getDate().toGregorianCalendar().getTime()));
                LOGGER.debug(&quot;  forecast description: {}&quot;, forecast.getDesciption());
                Temp temps = forecast.getTemperatures();
                LOGGER.debug(&quot;  forecast temperature high: {}&quot;, temps.getDaytimeHigh());
                LOGGER.debug(&quot;  forecast temperature low: {}&quot;, temps.getMorningLow());
                POP pop = forecast.getProbabilityOfPrecipiation();
                LOGGER.debug(&quot;  forecast precipitation day: {}%&quot;, pop.getDaytime());
                LOGGER.debug(&quot;  forecast precipitation night: {}%&quot;, pop.getNighttime());
                LOGGER.debug(&quot;&quot;);
            }
            LOGGER.debug(&quot;Program complete, exiting&quot;);
        }
        catch (Exception e) {
            LOGGER.error(&quot;An exception occurred, exiting&quot;, e);
        }
    }

}
</pre>
<p>Note that we&#8217;re importing the stubs as <b>import com.cdyne.ws.weatherws.Forecast</b>, etc, within the client program.  The client is also hard-coded to get the weather report from the 94025 zip code, although you could easily alter the client to take the zip code as a command-line argument.</p>
<h3>The All-Important CXF Client Configuration File</h3>
<p>This is the part of the development process that threw me for a loop.  I didn&#8217;t see any CXF documentation that indicated a <tt>cxf.xml</tt> file needs to be in the classpath of the client, so I hadn&#8217;t included one in the project.  My client program kept failing with a (very cryptic, very unhelpful) CXF <i>BusException</i> (the complete message was <b>org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/soap/ registered</b>, which I&#8217;m mentioning here in case anyone else is Googling with the same problem).</p>
<p>Sure, there are plenty of CXF tutorials on the Internet, but they mostly seem to build a client and a service in the same project (sharing a cxf.xml file) and I had assumed the configuration file was for configuring only the <i>server</i>.  Silly me.  </p>
<p>It took me several <i>days</i> of Googling, trying different JAR dependencies, Googling again, testing various source code modifications, Googling some more, asking for help on the cxf-user mail list &#8212; all to no avail.  </p>
<p>Eventually, while reading the solution to an unrelated problem, I finally discovered the cause.  On start-up for a server OR A CLIENT, the CXF system looks for a cxf.xml file, and fails without it.  Just for the record, the BusException message is incredibly unhelpful.  Grrr!!  I think it should read something like <b>org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/soap/ registered <i>(did you include a cxf.xml file somewhere in the classpath?)</i></b>, or some such.</p>
<p>Anyhoo, here&#8217;s the CXF configuration file I used.  Not much to it.  It&#8217;s basically just a trivial Spring configuration with three lines of imports.</p>
<p><tt>weather-client/src/main/resources/<b>cxf.xml</b></tt></p>
<pre class="brush: xml; title: ; notranslate">
&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
    xmlns:http-conf=&quot;http://cxf.apache.org/transports/http/configuration&quot;
    xsi:schemaLocation=&quot;http://cxf.apache.org/transports/http/configuration

http://cxf.apache.org/schemas/configuration/http-conf.xsd

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd&quot;&gt;

    &lt;import resource=&quot;classpath:META-INF/cxf/cxf.xml&quot;/&gt;
    &lt;import resource=&quot;classpath:META-INF/cxf/cxf-extension-soap.xml&quot;/&gt;
    &lt;import resource=&quot;classpath:META-INF/cxf/cxf-servlet.xml&quot;/&gt;

&lt;/beans&gt;
</pre>
<p>Good thing this is easier than Axis.</p>
<h3>Logging Configuration</h3>
<p>For completeness, I&#8217;ve included the logging file I used.  Since we&#8217;re using LOG4J as the logging layer under SLF4J, we need to supply a log4j.properties file.</p>
<p><tt>weather-client/src/main/resources/<b>log4j.properties</b></tt></p>
<pre class="brush: java; title: ; notranslate">
log4j.rootCategory=WARN, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%d{ABSOLUTE} %-5p %c{1}]: %m%n
log4j.logger.com.logicsector=DEBUG
</pre>
<h3>Building and Running the Client</h3>
<p>Once you have all the code in order, it&#8217;s time to build it.  From within the <tt>weather-client</tt> directory, just use the previously-mentioned Maven build command to create a JAR file with dependencies:</p>
<p><tt>mvn assembly:assembly</tt></p>
<p>Now we can run the client.  As mentioned previously, the client is hard-coded to get the weather report for the 94025 zip code (Menlo Park, California).  From within the <tt>weather-client</tt> directory, the following command will start the client and invoke the service:</p>
<p><tt>java -cp target/weather-client-jar-with-dependencies.jar com.logicsector.soapclient.SoapClient</tt></p>
<p>The command above should all be on a single line. Note you may need to change your path separator if you&#8217;re not on a Unix-based system. If everything went smoothly you should see output something like this:</p>
<pre class="brush: java; title: ; notranslate">
[17:31:06,278 DEBUG SoapClient]: Creating weather service instance (Note: Weather = Service subclass)...
Oct 18, 2008 5:31:08 PM org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL
INFO: Creating Service {http://ws.cdyne.com/WeatherWS/}Weather from WSDL: file:/c:/Projects/weather-client/src/main/wsdl/weat
her.wsdl
[17:31:08,325 DEBUG SoapClient]: ...Done! weatherService instance: com.cdyne.ws.weatherws.Weather@754fc
[17:31:08,325 DEBUG SoapClient]: Time required to initialize weather service interface: 2.047 seconds
[17:31:08,325 DEBUG SoapClient]: weatherSoap instance: org.apache.cxf.jaxws.JaxWsClientProxy@6458a6
[17:31:08,825 DEBUG SoapClient]: Time required to invoke 'getCityForecastByZIP': 0.5 seconds
[17:31:08,825 DEBUG SoapClient]: forecastReturn: com.cdyne.ws.weatherws.ForecastReturn@aea710
[17:31:08,825 DEBUG SoapClient]: forecastReturn city: Menlo Park
[17:31:08,825 DEBUG SoapClient]: forecastReturn state: CA
[17:31:08,825 DEBUG SoapClient]: forecastReturn result: com.cdyne.ws.weatherws.ArrayOfForecast@5a2eaa
[17:31:08,825 DEBUG SoapClient]: forecastReturn response text: City Found
[17:31:08,825 DEBUG SoapClient]:
[17:31:08,825 DEBUG SoapClient]:   forecast date: Friday, October 17 2008
[17:31:08,825 DEBUG SoapClient]:   forecast description: Sunny
[17:31:08,825 DEBUG SoapClient]:   forecast temperature high: 82
[17:31:08,825 DEBUG SoapClient]:   forecast temperature low: 58
[17:31:08,825 DEBUG SoapClient]:   forecast precipitation day: 00%
[17:31:08,825 DEBUG SoapClient]:   forecast precipitation night: 00%
[17:31:08,825 DEBUG SoapClient]:
[17:31:08,825 DEBUG SoapClient]:   forecast date: Saturday, October 18 2008
[17:31:08,825 DEBUG SoapClient]:   forecast description: Sunny
[17:31:08,841 DEBUG SoapClient]:   forecast temperature high: 73
[17:31:08,841 DEBUG SoapClient]:   forecast temperature low: 55
[17:31:08,841 DEBUG SoapClient]:   forecast precipitation day: 00%
[17:31:08,841 DEBUG SoapClient]:   forecast precipitation night: 00%
[17:31:08,841 DEBUG SoapClient]:
[17:31:08,841 DEBUG SoapClient]:   forecast date: Sunday, October 19 2008
[17:31:08,841 DEBUG SoapClient]:   forecast description: Partly Cloudy
[17:31:08,841 DEBUG SoapClient]:   forecast temperature high: 70
[17:31:08,841 DEBUG SoapClient]:   forecast temperature low: 55
[17:31:08,841 DEBUG SoapClient]:   forecast precipitation day: 00%
[17:31:08,841 DEBUG SoapClient]:   forecast precipitation night: 00%
[17:31:08,841 DEBUG SoapClient]:
[17:31:08,841 DEBUG SoapClient]:   forecast date: Monday, October 20 2008
[17:31:08,841 DEBUG SoapClient]:   forecast description: Partly Cloudy
[17:31:08,841 DEBUG SoapClient]:   forecast temperature high: 70
[17:31:08,841 DEBUG SoapClient]:   forecast temperature low: 53
[17:31:08,841 DEBUG SoapClient]:   forecast precipitation day: 00%
[17:31:08,841 DEBUG SoapClient]:   forecast precipitation night: 00%
[17:31:08,841 DEBUG SoapClient]:
[17:31:08,841 DEBUG SoapClient]:   forecast date: Tuesday, October 21 2008
[17:31:08,856 DEBUG SoapClient]:   forecast description: Sunny
[17:31:08,856 DEBUG SoapClient]:   forecast temperature high: 73
[17:31:08,856 DEBUG SoapClient]:   forecast temperature low: 54
[17:31:08,856 DEBUG SoapClient]:   forecast precipitation day: 00%
[17:31:08,856 DEBUG SoapClient]:   forecast precipitation night: 10%
[17:31:08,856 DEBUG SoapClient]:
[17:31:08,856 DEBUG SoapClient]:   forecast date: Wednesday, October 22 2008
[17:31:08,856 DEBUG SoapClient]:   forecast description: Sunny
[17:31:08,856 DEBUG SoapClient]:   forecast temperature high: 74
[17:31:08,856 DEBUG SoapClient]:   forecast temperature low: 55
[17:31:08,856 DEBUG SoapClient]:   forecast precipitation day: 00%
[17:31:08,856 DEBUG SoapClient]:   forecast precipitation night: 00%
[17:31:08,856 DEBUG SoapClient]:
[17:31:08,856 DEBUG SoapClient]:   forecast date: Thursday, October 23 2008
[17:31:08,856 DEBUG SoapClient]:   forecast description: Sunny
[17:31:08,856 DEBUG SoapClient]:   forecast temperature high: 73
[17:31:08,856 DEBUG SoapClient]:   forecast temperature low: 55
[17:31:08,856 DEBUG SoapClient]:   forecast precipitation day: 00%
[17:31:08,856 DEBUG SoapClient]:   forecast precipitation night: 00%
[17:31:08,856 DEBUG SoapClient]:
[17:31:08,856 DEBUG SoapClient]: Program complete, exiting
</pre>
<p>Interestingly, it takes 2 seconds on my machine to initialize the interface, which seems like a really long time.  CXF is probably doing a lot of stuff under the covers, but still, 2 seconds is <i>forever</i> in computer time.</p>
<p>The call to the weather service interface, once initialized, takes about half a second every time, which includes marshalling a SOAP request, sending it over the internet, receiving the response, and unmarshalling its contents.  Not too bad I guess.</p>
<h3>Concluding Thoughts</h3>
<p>Hopefully this example will form the basis of your next SOAP client.  It really is pretty easy once you see a complete and working example.</p>
<p>If you were ambitious, parts of this code could easily be incorporated into a web application that provides a weather report for the user.  You&#8217;d simply create a servlet that takes the zip code as a parameter, invokes the SOAP service, and shows the weather report in the response.  In other words, the technique of calling the SOAP service would be the same even if this was a web application.</p>
<p>Well, that&#8217;s the end of my post about creating a CXF client with Maven.  I&#8217;d love to read your comments if you found this post helpful.</p>
<h3><i>EDIT:</i> Download the Source!</h3>
<p>All the code necessary to build the project is listed above.  However, to save time, you can simply <a href="http://www.logicsector.com/wp-content/uploads/2011/12/weather-client.zip">download the code</a> from my web site.  Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.logicsector.com/java/how-to-create-a-wsdl-first-soap-client-in-java-with-cxf-and-maven/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>BMW Angel Eyes</title>
		<link>http://www.logicsector.com/bmw/angel-eyes/</link>
		<comments>http://www.logicsector.com/bmw/angel-eyes/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 06:55:34 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[bmw]]></category>
		<category><![CDATA[angel eyes]]></category>
		<category><![CDATA[halos]]></category>

		<guid isPermaLink="false">http://www.logicsector.com/?p=73</guid>
		<description><![CDATA[Some German cars come with &#8220;bling&#8221;. For example, Audis have a rope of LED &#8220;Christmas lights&#8221; under the headlights. New BMWs these days come with bright pure white halos around the headlights. These provide a unique high-tech look and are often called &#8220;angel eyes&#8221;. Angel eyes have changed over the years. BMWs that shipped back [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.logicsector.com/bmw/angel-eyes/"><img class="alignright" title="MTEC angel eyes" src="http://www.e92-lighting.com/images/mteca.jpg" alt="" width="46%" /></a>Some German cars come with &#8220;bling&#8221;. For example, Audis have a rope of LED &#8220;Christmas lights&#8221; under the headlights. New BMWs these days come with bright pure white halos around the headlights. These provide a unique high-tech look and are often called &#8220;angel eyes&#8221;.</p>
<p>Angel eyes have changed over the years. BMWs that shipped back in 2005 (the year my car was built) have a much dimmer, yellowish halos as original equipment. Fortunately the aftermarket has stepped up to offer upgrades to our dim, yellow halos.</p>
<p>The first generation of angel eye upgrades were just as dim as BMW&#8217;s original equipment at about 1 Watt, but they changed the yellow halos to white.</p>
<p>The latest aftermarket halo upgrades are not only white, but much brighter than the original halo upgrades. They&#8217;re still not quite as bright as halos on a new BMW, perhaps, but not too shabby either.</p>
<p>Armed with the above information I went searching for a nice halo upgrade. Here&#8217;s what I found. <span id="more-73"></span></p>
<h5>Where To Buy</h5>
<p>I discovered that a company called MTEC offers an upgrade to pure white halos that are rated at 6W with their so-called &#8220;V3&#8243; model. The LEDs in these units are made by Cree. These halos are about as bright as you can get, currently, without some extensive modifications to the car.</p>
<p>You can pick up MTEC parts at various online resellers or directly off eBay. I went the eBay route by purchasing from a vendor named &#8220;mtecpower&#8221;. If you&#8217;re an e63/e64 BMW driver you can find the right angel eyes by <a href="http://shop.ebay.com/i.html?_nkw=mtec+v3+cree+e64&amp;_sacat=0&amp;_odkw=mtec+v3+e64&amp;_osacat=0&amp;_trksid=p3286.c0.m270.l1313">clicking this eBay search link</a>. Total price should be less than $200.</p>
<h5>A Note About Installation</h5>
<p>The nice thing about the MTEC upgrades is that they are really easy to do yourself. It took me about 15 minutes to swap out both halo lights, but if I had known what I was doing it would have literally taken about 5 minutes. The only price was some scuffed knuckles and a cut pinky finger. For a 6 series like mine the headlights themselves don&#8217;t need to be removed, only the halo bulbs.</p>
<p>Note that to perform the upgrade you have to have pretty small hands since the gap in the engine bay near the halo bulbs is pretty tight. My pudgy hands barely fit.</p>
<p><a href="http://www.youtube.com/watch?v=E_xdeWqv5u4">Here is a link to a YouTube video that shows how it&#8217;s done.</a></p>
<h5>How It Looks</h5>
<p>With no further ado, here is the new look that shows the difference&#8230;</p>
<div id="attachment_86" class="wp-caption alignnone" style="width: 310px"><a href="http://www.logicsector.com/wp-content/uploads/2011/08/IMG_0206.jpg"><img class="size-medium wp-image-86" title="Halo Partial Install" src="http://www.logicsector.com/wp-content/uploads/2011/08/IMG_0206-300x224.jpg" alt="" width="300" height="224" /></a><p class="wp-caption-text">New halo on left, OEM halo on right. Taken in late afternoon.</p></div>
<div id="attachment_87" class="wp-caption alignnone" style="width: 310px"><a href="http://www.logicsector.com/wp-content/uploads/2011/08/IMG_0227.jpg"><img class="size-medium wp-image-87" title="MTEC Halo" src="http://www.logicsector.com/wp-content/uploads/2011/08/IMG_0227-300x224.jpg" alt="" width="300" height="224" /></a><p class="wp-caption-text">MTEC V3 halo upgrades installed in my car. Nice and bright!</p></div>
<div id="attachment_88" class="wp-caption alignnone" style="width: 310px"><a href="http://www.logicsector.com/wp-content/uploads/2011/08/IMG_0218.jpg"><img class="size-medium wp-image-88" title="MTEC V3 Halo With Headlight" src="http://www.logicsector.com/wp-content/uploads/2011/08/IMG_0218-300x224.jpg" alt="" width="300" height="224" /></a><p class="wp-caption-text">Headlight lit along with upgraded halos. Note white halo color matches headlight now.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.logicsector.com/bmw/angel-eyes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

