<?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>readme.blog &#187; Technology</title>
	<atom:link href="http://weblog.bbzzdd.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.bbzzdd.com</link>
	<description></description>
	<lastBuildDate>Wed, 17 Nov 2010 19:47:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Throttling Bandwidth in Mac OS X</title>
		<link>http://weblog.bbzzdd.com/2010/11/16/throttling-bandwidth-in-mac-os-x/</link>
		<comments>http://weblog.bbzzdd.com/2010/11/16/throttling-bandwidth-in-mac-os-x/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 14:53:57 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Technology]]></category>
<category>ipfw</category><category>mac</category><category>os x</category><category>throttle</category>
		<guid isPermaLink="false">http://weblog.bbzzdd.com/?p=170</guid>
		<description><![CDATA[I recently had the need to simulate the speed of a home broadband connection (10Mb/s down, 64Kb/s up) in an environment with 100Mb/s down and 60Mb/s up. With Mac OS X this is quite easy to do. First of all, if you&#8217;re throttling HTTP traffic only, it&#8217;s probably easier to use a debugging proxy like [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had the need to simulate the speed of a home broadband connection (10Mb/s down, 64Kb/s up) in an environment with 100Mb/s down and 60Mb/s up.  With Mac OS X this is quite easy to do.</p>
<p>First of all, if you&#8217;re throttling HTTP traffic only, it&#8217;s probably easier to use a debugging proxy like <a href="http://www.charlesproxy.com/">Charles</a> to do so.   Otherwise, Mac OS X includes a tool called <a href="http://en.wikipedia.org/wiki/Ipfirewall">ipfw</a> (ipfirewall) built in which is able to throttle traffic system-wide.</p>
<p><strong>throttle.sh</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">LIMIT_DOWN</span>=<span style="color: #ff0000;">&quot;10Mbits/s&quot;</span>
<span style="color: #007800;">LIMIT_UP</span>=<span style="color: #ff0000;">&quot;64Kbytes/s&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$EUID</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
   <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;This script must be run as root.&quot;</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
   <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
ipfw pipe <span style="color: #000000;">1</span> config bw <span style="color: #007800;">$LIMIT_DOWN</span>
ipfw pipe <span style="color: #000000;">2</span> config bw <span style="color: #007800;">$LIMIT_UP</span>
ipfw add <span style="color: #000000;">1</span> pipe <span style="color: #000000;">1</span> tcp from any to me
ipfw add <span style="color: #000000;">2</span> pipe <span style="color: #000000;">2</span> tcp from me to any</pre></div></div>

<p>The script above will throttle the connection to 10Mb/s down and 64Kb/s up.  This script must be run as root via the <a href="http://en.wikipedia.org/wiki/Sudo">sudo</a> command:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">chris<span style="color: #000000; font-weight: bold;">@</span>macbookpro:~<span style="color: #000000; font-weight: bold;">/</span>bin$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> .<span style="color: #000000; font-weight: bold;">/</span>throttle.sh</pre></div></div>

<p>To undo the throttling, use the following script.</p>
<p><strong>unthrottle.sh</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$EUID</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
   <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;This script must be run as root.&quot;</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
   <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
ipfw delete <span style="color: #000000;">1</span>
ipfw delete <span style="color: #000000;">2</span></pre></div></div>

<p>Again, run the script as root.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">chris<span style="color: #000000; font-weight: bold;">@</span>macbookpro:~<span style="color: #000000; font-weight: bold;">/</span>bin$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> .<span style="color: #000000; font-weight: bold;">/</span>unthrottle.sh</pre></div></div>

<a href="http://weblog.bbzzdd.com/tag/ipfw" rel="tag">ipfw</a>, <a href="http://weblog.bbzzdd.com/tag/mac" rel="tag">mac</a>, <a href="http://weblog.bbzzdd.com/tag/os-x" rel="tag">os x</a>, <a href="http://weblog.bbzzdd.com/tag/throttle" rel="tag">throttle</a>]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2010/11/16/throttling-bandwidth-in-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chris vs. Synergy</title>
		<link>http://weblog.bbzzdd.com/2010/11/14/chris-vs-synergy/</link>
		<comments>http://weblog.bbzzdd.com/2010/11/14/chris-vs-synergy/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 22:38:24 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
<category>htpc</category><category>os x</category><category>synergy</category><category>windows 7</category>
		<guid isPermaLink="false">http://weblog.bbzzdd.com/?p=115</guid>
		<description><![CDATA[My HTPC setup was less than ideal, seeing how it was basically a mini tower stuffed in a desk by the TV, so I decided to move the system into my wall unit proper. To do this, the first thing I needed a smaller case for the PC. After a lot of research, I decided [...]]]></description>
			<content:encoded><![CDATA[<p>My HTPC setup was less than ideal, seeing how it was basically a mini tower stuffed in a desk by the TV,  so I decided to move the system into my wall unit proper.  To do this, the first thing I needed a smaller case for the PC.   After a lot of research, I decided on the <a href="http://www.antec.com/Believe_it/product1.php?id=NzE4">Antec Fusion Black</a>.</p>
<p>It&#8217;s a really nice case.   It runs quiet and cool and it looks like an everyday receiver, not a PC, which is exactly what I wanted.  One thing though, the front LCD display is horrendous.  I recommend just leaving it turned off.  It&#8217;s very washed out, has slow refresh rate, and IMO there&#8217;s no need to look that the front to the PC to see the name of the movie you&#8217;re playing.</p>
<p>My mouse and keyboard are a <a href="http://www.logitech.com/en-us/428/163?section=downloads">Logitech G7</a> and an <a href="http://www.apple.com/keyboard/">Apple Wireless Keyboard</a>.  I installed the USB dongles for RF and Bluetooth inside the case thanks to a couple of <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16812200294&#038;cm_re=usb_header-_-12-200-294-_-Product">USB 4-pin to female adapters</a>. </p>
<p>After setting up the keyboard and mouse on the coffee table, I realized why I rarely use the HTPC &#8212; it&#8217;s just so counter intuitive to a have a KB/M out all the time,  especially when my MacBook Pro is always out anyway.  Waitaminute!</p>
<p>Enter <a href="http://synergy-foss.org/">Synergy</a>.  What is Synergy?  It&#8217;s is a really neat application that allows you to share a keyboard and mouse across multiple devices.  It&#8217;s sort of the same concept of a KV/M but turned upside-down, not to mention not as clumsy or expensive, not to mention to toggle switch!   With Synergy you install the software, do a simple *cough*BS*cough* config, and you&#8217;re sharing your keyboard and mouse between systems.</p>
<p>Ok, setup was not so easy.  On client side, the PC, I&#8217;m running Windows 7 Ultimate x64.  I installed the <a href="http://synergy-foss.org/pm/projects/synergy/tabs/download">latest stable release of Synergy</a> thinking that was my best bet, but I was wrong.  The problem is Synergy needs to run as administrator or when an <a href="http://en.wikipedia.org/wiki/User_Account_Control">UAC</a> prompt pops out you lose control of the keyboard and mouse.  </p>
<p>The solution was to install the latest beta (I grabbed 1.4.1) for Windows and have it run as a service.  This way Synergy has the privileges to interact with UAC prompts and you don&#8217;t need to keep a keyboard under the couch for UAC prompts alone.</p>
<p>The server side, the Mac, was a lot harder to configure.  The server runs as a daemon, meaning there&#8217;s no UI, so config is an under-the-hood experience.  There is a product called <a href="http://sourceforge.net/projects/synergykm/">SynergyKM</a> which has a UI configuration, but based on my evaluation it would not fit my needs.  Time to roll up my sleeves.</p>
<p>I used <a href="http://www.macports.org/">MacPorts</a> to install the Synergy binaries:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">chris<span style="color: #000000; font-weight: bold;">@</span>macbookpro:~$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> synergy</pre></div></div>

<p>If you don&#8217;t have MacPorts you can install Synergy by <a href="http://synergy-foss.org/pm/projects/synergy/tabs/download">by downloading</a> it from the web site.   The current MacPorts version is a few point releases behind, but that&#8217;s not a problem for me.</p>
<p>My config is fairly straight-forward with a couple of exceptions.  I treat the PC as being to the right of the MacBook.  That means when I move my mouse to the right of the screen it appears on the PC.   I wanted control-click to act like a right mouse button click as it does on the Mac and Command to act as Control on the PC.  That way I don&#8217;t have to Command-C to copy on the Mac and Control-V to paste on the PC, I can just use Command for everything.  Finally, I wanted Option-Command-Plus and  Option-Command-Minus to zoom the screen via Windows Magnifier (it&#8217;s hard to see tiny text from six feet away).</p>
<p>Here&#8217;s my config file, which I store in ~/.synergy/synergy.conf</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"> section: screens
    macbookpro:
    monster:
        super = alt
        alt = ctrl
        meta = super
 end
 section: aliases
    macbookpro: 
        macbookpro.local
 end
 section: links
    macbookpro:
        right = monster
    monster:
        left = macbookpro.local
 end
 section: <span style="color: #00007f;">options</span>
    mousebutton(control+<span style="color: #ff0000;">1</span>) = mousebutton(<span style="color: #ff0000;">3</span>)
    keystroke(super+alt+Plus) = keystroke(meta+Plus)
    keystroke(super+alt+Minus) = keystroke(meta+Minus)
 end</pre></div></div>

<p>Section by section. &#8220;screens&#8221; defines the system.  &#8220;monster&#8221; is my PC and obviously &#8220;macbookpro&#8221; is the Mac.    </p>
<p>The block&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">    super = alt
    alt = ctrl
    meta = super</pre></div></div>

<p>&#8230;is where I map the keys for Command and Option.  The names are misleading in Synergy.  On the Mac side, &#8220;super&#8221; is the Option key, &#8220;alt&#8221; is the Command key and &#8220;ctrl&#8221; is control.  There is no &#8220;meta&#8221; key.  Why that&#8217;s in the config will be explained later.</p>
<p>&#8220;aliases&#8221; simply maps the OS X name for the host to a more friendly format:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">     section: aliases
        macbookpro: 
            macbookpro.local
     end</pre></div></div>

<p>&#8220;links&#8221; is a straight-forward section:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">    macbookpro:
        right = monster
    monster:
        left = macbookpro</pre></div></div>

<p>Here the Mac is treated as the left screen, PC is on the right.</p>
<p>Finally, &#8220;options&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">     section: <span style="color: #00007f;">options</span>
        mousebutton(control+<span style="color: #ff0000;">1</span>) = mousebutton(<span style="color: #ff0000;">3</span>)
        keystroke(super+alt+Plus) = keystroke(meta+Plus)
        keystroke(super+alt+Minus) = keystroke(meta+Minus)
     end</pre></div></div>

<p>The first directive maps Control + Click to the right mouse button on the PC.   The next two define Option + Command + (Plus | Minus) to the zoom commands on Windows 7 (Windows Key + [Plus | Minus]).  If you remember from before &#8220;meta&#8221; on the Mac maps to &#8220;Super&#8221; on the PC, which is the Windows key, so we define a faux mapping for &#8220;meta&#8221; to do this.  Yes, it <em>is</em> as confusing as it reads.</p>
<p>Now if you run the synergy server from the terminal,  you can test it out:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">chris<span style="color: #000000; font-weight: bold;">@</span>macbookpro:~$ synergys <span style="color: #660033;">-f</span> <span style="color: #660033;">--config</span> ~<span style="color: #000000; font-weight: bold;">/</span>.synergy<span style="color: #000000; font-weight: bold;">/</span>synergy.conf</pre></div></div>

<p>If that command does not bomb out you&#8217;re in good shape, so far.</p>
<p>Now to get Synergy to run when you log in is a challenge.  This is accomplished through <a href="http://developer.apple.com/macosx/launchd.html">launchd</a>.  </p>
<p>I created the following file as ~/Library/LaunchAgents/net.sourceforge.synergy2.plist:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #00bbdd;">&lt;!DOCTYPE plist PUBLIC &quot;-//Apple Computer//DTD PLIST 1.0//EN&quot; </span>
<span style="color: #00bbdd;">&quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;plist</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;dict<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Label<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>net.sourceforge.synergy2<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>ProgramArguments<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;array<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>/Users/chris/bin/synergy.sh<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/array<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>RunAtLoad<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;true</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/dict<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/plist<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>This will launch a shell script in my local bin directory at login.  For me the script is ~/bin/synergy.sh.  The contents are:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /bin/sh</span>
&nbsp;
<span style="color: #007800;">SYNERGYS</span>=<span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>synergys
<span style="color: #007800;">CONFIG</span>=<span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>chris<span style="color: #000000; font-weight: bold;">/</span>.synergy<span style="color: #000000; font-weight: bold;">/</span>synergy.conf
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #c20cb9; font-weight: bold;">ps</span> axco <span style="color: #7a0874; font-weight: bold;">command</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-q</span> <span style="color: #ff0000;">&quot;^synergys<span style="color: #000099; font-weight: bold;">\$</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">then</span>    
    <span style="color: #007800;">$SYNERGYS</span> <span style="color: #660033;">--daemon</span> <span style="color: #660033;">--config</span> <span style="color: #007800;">$CONFIG</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;synergys failed to load.&quot;</span>
    <span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">else</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;synergys already loaded.&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>This script looks to see if the Synergy server is running, if not it will launch it.  Pretty simple.</p>
<p>That&#8217;s about it.   If anything fails be sure to check Console (Command-Space and type &#8220;Console&#8221;).</p>
<p>One very cool thing is the multi-touch commands are at a very low level of the  OS, so two-finger scroll etc. will all work on the Windows side just as it does on the Mac.</p>
<a href="http://weblog.bbzzdd.com/tag/htpc" rel="tag">htpc</a>, <a href="http://weblog.bbzzdd.com/tag/os-x" rel="tag">os x</a>, <a href="http://weblog.bbzzdd.com/tag/synergy" rel="tag">synergy</a>, <a href="http://weblog.bbzzdd.com/tag/windows-7" rel="tag">windows 7</a>]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2010/11/14/chris-vs-synergy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Home Theatre</title>
		<link>http://weblog.bbzzdd.com/2008/02/16/home-theatre/</link>
		<comments>http://weblog.bbzzdd.com/2008/02/16/home-theatre/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 18:08:17 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[hdtv]]></category>
<category>hdtv</category>
		<guid isPermaLink="false">http://weblog.bbzzdd.com/2008/02/16/home-theatre/</guid>
		<description><![CDATA[This project is complete for now. I&#8217;m waiting a couple of years to see how OLED or SED pans out before replacing the display, but the major additions are done. TV: Samsung LN-T4665F 46&#8243; LCD Receiver: Onkyo TX-SR605 7.1 receiver Speakers: Paradigm CC-70 Center, 4x Paradigm Atom DVR: Scientific Atlanta 8300HD (running Passport) Console/Blu-ray: Playstation [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2008/02/home-theatre.png' alt='home-theatre.png' /></p>
<p>This project is complete for now.  I&#8217;m waiting a couple of years to see how OLED or SED pans out before replacing the display, but the major additions are done.</p>
<p><strong>TV: </strong>Samsung LN-T4665F 46&#8243; LCD<br />
<strong>Receiver: </strong>Onkyo TX-SR605 7.1 receiver<strong><br />
Speakers: </strong>Paradigm CC-70 Center, 4x Paradigm Atom<strong><br />
DVR: </strong>Scientific Atlanta 8300HD (running Passport)<br />
<strong>Console/Blu-ray: </strong> Playstation 3 (60GB)<br />
<strong>Console: </strong>Xbox 360 Elite (Falcon)<br />
<strong>PC: </strong>Home-built Asus P5E-VM HDMI E6400 @ 3.2Ghz, eVGA 7950 GT KO<br />
<strong>Music: </strong>Apple Airport Express<br />
<strong>Router: </strong>Linksys WRT54G running DD-WRT<br />
<strong>Power: </strong>Panamax M4300-PM Line conditioner<br />
<strong>Remote: </strong>Logitech Harmony 550 Advanced Universal Remote<br />
<strong>Keyboard: </strong>Apple Wireless Keyboard (aluminum)<br />
<strong>Mouse: </strong>Logitech G7 gaming mouse</p>
<p>An AppleTV may be in the future, but $230 for the privilege of renting movies is not worth it, especially since I have a PC directly plugged into the setup.  I don&#8217;t see any of the digital download/streaming services working for layfolk without a standard set top box solution in the picture.   Apple TV is a possible contender to be that device.  Using Unbox, Netflix, Joost, etc. made no sense until I had the PC jacked right into my HT setup.  I don&#8217;t see any layperson going that route though.</p>
<p>I know I was a <a href="http://weblog.bbzzdd.com/2007/08/04/optimizing-tversity-for-the-ps3-part-i/">big proponent of streaming</a>, but all the hassle of TVsersity, Windows Media Center, etc. seems like such a pain-in-the-ass compared to playing content directly from the PC in <a href="http://www.inmatrix.com/files/zoomplayer_download.shtml">Zoom Player</a>.  I realize this is not a viable option for everyone.</p>
<p>This has turned out to be a fun (albeit expensive) hobby.  I can wait to get a house so I can go big time with it.</p>
<a href="http://weblog.bbzzdd.com/tag/hdtv" rel="tag">hdtv</a>]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2008/02/16/home-theatre/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Optimizing TVersity for the PS3 (Part I)</title>
		<link>http://weblog.bbzzdd.com/2007/08/04/optimizing-tversity-for-the-ps3-part-i/</link>
		<comments>http://weblog.bbzzdd.com/2007/08/04/optimizing-tversity-for-the-ps3-part-i/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 17:49:57 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Technology]]></category>
<category>hdtv</category><category>PS3</category><category>tversity</category>
		<guid isPermaLink="false">http://weblog.bbzzdd.com/2007/08/04/optimizing-tversity-for-the-ps3-part-i/</guid>
		<description><![CDATA[With the introduction of firmware 1.80, the Playstation 3 has become a full-fledged media center device, thanks mainly to DLNA (Digital Living Network Alliance) support. There has however been a lot of confusion on how to get the PS3 working with the various DLNA and UPnP (Universal Plug and Play) servers. There are quite a [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/tversity-xmb.png' alt='tversity-xmb.png' /></p>
<p>With the introduction of <a href="http://manuals.playstation.net/document/en/ps3/current/index.html">firmware 1.80</a>, the Playstation 3 has become a full-fledged media center device, thanks mainly to <a href="http://www.dlna.org/en/consumer/home">DLNA</a> (Digital Living Network Alliance) support.  There has however been a lot of confusion on how to get the PS3 working with the various DLNA and <a href="http://en.wikipedia.org/wiki/Universal_Plug_and_Play">UPnP</a> (Universal Plug and Play) servers.  There are quite a few servers available, including <a href="http://tversity.com/">TVersity</a>, <a href="http://www.twonkyvision.de">TwonkyMedia</a>, <a href="http://www.nero.com/nero7/eng/Nero_MediaHome.html">Nero MediaHome</a>, and <a href="http://www.microsoft.com/windows/windowsmedia/player/11/default.aspx">Windows Media Player 11</a>.  This guide will focus on TVersity, as it is currently the most popular and full-featured solution available.</p>
<p>The main benefit of TVersity is its ability to transcode media into a format the client device can process.  Currently, the PS3 can only render MPEG and AVS (H.264) formats.  This is a problem because the majority of content available on the Internet is in alternative and open formats such as Xvid, Divx, and x264.   This guide will explain how to optimize TVersity to stream these formats at the best quality possible.  </p>
<p>What you will find here is the result of scouring countless forums, trial and error, and good old fashion common sense.  The goal here is not to take credit for discovering the optimal settings for streaming media with TVersity, but to get everything down one place, written in a clean, concise fashion.</p>
<p><strong>Step 1: Clean Out Your Codecs</strong></p>
<p>The number one reason people have problems with TVersity is that the codecs installed on their system are not in order.  The majority of  &#8220;Unsupported Format&#8221; and &#8220;Corrupt Data&#8221; errors are the result of missing or invalid codecs.  </p>
<p>The first thing to do is to get rid of all the disparate codecs installed on your system.  This includes stand-alone Xvid, etc. codecs as well as installs you may not suspect such as Nero Premium and tools like <a href="http://www.brizsoft.com/avisplit/">AVI Splitter</a>.   </p>
<p>A good test to see if your system is clean is to try and play a Xvid or x264 file from <a href="http://sourceforge.net/projects/guliverkli/">Media Player Classic</a> or <a href="http://www.videolan.org/vlc/">VLC</a> and it <strong>not</strong> playing.  If the video renders there&#8217;s a codec still installed on your PC and you need to track it down and uninstall it.</p>
<p><strong>Step 2: Install CCCP (Combined Community Codec Pack)</strong></p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/cccp-white2.png' alt='cccp-white2.png' /></p>
<p><a href="http://cccp-project.net/">CCCP</a> is an organized collection which contains all the codecs and tools you will ever need to decode the various media formats out there.  It is recommended that you first run the <a href="http://cccp-project.net/download.php?type=cccpi">CCCP Insurgent tool</a> to verify there are no lingering codec packs on your system.  After you ensure your system is clean, install CCCP and reboot.  <strong>Do not skip the reboot step!</strong>  It&#8217;s a pain but it&#8217;s important. </p>
<p>If for some reason you do not want to use CCCP, there&#8217;s the <a href="http://www.free-codecs.com/download/K_Lite_Codec_Pack.htm">K-Lite Codec Pack</a>.  I found it does not play nearly as many files as CCCP, but it&#8217;s a good alternative.  <strong>Do not install both!</strong>  Another alternative is to install <a href="http://sourceforge.net/projects/ffdshow-tryout/">ffdshow by itself</a>.  You may not be able to play as many formats, but your system will not have a gazillion codecs installed (which some consider bloat).</p>
<p><strong>Step 3: Install TVersity</strong></p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/tversity.jpg' alt='TVersity Logo' /></p>
<p>The current version of TVersity is <a href="http://tversity.com/download/">0.9.11.4 (December 30, 2007)</a>.  TVersity is very much a work in progress.  It can crash or stop working at times but for that most part it&#8217;s the best tool out there for streaming media to the PS3.</p>
<p>TVersity consists of two components: The media server itself (which is invisible to the user) and the Flash front-end.  The front-end does not need to be running for Tversity to operate.  The media server runs as a system service.  Unfortunately, due to a bug involving permissions in 0.9.10.7 the media server Windows service needs to be tweaked to ensure proper operation.</p>
<p>Go to the Windows Services applet (from the Run&#8230; menu type &#8220;services.msc&#8221;) and in the list find the &#8220;TVersityMediaServer&#8221; service.  Double-click on it and go to the &#8220;Log On&#8221; tab and change the process to run under your Windows account as shown below:</p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/windows-service1.png' alt='Service Settings' /></p>
<p>If the service is not already started, start it.  Also insure the Startup Type is set to &#8220;Automatic&#8221;.</p>
<p>At this point TVersity should be operational.  I am not going to go into how to add your media to the server as that&#8217;s beyond the scope of this guide and it should be fairly straight forward.</p>
<p><strong>Step 4: Optimize the Transcoder</strong></p>
<p>The goal here is to optimize the transcoder to output the best possible video quality possible.  Keep in mind that this involves a great deal of horsepower and network bandwidth.  I am transcoding on a 3.2Ghz Core 2 Duo processor over a 802.11g wireless network (with an excellent connection) and have yet to hit my head on the ceiling with these settings.  Your mileage may vary and if it does you will need to scale back where appropriate, especially if dealing with HD content.</p>
<p>Start up the TVersity front-end and navigate to the Settings->Transcoder tab.</p>
<p><strong>When To Transcode?</strong></p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/trans-transcode.png' alt='Transcoder settings' /></p>
<p>This should default to &#8220;Only when needed&#8221; so keep it there.  This will allow TVersity to pass-through MPEG and AVS formats without transcoding overhead and image degradation.</p>
<p><strong>Maximum Video and Image Resolution</strong></p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/trans-resolution.png' alt='Resolution settings' /></p>
<p>This determines how the transcoder will scale (down) your media in order to conserve network bandwidth.  We want the best image possible so set both of these fields to the maximum resolution of your television.  I have a 1080p native set so I set it to 1920&#215;1080.  If you&#8217;re at 720p set it to 1280&#215;720.    The &#8220;Image resolution&#8221; boxes pertain to photos, it does not hurt to crank them all the way up as well.</p>
<p><strong>Windows Media Encoder</strong></p>
<p>TVersity uses DirectShow under the hood to do the actual media transcoding.  CCCP installs a DirectShow encoding/decoding filter called <a href="http://en.wikipedia.org/wiki/Ffdshow">ffdshow</a> which does all the magic behind the scene.  Further versions of this guide will go into optimizing ffdshow for better video quality, but let&#8217;s get everything working first.</p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/trans-encoder.png' alt='Encoder settings' /></p>
<p>Make sure the &#8220;Use DirectShow&#8230;&#8221; checkbox is checked and that the Windows Media Video version is set to &#8220;9&#8243;.   You can choose an older version of Windows Media for faster decoding but 9 produces the best image quality (at least on paper).</p>
<p><strong>Optimization</strong></p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/trans-optimize.png' alt='Optimization settings' /></p>
<p>This is a no-brainer.  Tag it for quality.</p>
<p><strong>Connection Speed and Quality</strong></p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/trans-connection1.png' alt='Connection settings' /></p>
<p>Here&#8217;s where things can get sticky.  I&#8217;m on a 802.11g connection in a small apartment and have no problem settings the connection type to &#8220;Wired&#8221; and the signal strength to &#8220;Excellent&#8221;.  If you notice network stuttering or dropouts definitely scale these settings back. </p>
<p>In my experience the PS3 does a thorough job in buffering content.  As long as your PC can encode at a pretty decent rate (2x or greater) the connection settings don&#8217;t mean much as the PS3 will buffer way ahead of what is being played, assuming your network can keep up.</p>
<p><strong>Compression</strong></p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/trans-compression.png' alt='Compression settings' /></p>
<p>By transcoding we&#8217;re essentially re-compressing and already compressed file.  This equates to a degradation of image quality.  Set compression to &#8220;Minimum&#8221;.  This is going to result in a larger file being sent over the network, but it results in better image quality at playback. </p>
<p><strong>Decoding Speed</strong></p>
<p><img src='http://weblog.bbzzdd.com/wp-content/uploads/2007/08/trans-decode.png' alt='Decoder settings' /> </p>
<p>Finally, ensure the &#8220;Decode the media as fast as possible&#8230;&#8221; box is checked.  The PS3 times out pretty quickly if the media does not load fast enough and this setting helps with that.</p>
<p><strong>Step 5: Optional Tweak</strong></p>
<p><strong>Output to MPEG2 </strong></p>
<p>In the TVersity install folder (C:\Program Files\TVersity\Media Server) find and edit the file &#8220;profiles.xml&#8221;.  Ensure you are in the &#8220;Sony Playstation 3&#8243; profile block, there should be a block of code that looks like:</p>
<p><code>&lt;!-- When transcoding is needed to which format should we transcode --&gt;<br />
&lt;transcodeTarget<br />
audio="audio/x-wav"<br />
video="video/mpeg16"<br />
photo="image/jpeg"<br />
onlineAudio="audio/mpeg"<br />
onlineVideo="video/mpeg16"<br />
onlinePhoto="image/jpeg"<br />
adjustReadStartPos="false"<br />
audioFailFutureSeek="false"<br />
videoFailFutureSeek="true" /&gt;</code></p>
<p>Change it to read:</p>
<p><code>&lt;!-- When transcoding is needed to which format should we transcode --&gt;<br />
&lt;transcodeTarget<br />
audio="audio/x-wav"<br />
video="<strong>video/mpeg2</strong>"<br />
photo="image/jpeg"<br />
onlineAudio="audio/mpeg"<br />
onlineVideo="<strong>video/mpeg2</strong>"<br />
onlinePhoto="image/jpeg"<br />
adjustReadStartPos="false"<br />
audioFailFutureSeek="false"<br />
videoFailFutureSeek="true" /&gt;</code></p>
<p>This will ensure the transcoder produces MPEG2 video as opposed to MPEG1, which results in overall better looking video.  You will need to restart the media sharing service from the TVersity front-end after making this particular change.</p>
<p><strong>Conclusion</strong></p>
<p>You should now be able to playback nearly any video file you throw at your PS3 in high-quality.  Granted, I&#8217;ve come across one or two files that refused to play (mainly video podcasts or Flash video) but for the most part I&#8217;ve been enjoying high-quality steaming media using TVersity and the PS3.  </p>
<p>If you encounter any problems be sure to check the <a href="http://forums.tversity.com/">TVersity Support Forums</a>, the <a href="http://forums.tversity.com/viewforum.php?f=28">PS3 Forum</a> in particular.</p>
<p>Part II of this guide will go into further quality optimizations including tweaking of ffdshow and profile.xml hacking.</p>
<p>Enjoy!</p>
<a href="http://weblog.bbzzdd.com/tag/hdtv" rel="tag">hdtv</a>, <a href="http://weblog.bbzzdd.com/tag/ps3" rel="tag">PS3</a>, <a href="http://weblog.bbzzdd.com/tag/tversity" rel="tag">tversity</a>]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2007/08/04/optimizing-tversity-for-the-ps3-part-i/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Ownage of the Decade</title>
		<link>http://weblog.bbzzdd.com/2007/06/26/ownage-of-the-decade/</link>
		<comments>http://weblog.bbzzdd.com/2007/06/26/ownage-of-the-decade/#comments</comments>
		<pubDate>Tue, 26 Jun 2007 23:44:55 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Apple]]></category>
<category>apple</category><category>ipod</category>
		<guid isPermaLink="false">http://weblog.bbzzdd.com/2007/06/26/ownage-of-the-decade/</guid>
		<description><![CDATA[With the iPhone launch and all, I find this to be appropriate: The BrownFury writes &#8220;At an invitation only event Apple has released their new MP3 player called the iPod. iPod is the size of a deck of cards. 2.4&#8243; wide by 4&#8243; tall by .78&#8243; thick 6.5 ounces. 5 GB HDD, 10 hr battery [...]]]></description>
			<content:encoded><![CDATA[<p>With the iPhone launch and all, I find this to be appropriate:</p>
<blockquote><p>
The BrownFury writes</p>
<blockquote><p>&#8220;At an invitation only event Apple has released their new MP3 player called the iPod. iPod is the size of a deck of cards. 2.4&#8243; wide by 4&#8243; tall by .78&#8243; thick 6.5 ounces. 5 GB HDD, 10 hr battery life, charged via FireWire. Works as a firewire drive as well. Works in conjunctions with iTunes 2. Here are Live updates&#8221;.</p></blockquote>
<p><b>No wireless. Less space than a nomad. Lame.</b></p></blockquote>
<p><a href="http://apple.slashdot.org/article.pl?sid=01/10/23/1816257&#038;tid=107">Link</a></p>
<a href="http://weblog.bbzzdd.com/tag/apple" rel="tag">apple</a>, <a href="http://weblog.bbzzdd.com/tag/ipod" rel="tag">ipod</a>]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2007/06/26/ownage-of-the-decade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I Beat the Grey Bars</title>
		<link>http://weblog.bbzzdd.com/2007/04/20/how-i-beat-the-grey-bars/</link>
		<comments>http://weblog.bbzzdd.com/2007/04/20/how-i-beat-the-grey-bars/#comments</comments>
		<pubDate>Sat, 21 Apr 2007 00:09:23 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Technology]]></category>
<category>hdtv</category><category>home theatre</category>
		<guid isPermaLink="false">http://weblog.bbzzdd.com/2007/04/20/how-i-beat-the-grey-bars/</guid>
		<description><![CDATA[Time Warner Cable provides a Scientific Atlanta 8300HD box with their hi-def package. It&#8217;s annoyed me for weeks that standard-def channels have neutral grey bars on the sides of the display with no way to change them to another color, like, say, black. I came across a rather inelegant solution, but it works and it [...]]]></description>
			<content:encoded><![CDATA[<p>Time Warner Cable provides a <a href="http://www.scientificatlanta.com/products/consumers/new_explorer8300HD.htm">Scientific Atlanta 8300HD</a> box with their hi-def package.  It&#8217;s annoyed me for weeks that standard-def channels have neutral grey bars on the sides of the display with no way to change them to another color, like, say, black.</p>
<p>I came across a rather inelegant solution, but it works and it beats looking at the annoying grey bars.</p>
<p>1) Tell the cable box to stretch the 4:3 image to 16:9 (press the # key to select &#8220;Stretch picture&#8221; setting).</p>
<p>2) Tell your TV to display the image in 4:3 (thus de-stretching the image). This will squish the image back to 4:3 but this time with black bars.  Some sets do this differently than others so check your manual if you have to.   Lucky for me this setting sticks for 4:3 stretched, but does not attempt to squish legit 16:9 content so I don&#8217;t have to switch back and forth as I change between SD and HD.</p>
<p>I doesn&#8217;t seem visibly effect the picture, but at 46&#8243;, SD looks horrible pretty much no matter what.</p>
<p>I understand why Time Warner gimped the box by disabling the ability to set the color of the bars (other cable providers allow this functionality on the same box).  The phosphors in plasma displays could retain the black side bars thus discoloring the display.  The color neutral grey consists of equal bars of red, green, and blue at 50% brightness thus all phosphors get equal work out.  At least that&#8217;s my theory, and it sounds better than, Time Warner are simply idiots.   Sucks for those of us with LCDs who need not worry about burn in and image retention.</p>
<a href="http://weblog.bbzzdd.com/tag/hdtv" rel="tag">hdtv</a>, <a href="http://weblog.bbzzdd.com/tag/home-theatre" rel="tag">home theatre</a>]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2007/04/20/how-i-beat-the-grey-bars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Greatest Slashdot Comment Ever</title>
		<link>http://weblog.bbzzdd.com/2007/03/14/greatest-slashdot-comment-ever/</link>
		<comments>http://weblog.bbzzdd.com/2007/03/14/greatest-slashdot-comment-ever/#comments</comments>
		<pubDate>Wed, 14 Mar 2007 15:24:32 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Technology]]></category>
<category>nerds</category><category>slashdot</category>
		<guid isPermaLink="false">http://www.bbzzdd.com/wordpress/?p=69</guid>
		<description><![CDATA[Sums up the whole ball of wax, IMO. If you weren&#8217;t aware of it before, you probably know it by now. Anything interesting or useful that rears its head on Slashdot will likely be ripped to shreds by what has quickly become the nets most vicious and petty peanut gallery. Slashdottians know nothing, they accomplish [...]]]></description>
			<content:encoded><![CDATA[<p>Sums up the whole ball of wax, IMO.</p>
<blockquote><p>
If you weren&#8217;t aware of it before, you probably know it by now. Anything interesting or useful that rears its head on Slashdot will likely be ripped to shreds by what has quickly become the nets most vicious and petty peanut gallery.</p>
<p>Slashdottians know nothing, they accomplish nothing, and their opinions are worth nothing. They are uniformly bitter, small-minded geeks who overestimate their own importance and their own skillz. They are, for the most part, losers. Their biggest accomplishment is in insulting others&#8217; spelling and grammar, attacking the GPL license despite their grade level understanding of it, and tricking people into clicking on goatse.cx links. They are know-it-all blowhards who use their computers primarily for Pornography and online gaming, at which they cheat regularly to offset their complete lack of motor skills.</p>
<p>Despite touting the wonderous greatness of linux and open source, they all use Windows and Internet Explorer. They like Macs because of OSX, but want it to run on X86 so they can steal a copy and give nothing back. They will eventually buy a Mac due to their inability to run Windows without crashing it constantly by their own stupidity, and become raving unbalanced lunatics who do more harm than good for the Mac community by claiming that the G4 is quadruple the speed of a dual 3Ghz Xeon box.</p>
<p>They lie about their own experience to make their case, and when you win an argument with them, they post anonymously in order to tell you they&#8217;ve had sex with your mother.</p>
<p>Don&#8217;t become a regular here, you will become retarded.</p>
<p>Signed,<br />
Yoda the Retard
</p></blockquote>
<p><a href="http://apple.slashdot.org/comments.pl?sid=44091&#038;cid=4592270">Link</a></p>
<a href="http://weblog.bbzzdd.com/tag/nerds" rel="tag">nerds</a>, <a href="http://weblog.bbzzdd.com/tag/slashdot" rel="tag">slashdot</a>]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2007/03/14/greatest-slashdot-comment-ever/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Secure Remote Desktop Access Over SSH</title>
		<link>http://weblog.bbzzdd.com/2006/07/09/secure-remote-desktop-access-over-ssh/</link>
		<comments>http://weblog.bbzzdd.com/2006/07/09/secure-remote-desktop-access-over-ssh/#comments</comments>
		<pubDate>Sun, 09 Jul 2006 20:02:16 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Technology]]></category>
<category>dd wrt</category><category>remote desktop</category><category>ssh</category>
		<guid isPermaLink="false">http://www.bbzzdd.com/wordpress/?p=51</guid>
		<description><![CDATA[Remote Desktop is an excellent tool for accessing Windows machines across locations. While there have not been many security exploits involving RD, I do not feel comfortable leaving the service directly open to the internet. Also, many corporate internal firewalls restrict outbound traffic to a handful of ports, and in my experience port 3389 which [...]]]></description>
			<content:encoded><![CDATA[<p>Remote Desktop is an excellent tool for accessing Windows machines across locations.  While there have not been many security exploits involving RD, I do not feel comfortable leaving the service directly open to the internet.  Also, many corporate internal firewalls restrict outbound traffic to a handful of ports, and in my experience port 3389 which RD runs on is often blocked.</p>
<p>I&#8217;ve come up with a simple method of accessing a Remote Desktop machine over SSH which buys A) Port 3389 is no longer open &#8220;to the wild&#8221; on the host machine B) If port 3389 is blocked outbound on the client&#8217;s network, Remote Desktop will still be accessible if the common port 22 (SSH) is available.</p>
<p>All that is needed for this method is an SSH server either running on the host machine or on its local network.  If you&#8217;re using a Linksys router <a href="http://www.dd-wrt.com">DD-WRT</a> may be an option as it offers a full SSH server that runs right on your router.  In this example I will be using DD-WRT, but any SSH server will work.</p>
<p><strong>Step 1)</strong> Enable the remote access SSH service under Administration->Management in the DD-WRT configuration:</p>
<p><img alt="1-remote-access.png" src="http://weblog.bbzzdd.com/archives/media/1-remote-access.png" width="668" height="165" /></p>
<p><strong>Step 2)</strong> You must also enable the Secure Shell service under Administration->Services:</p>
<p><img alt="2-services.png" src="http://weblog.bbzzdd.com/archives/media/2-services.png" width="672" height="199" /></p>
<p>I <strong>strongly</strong> suggest disallowing password login and instead use the <a href="http://www.puddingonline.com/~dave/publications/SSH-with-Keys-HOWTO/document/html/SSH-with-Keys-HOWTO-5.html">authorized keys method with a strong passphrase</a>.</p>
<p><strong>Step 3)</strong> At this point the host-end is set up.  Ensure the router has access to the machine running Remote Desktop by pinging it from the router&#8217;s shell.  In this case the host machine is at 192.16.1.100 on the internal LAN:</p>
<p><img alt="3-ping.png" src="http://weblog.bbzzdd.com/archives/media/3-ping.png" width="652" height="255" />
</p>
<p>You&#8217;ll need a SSH client on the client-side.  For Windows <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a> is the best game in town.  The key here is to set up access to your host and tunnel a local port through SSH to the host&#8217;s Remote Desktop service.  With PuTTY it&#8217;s just a couple of settings.</p>
<p><strong>Step 4)</strong> Add the remote router or SSH server IP address to the Session settings:</p>
<p><img alt="4-setup-host.png" src="http://weblog.bbzzdd.com/archives/media/4-setup-host.png" width="566" height="535" /></p>
<p><strong>Step 5)</strong> Configure the tunnel under Connection->SSH->Tunnels:</p>
<p><img alt="5-setup-tunnel.png" src="http://weblog.bbzzdd.com/archives/media/5-setup-tunnel.png" width="566" height="535" /></p>
<p>What&#8217;s important here is to pick an open port on your local computer because we are going to point Remote Desktop at that port.  Under Windows XP Pro port 3389 is already taken by the local Remote Desktop service, so in this instance the port we use is 3390.</p>
<p>The destination is the <strong>internal</strong> IP or hostname of the host as it is known to the machine running the SSH server (in this case 192.168.1.100).  The destination port will is 3389 (the listening RD service on the remote host).</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6905362763277141";
/* 728x90, created 11/15/10 */
google_ad_slot = "3752603213";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>Step 6)</strong> Connect to the host with SSH and login.  At this point if everything is working correctly you should have a Remote Desktop port live on the client PC on port 3390.  That port is being tunneled securely over SSH to the SSH server and forwarded on to the host machine.  <strong>Keep the PuTTY session open</strong> or you will shutdown the tunnel.</p>
<p><strong>Step 7)</strong> Time to test things out.  Start the Remote Desktop Connection client and point to localhost:3390.</p>
<p><img alt="6-remote-desktop.png" src="http://weblog.bbzzdd.com/archives/media/6-remote-desktop.png" width="546" height="217" /></p>
<p>If all was configured correctly you should pop into a Remote Desktop session on the host computer.  The speed is snappy enough for me on a 45KB/s connection with all the bells &#038; whistles turned on, even with the additional encryption overhead.</p>
<p>Enjoy!</p>
<a href="http://weblog.bbzzdd.com/tag/dd-wrt" rel="tag">dd wrt</a>, <a href="http://weblog.bbzzdd.com/tag/remote-desktop" rel="tag">remote desktop</a>, <a href="http://weblog.bbzzdd.com/tag/ssh" rel="tag">ssh</a>]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2006/07/09/secure-remote-desktop-access-over-ssh/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Phantom Drive</title>
		<link>http://weblog.bbzzdd.com/2005/08/04/phantom-drive/</link>
		<comments>http://weblog.bbzzdd.com/2005/08/04/phantom-drive/#comments</comments>
		<pubDate>Thu, 04 Aug 2005 12:41:37 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.bbzzdd.com/wordpress/?p=13</guid>
		<description><![CDATA[Trying to help anyone Googling for this&#8230; I noticed an extra CD/DVD ROM listed on my XP system. Device manager listed it as &#8220;AVX CD/DVD ROM&#8221; but there was no physical drive associated with it. Removing it from the device manager only restored it at startup. Turns out it is an artifact of an Alcohol [...]]]></description>
			<content:encoded><![CDATA[<p>Trying to help anyone Googling for this&#8230;</p>
<p>I noticed an extra CD/DVD ROM listed on my XP system.  Device manager listed it as &#8220;AVX CD/DVD ROM&#8221; but there was no physical drive associated with it.  Removing it from the device manager only restored it at startup.</p>
<p>Turns out it is an artifact of an <a href="http://www.alcohol-software.com/">Alcohol 120%</a> install.  The software does a lousy job cleaning up after an uninstall.</p>
<p>The cleanup is easy:</p>
<ol>
<li>In Device Manager->SCSI and RAID controllers, uninstall a device called &#8220;A347SCSI SCSI Controller,&#8221; the phantom CD/DVD will disappear.</li>
<li>It will return again at startup if you don&#8217;t delete the drivers.  Delete the files &#8220;a347scsi.sys&#8221; and &#8220;a347bus.sys&#8221; from c:\windows\system32\drivers.</li>
<li>Reboot</li>
</ol>
<p>Hope this helps someone, because it was pissing me off.</p>
<p>If you want virtual drives without paying for Alcohol 120% just download <a href="http://www.daemon-tools.cc">DAEMON Tools</a>.  It&#8217;s free and a much lighter install.</p>
No Tags]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2005/08/04/phantom-drive/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>External Disk for Windows, OS X, and  Linux</title>
		<link>http://weblog.bbzzdd.com/2005/07/27/external-disk-for-windows-os-x-and-linux/</link>
		<comments>http://weblog.bbzzdd.com/2005/07/27/external-disk-for-windows-os-x-and-linux/#comments</comments>
		<pubDate>Wed, 27 Jul 2005 13:09:41 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.bbzzdd.com/wordpress/?p=7</guid>
		<description><![CDATA[I wanted to use my external Firewire drive on all my systems. I found that formatting the whole thing for FAT32 was not the answer. The best solution I came across was to make two partitions, one FAT32 and the other HFS+. Windows can read FAT32, OSX and Linux can read both. Super. The best [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to use my external Firewire drive on all my systems.  I found that formatting the whole thing for FAT32 was not the answer.  The best solution I came across was to make two partitions, one FAT32 and the other HFS+.  Windows can read FAT32, OSX and Linux can read both.  Super.</p>
<p>The best way to do it is under OS X (10.4.2 in my case) using <code>diskutil</code>.  My drive is 160GB, so I did a 100GB FAT32 partition and a ~60GB HFS+ partition.  It&#8217;s as easy as:</p>
<p><code>diskutil partitionDisk disk2 2 MBRFormat MS-DOS FAT_VOL 100G HFS+ MAC_VOL 60G</code></p>
<p>Diskutil will figure out the change on the 60GB partition if you go over the free amount (it came to something like 55G).</p>
<p>You need the <code>MBRFormat</code> parameter if you want Windows to be able to read the FAT32 partition.  If in doubt check the <a href="http://www.hmug.org/man/8/diskutil.php">man page</a>.</p>
<p>Using either disk under Linux 2.6.x is as easy as:</p>
<p><code>mount -t vfat /dev/sda1 /mnt/exthd1/<br />
mount -t hfsplus /dev/sda2 /mnt/exthd2/</code></p>
<p>You need the vfat and hfsplus modules compiled for this to work of course.  Check my <a href="http://weblog.bbzzdd.com/archives/2005/07/impossible.html">Linux 1394 guide</a> for getting the disk to work under Linux.</p>
No Tags]]></content:encoded>
			<wfw:commentRss>http://weblog.bbzzdd.com/2005/07/27/external-disk-for-windows-os-x-and-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

